启动不起来_国产开源工具:U盘启动工具Ventoy v1.0.29发布——墨涩网
Ventoy是一個制作可啟動U盤的開源工具。有了Ventoy你就無需反復地格式化U盤,你只需要把ISO文件拷貝到U盤里面就可以啟動了,無需其他操作。你可以一次性拷貝很多個不同類型的ISO文件,在啟動時Ventoy會顯示一個菜單來選擇。?無差異支持Legacy BIOS和UEFI模式。目前已經測試了各類超過200+ 個ISO文件,
背景介紹
從相關文檔中可以知道,Ventoy在啟動時會基于ISO文件創建一個虛擬設備然后啟動它。但是這個虛擬設備僅僅是BIOS層面的(Legacy或者UEFI)。大多數情況下它只在啟動階段存在。絕大多數現代操作系統的內核在啟動之后都是使用它們自身的驅動來訪問硬件,因此這個虛擬設備對于內核來說是不可見的。一般情況下,ISO里面的系統起來之后會遍歷所有的硬件設備(CDROM/USB/HD …) 去尋找安裝源。但是在Ventoy啟動的環境下是找不到的,因為沒有這樣一個實際的安裝介質,是虛擬的設備嘛。但是系統內核不知道這個情況,它們不知道當前是 Ventoy使用虛擬設備引導起來的,并不是傳統的物理光驅或者U盤引導起來的。所以,如果不做特殊處理的話,大部分ISO文件啟動以后就會報找不到安裝源的錯誤而停止。因此,Ventoy必須做很多hook的工作,幫助內核找到、掛載安裝源。其實就是告訴內核,當前是Ventoy從一個虛擬的設備引導起來的,你的安裝源并不在常規的介質中,而是在XX硬盤的XXX.iso文件, 你把它掛載起來當做安裝源就可以啦。。。。。但是這個hook工作是非常枯燥而且麻煩的,因為系統種類實在太多而且有各種各樣的特殊情況。
Ventoy Compatible 概念
實際上,Ventoy在啟動之前,把相關的信息都保存在了運行時內存中(保留內存段),同時還提供了一個工具可以在系統下獲取這些信息。這樣,操作系統調用一下這個工具就可以知道,當前是Ventoy環境啟動的,而且還能詳細知道是基于哪個磁盤的哪個ISO文件啟動而來的。這樣,系統就可以直接去找到對應的ISO文件,掛載起來作為安裝源就可以了。不需要再用常規的方式去尋找。當然,如果是常規方式啟動起來的,系統下調用這個工具是獲取不到任何數據的,這種情況下就按照常規的啟動步驟往下走就可以了。
因此,如果ISO里面的系統集成了這個工具,并且做了上述處理的話,對于Ventoy就很簡單了,只需要做好這個虛擬設備就可以了,不用再費力做那些hook工作了。另一方面,還有一個問題就是,就算ISO里面的系統做了這些工作,Ventoy怎么知道呢?因此Ventoy提供了幾種方式讓ISO文件來標識自己。
我把集成了這個工具并且做了上述處理的操作系統或者ISO文件稱之為?“Ventoy Compatible”?的。
Ventoy 特點
100% 開源?(許可證)
使用簡單?(使用說明)
快速 (拷貝文件有多快就有多快)
直接從ISO文件啟動,無需解開
無差異支持Legacy + UEFI 模式
UEFI 模式支持安全啟動 (Secure Boot) (1.0.07版本開始)?說明
支持超過4GB的ISO文件
保留ISO原始的啟動菜單風格(Legacy & UEFI)
支持大部分常見操作系統, 已測試200+ 個ISO文件
不僅僅是啟動,而是完整的安裝過程
ISO文件支持列表模式或目錄樹模式顯示?說明
提出 “Ventoy Compatible” 概念
支持插件擴展
支持自動安裝部署(1.0.09+)?說明
啟動過程中支持U盤設置寫保護
不影響U盤日常普通使用
版本升級時數據不會丟失
無需跟隨操作系統升級而升級Ventoy
使用說明
Windows系統安裝 Ventoy
下載安裝包,例如 ventoy-1.0.00-windows.zip 然后解壓開。
直接執行?Ventoy2Disk.exe?如下圖所示,選擇U盤設備,然后點擊 Install 按鈕即可。
安裝包內 Ventoy 版本:當前安裝包中的Ventoy版本號
設備內部 Ventoy 版本:U盤中已安裝的Ventoy版本號,如果為空則表示未安裝
安裝:把Ventoy安裝到U盤,只有第一次的時候需要,其他情況就只需要Update升級即可
升級:升級U盤中的Ventoy版本,升級不會影響ISO文件
Linux系統安裝 Ventoy
下載安裝包,例如 ventoy-1.0.00-linux.tar.gz, 然后解壓開.
在終端以root權限執行?sh Ventoy2Disk.sh -i /dev/XXX?? 其中 /dev/XXX 是U盤對應的設備名,比如 /dev/sdb
選項含義:
-i 安裝ventoy到磁盤中 (如果對應磁盤已經安裝了ventoy則會返回失敗)
-I 強制安裝ventoy到磁盤中,(不管原來有沒有安裝過)
-u 升級磁盤中的ventoy版本
針對Linux系統有幾點需要特殊說明一下:
1. 執行腳本時需要有root權限, 對一些系統比如ubuntu/deepin 執行的時候需要在前面加 sudo 比如?sudo sh Ventoy2Disk.sh -i /dev/sdb
2. 必須cd到ventoy解壓之后的目錄下執行此腳本
3. 請務必輸入正確的設備名稱,ventoy不會檢查你輸入的設備是U盤還是本地硬盤,如果輸錯了有可能會把你的系統盤格式化掉哦!
請注意:選擇安裝的時候,U盤將會被格式化,里面所有的數據都會丟失!
你只需要安裝一次Ventoy即可,剩下的就只需要把各種ISO文件拷貝到U盤中就可以了.
你也可以把它當成普通U盤使用,保存普通文件,不會影響Ventoy的功能。
拷貝ISO文件
安裝完成之后,U盤會被分成兩個區。第一個分區將會被格式化為exFAT文件系統,你只需要把ISO文件拷貝到這里面即可。你可以把ISO文件放在任意目錄以及子目錄下。Ventoy會遍歷所有的目錄和子目錄,找出所有的ISO文件,并按照字母排序之后顯示在菜單中。
請注意:ISO文件的全路徑中(包括目錄、子目錄和文件名)不能包含中文或者空格
升級 Ventoy
如果Ventoy發布了新版本之后,你可以點擊 Update 按鈕進行升級,或者Linux系統中使用 -u 選項進行升級。
需要說明的是,升級操作是安全的,不會影響原有的ISO文件
更新日志
2020/11/19 --- 1.0.29 發布
支持中文文件名(準確來講是包括空格及其他Unicode字符,如中文、日文、韓文、特殊字符等等)
新增?Driver Update Disk (DUD)?插件。詳見?說明
搜索 bootx64.efi 時跳過 Ventoy EFI 分區 (issue #592)
當啟動一個不可啟動的WIM文件時彈出一個提示信息。
Ventoy2Disk.sh 中新增?-l?命令,用來顯示U盤中的 Ventoy 版本信息。
2020/11/14 --- 1.0.28 發布
在 Ventoy2Disk.sh 中新增?-L?選項,用來設置第1個分區的卷標 (默認是 ventoy)
擴展了?VTOY_DEFAULT_IMAGE?選項(比如?F4>Search and boot Windows)。?說明
Kaspersky Rescue Disk?持久化支持。?說明
禁止 Ventoy 在非標準環境下啟動。?說明
vtoyboot-1.0.5?發布。?說明
新增 ISO 支持
siduction-patience-nox-amd64-latest.iso (Legacy + UEFI)
tails-amd64-4.12.iso (Legacy + UEFI)
下載地址
https://github.com/ventoy/Ventoy/releases
https://gitee.com/longpanda/Ventoy/releases/
https://www.lanzoux.com/b01bd54gb?或?https://www.lanzous.com/b01bd54gb(藍奏云)
https://cloud.189.cn/t/b2eMBrrmay2y?(天翼云)
https://pan.baidu.com/s/1UzHMzn6SToxHRYw7HR16_w?提取碼: vtoy?(百度網盤)
總結
以上是生活随笔為你收集整理的启动不起来_国产开源工具:U盘启动工具Ventoy v1.0.29发布——墨涩网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言第八讲续 评估模型之自助法分析案
- 下一篇: Android显存到内存拷贝耗时,mem