芜湖尾敢投资有限公司

國產(chǎn)開源工具:U盤啟動(dòng)工具Ventoy——墨澀網(wǎng)

Ventoy是一個(gè)制作可啟動(dòng)U盤的開源工具。有了Ventoy你就無需反復(fù)地格式化U盤,你只需要把ISO文件拷貝到U盤里面就可以啟動(dòng)了,無需其他操作。 你可以一次性拷貝很多個(gè)不同類型的ISO文件,在啟動(dòng)時(shí)Ventoy會(huì)顯示一個(gè)菜單來選擇。?無差異支持Legacy BIOS和UEFI模式。目前已經(jīng)測試了各類超過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)來訪問硬件,因此這個(gè)虛擬設(shè)備對(duì)于內(nèi)核來說是不可見的。 一般情況下,ISO里面的系統(tǒng)起來之后會(huì)遍歷所有的硬件設(shè)備(CDROM/USB/HD ...) 去尋找安裝源。 但是在Ventoy啟動(dòng)的環(huán)境下是找不到的,因?yàn)闆]有這樣一個(gè)實(shí)際的安裝介質(zhì),是虛擬的設(shè)備嘛。但是系統(tǒng)內(nèi)核不知道這個(gè)情況,它們不知道當(dāng)前是 Ventoy使用虛擬設(shè)備引導(dǎo)起來的,并不是傳統(tǒng)的物理光驅(qū)或者U盤引導(dǎo)起來的。所以,如果不做特殊處理的話,大部分ISO文件啟動(dòng)以后就會(huì)報(bào)找不到安裝源的錯(cuò)誤而停止。 因此,Ventoy必須做很多hook的工作,幫助內(nèi)核找到、掛載安裝源。其實(shí)就是告訴內(nèi)核,當(dāng)前是Ventoy從一個(gè)虛擬的設(shè)備引導(dǎo)起來的,你的安裝源并不在常規(guī)的介質(zhì)中,而是在XX硬盤的XXX.iso文件, 你把它掛載起來當(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)而來的。 這樣,系統(tǒng)就可以直接去找到對(duì)應(yīng)的ISO文件,掛載起來作為安裝源就可以了。不需要再用常規(guī)的方式去尋找。 當(dāng)然,如果是常規(guī)方式啟動(dòng)起來的,系統(tǒng)下調(diào)用這個(gè)工具是獲取不到任何數(shù)據(jù)的,這種情況下就按照常規(guī)的啟動(dòng)步驟往下走就可以了。
因此,如果ISO里面的系統(tǒng)集成了這個(gè)工具,并且做了上述處理的話,對(duì)于Ventoy就很簡單了,只需要做好這個(gè)虛擬設(shè)備就可以了,不用再費(fèi)力做那些hook工作了。 另一方面,還有一個(gè)問題就是,就算ISO里面的系統(tǒng)做了這些工作,Ventoy怎么知道呢?因此Ventoy提供了幾種方式讓ISO文件來標(biāo)識(shí)自己。

我把集成了這個(gè)工具并且做了上述處理的操作系統(tǒng)或者ISO文件稱之為?"Ventoy Compatible"?的。

Ventoy 特點(diǎn)

  • 100% 開源?(許可證)
  • 使用簡單?(使用說明)
  • 快速 (拷貝文件有多快就有多快)
  • 直接從ISO文件啟動(dòng),無需解開
  • 無差異支持Legacy + UEFI 模式
  • UEFI 模式支持安全啟動(dòng) (Secure Boot) (1.0.07版本開始)?說明
  • 支持超過4GB的ISO文件
  • 保留ISO原始的啟動(dòng)菜單風(fēng)格(Legacy & UEFI)
  • 支持大部分常見操作系統(tǒng), 已測試200+ 個(gè)ISO文件
  • 不僅僅是啟動(dòng),而是完整的安裝過程
  • ISO文件支持列表模式或目錄樹模式顯示?說明
  • 提出 "Ventoy Compatible" 概念
  • 支持插件擴(kuò)展
  • 支持自動(dòng)安裝部署(1.0.09+)?說明
  • 啟動(dòng)過程中支持U盤設(shè)置寫保護(hù)
  • 不影響U盤日常普通使用
  • 版本升級(jí)時(shí)數(shù)據(jù)不會(huì)丟失
  • 無需跟隨操作系統(tǒng)升級(jí)而升級(jí)Ventoy

使用說明

  • Windows系統(tǒng)安裝 Ventoy

下載安裝包,例如 ventoy-1.0.00-windows.zip 然后解壓開。
直接執(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, 然后解壓開.
在終端以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到磁盤中,(不管原來有沒有安裝過)
    -u   升級(jí)磁盤中的ventoy版本

針對(duì)Linux系統(tǒng)有幾點(diǎn)需要特殊說明一下:
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í)。
需要說明的是,升級(jí)操作是安全的,不會(huì)影響原有的ISO文件

更新日志

  • 2020/05/09 --- 1.0.09 release

? 1. Add multi-language framework for Ventoy2Disk.exe
2. Add a new feature for auto installation (Windows/RHEL/CentOS/Debian/SUSE series supported), see?Notes
3. Add an option for Secure Boot in Ventoy2Disk.exe/Ventoy2Disk.sh, and default is not checked.
4. fixe bug for eset_sysrescue_live_enu.iso
5. Optimization process for CentOS7/ArchLinux and distros based on them
6. New iso support

  • archlabs-2020.03.02-beta.iso (Legacy + UEFI)
  • GoboLinux-017_beta-x86_64.iso (Legacy + UEFI)
  • ZStack-x86_64-DVD-3.8.4-c76.iso (Legacy + UEFI)
  • Porteus-CINNAMON-v4.0-x86_64.iso (Legacy)
  • NuTyX_x86_64-JWM-20200504.iso (Legacy + UEFI)
  • pentoo-full-amd64-hardened-2019.1.iso (Legacy + UEFI)
  • robolinux64-cinnamon-v10.9.iso (Legacy)
  • firmware-10.3.0-amd64-netinst.iso (Legacy)

下載地址

https://www.ventoy.net/cn/download.html

https://github.com/ventoy/Ventoy/releases

https://gitee.com/longpanda/Ventoy/releases/

https://ventoy.lanzous.com/b01bd54gb

THE END