Ventoy是一個(gè)制作可啟動(dòng)U盤的開(kāi)源工具。有了Ventoy你就無(wú)需反復(fù)地格式化U盤,你只需要把ISO文件拷貝到U盤里面就可以啟動(dòng)了,無(wú)需其他操作。 你可以一次性拷貝很多個(gè)不同類型的ISO文件,在啟動(dòng)時(shí)Ventoy會(huì)顯示一個(gè)菜單來(lái)選擇。?無(wú)差異支持Legacy BIOS和UEFI模式。目前已經(jīng)測(cè)試了各類超過(guò)200+ 個(gè)ISO文件,
背景介紹
從相關(guān)文檔中可以知道,Ventoy在啟動(dòng)時(shí)會(huì)基于ISO文件創(chuàng)建一個(gè)虛擬設(shè)備然后啟動(dòng)它。 但是這個(gè)虛擬設(shè)備僅僅是BIOS層面的(Legacy或者UEFI)。大多數(shù)情況下它只在啟動(dòng)階段存在。 絕大多數(shù)現(xiàn)代操作系統(tǒng)的內(nèi)核在啟動(dòng)之后都是使用它們自身的驅(qū)動(dòng)來(lái)訪問(wèn)硬件,因此這個(gè)虛擬設(shè)備對(duì)于內(nèi)核來(lái)說(shuō)是不可見(jiàn)的。 一般情況下,ISO里面的系統(tǒng)起來(lái)之后會(huì)遍歷所有的硬件設(shè)備(CDROM/USB/HD …) 去尋找安裝源。 但是在Ventoy啟動(dòng)的環(huán)境下是找不到的,因?yàn)闆](méi)有這樣一個(gè)實(shí)際的安裝介質(zhì),是虛擬的設(shè)備嘛。但是系統(tǒng)內(nèi)核不知道這個(gè)情況,它們不知道當(dāng)前是 Ventoy使用虛擬設(shè)備引導(dǎo)起來(lái)的,并不是傳統(tǒng)的物理光驅(qū)或者U盤引導(dǎo)起來(lái)的。所以,如果不做特殊處理的話,大部分ISO文件啟動(dòng)以后就會(huì)報(bào)找不到安裝源的錯(cuò)誤而停止。 因此,Ventoy必須做很多hook的工作,幫助內(nèi)核找到、掛載安裝源。其實(shí)就是告訴內(nèi)核,當(dāng)前是Ventoy從一個(gè)虛擬的設(shè)備引導(dǎo)起來(lái)的,你的安裝源并不在常規(guī)的介質(zhì)中,而是在XX硬盤的XXX.iso文件, 你把它掛載起來(lái)當(dāng)做安裝源就可以啦。。。。。 但是這個(gè)hook工作是非??菰锒衣闊┑?,因?yàn)橄到y(tǒng)種類實(shí)在太多而且有各種各樣的特殊情況。
Ventoy Compatible 概念
實(shí)際上,Ventoy在啟動(dòng)之前,把相關(guān)的信息都保存在了運(yùn)行時(shí)內(nèi)存中(保留內(nèi)存段),同時(shí)還提供了一個(gè)工具可以在系統(tǒng)下獲取這些信息。 這樣,操作系統(tǒng)調(diào)用一下這個(gè)工具就可以知道,當(dāng)前是Ventoy環(huán)境啟動(dòng)的,而且還能詳細(xì)知道是基于哪個(gè)磁盤的哪個(gè)ISO文件啟動(dòng)而來(lái)的。 這樣,系統(tǒng)就可以直接去找到對(duì)應(yīng)的ISO文件,掛載起來(lái)作為安裝源就可以了。不需要再用常規(guī)的方式去尋找。 當(dāng)然,如果是常規(guī)方式啟動(dòng)起來(lái)的,系統(tǒng)下調(diào)用這個(gè)工具是獲取不到任何數(shù)據(jù)的,這種情況下就按照常規(guī)的啟動(dòng)步驟往下走就可以了。
因此,如果ISO里面的系統(tǒng)集成了這個(gè)工具,并且做了上述處理的話,對(duì)于Ventoy就很簡(jiǎn)單了,只需要做好這個(gè)虛擬設(shè)備就可以了,不用再費(fèi)力做那些hook工作了。 另一方面,還有一個(gè)問(wèn)題就是,就算ISO里面的系統(tǒng)做了這些工作,Ventoy怎么知道呢?因此Ventoy提供了幾種方式讓ISO文件來(lái)標(biāo)識(shí)自己。
我把集成了這個(gè)工具并且做了上述處理的操作系統(tǒng)或者ISO文件稱之為?“Ventoy Compatible”?的。
Ventoy 特點(diǎn)
- 100% 開(kāi)源?(許可證)
- 使用簡(jiǎn)單?(使用說(shuō)明)
- 快速 (拷貝文件有多快就有多快)
- 直接從ISO文件啟動(dòng),無(wú)需解開(kāi)
- 無(wú)差異支持Legacy + UEFI 模式
- UEFI 模式支持安全啟動(dòng) (Secure Boot) (1.0.07版本開(kāi)始)?說(shuō)明
- 支持超過(guò)4GB的ISO文件
- 保留ISO原始的啟動(dòng)菜單風(fēng)格(Legacy & UEFI)
- 支持大部分常見(jiàn)操作系統(tǒng), 已測(cè)試200+ 個(gè)ISO文件
- 不僅僅是啟動(dòng),而是完整的安裝過(guò)程
- ISO文件支持列表模式或目錄樹(shù)模式顯示?說(shuō)明
- 提出 “Ventoy Compatible” 概念
- 支持插件擴(kuò)展
- 支持自動(dòng)安裝部署(1.0.09+)?說(shuō)明
- 啟動(dòng)過(guò)程中支持U盤設(shè)置寫保護(hù)
- 不影響U盤日常普通使用
- 版本升級(jí)時(shí)數(shù)據(jù)不會(huì)丟失
- 無(wú)需跟隨操作系統(tǒng)升級(jí)而升級(jí)Ventoy
使用說(shuō)明
-
Windows系統(tǒng)安裝 Ventoy
下載安裝包,例如 ventoy-1.0.00-windows.zip 然后解壓開(kāi)。
直接執(zhí)行?Ventoy2Disk.exe
?如下圖所示,選擇U盤設(shè)備,然后點(diǎn)擊 Install 按鈕即可。
安裝包內(nèi) Ventoy 版本:當(dāng)前安裝包中的Ventoy版本號(hào)
設(shè)備內(nèi)部 Ventoy 版本:U盤中已安裝的Ventoy版本號(hào),如果為空則表示未安裝
安裝:把Ventoy安裝到U盤,只有第一次的時(shí)候需要,其他情況就只需要Update升級(jí)即可
升級(jí):升級(jí)U盤中的Ventoy版本,升級(jí)不會(huì)影響ISO文件
-
Linux系統(tǒng)安裝 Ventoy
下載安裝包,例如 ventoy-1.0.00-linux.tar.gz, 然后解壓開(kāi).
在終端以root權(quán)限執(zhí)行?sh Ventoy2Disk.sh -i /dev/XXX?
? 其中 /dev/XXX 是U盤對(duì)應(yīng)的設(shè)備名,比如 /dev/sdb
Ventoy2Disk.sh 選項(xiàng) /dev/XXX 選項(xiàng)含義: -i 安裝ventoy到磁盤中 (如果對(duì)應(yīng)磁盤已經(jīng)安裝了ventoy則會(huì)返回失敗) -I 強(qiáng)制安裝ventoy到磁盤中,(不管原來(lái)有沒(méi)有安裝過(guò)) -u 升級(jí)磁盤中的ventoy版本
針對(duì)Linux系統(tǒng)有幾點(diǎn)需要特殊說(shuō)明一下:
1. 執(zhí)行腳本時(shí)需要有root權(quán)限, 對(duì)一些系統(tǒng)比如ubuntu/deepin 執(zhí)行的時(shí)候需要在前面加 sudo 比如?sudo sh Ventoy2Disk.sh -i /dev/sdb
2. 必須cd到ventoy解壓之后的目錄下執(zhí)行此腳本
3. 請(qǐng)務(wù)必輸入正確的設(shè)備名稱,ventoy不會(huì)檢查你輸入的設(shè)備是U盤還是本地硬盤,如果輸錯(cuò)了有可能會(huì)把你的系統(tǒng)盤格式化掉哦!
請(qǐng)注意:選擇安裝的時(shí)候,U盤將會(huì)被格式化,里面所有的數(shù)據(jù)都會(huì)丟失!
你只需要安裝一次Ventoy即可,剩下的就只需要把各種ISO文件拷貝到U盤中就可以了.
你也可以把它當(dāng)成普通U盤使用,保存普通文件,不會(huì)影響Ventoy的功能。
-
拷貝ISO文件
安裝完成之后,U盤會(huì)被分成兩個(gè)區(qū)。第一個(gè)分區(qū)將會(huì)被格式化為exFAT文件系統(tǒng),你只需要把ISO文件拷貝到這里面即可。你可以把ISO文件放在任意目錄以及子目錄下。 Ventoy會(huì)遍歷所有的目錄和子目錄,找出所有的ISO文件,并按照字母排序之后顯示在菜單中。
請(qǐng)注意:ISO文件的全路徑中(包括目錄、子目錄和文件名)不能包含中文或者空格
-
升級(jí) Ventoy
如果Ventoy發(fā)布了新版本之后,你可以點(diǎn)擊 Update 按鈕進(jìn)行升級(jí),或者Linux系統(tǒng)中使用 -u 選項(xiàng)進(jìn)行升級(jí)。
需要說(shuō)明的是,升級(jí)操作是安全的,不會(huì)影響原有的ISO文件
更新日志
- 2023/04/05 --- 1.0.91 發(fā)布
- 新增支持 FreeBSD 14-CURRENT。
- 修復(fù)了啟動(dòng) Bliss OS 15.x 時(shí)的BUG。(#2329)
- 修復(fù)了當(dāng)Ventoy為NTFS格式時(shí),啟動(dòng) Fedora 時(shí)的一個(gè)BUG。(#2333)
- 新增對(duì)簇大小超過(guò)64KB的NTFS文件系統(tǒng)的識(shí)別。
- 改進(jìn) Legacy BIOS 下 grub2 啟動(dòng)模式的處理流程。
- languages.json 更新