NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 3325|回復: 3

[分享] [Ventoy Compatible] 為NT6 PE提供Ventoy支持 (NT5需imdsik)

[複製鏈接]
發表於 2022-6-10 15:17:34 | 顯示全部樓層 |閱讀模式
Ventoy開機方式的簡述(取自該站):
Ventoy在啟動時會基於ISO文件創建一個虛擬設備然後啟動它。但是這個虛擬設備僅僅是BIOS層面的(Legacy或者UEFI)。大多數情況下它只在啟動階段存在。絕大多數現代操作系統的內核在啟動之後都是使用它們自身的驅動來訪問硬件,因此這個虛擬設備對於內核來說是不可見的。一般情況下,ISO裡面的系統起來之後會遍歷所有的硬件設備(CDROM/USB/HD ...) 去尋找安裝源。但是在Ventoy啟動的環境下是找不到的,因為沒有這樣一個實際的安裝介質,是虛擬的設備嘛。但是系統內核不知道這個情況,它們不知道當前是 Ventoy使用虛擬設備引導起來的,並不是傳統的物理光驅或者U盤引導起來的。所以,如果不做特殊處理的話,大部分ISO文件啟動以後就會報找不到安裝源的錯誤而停止。

簡單來說,使用Ventoy開機的ISO版PE,ISO不會像光碟機一樣出現在你的檔案總管,需要藉助vtoydump來獲取ventoy在記憶體中存放的資訊。
1. 首先在要修改的PE的ISO檔內,根目錄放一個ventoy.dat,告訴他你相容於Ventoy
2.找到PECMD.ini,把下面這堆加到PECMD.ini開頭,下面每行都有註解說在做啥

[Bash shell] 純文本查看 復制代碼
//將Ventoy讀取到的保存在RAM中的資料放到VentoyResult變數,並寫入TXT紀錄
EXEC*1 &&VentoyResult=!%WinDir%\System32\vtoydump.exe
WRIT *c %WinDir%\System32\VentoyResult.txt,$+0,%&VentoyResult%

//查看紀錄中是否有磁碟代號(:\)字串存在
LPOS &&CheckVentoyResult=:\,,%&VentoyResult%

//有就不等於0,掛載ISO,沒有就按照標準程序處裡
FIND $%CheckVentoyResult%<>0,IS_VENTOY!NOT_VENTOY

_SUB IS_VENTOY
//掛載ISO鏡像文件,並將返回值賦值給變數VentoyMountResult
EXEC*1 &&VentoyMountResult=!%WinDir%\System32\vtoydump.exe -m
//記錄掛載狀況
WRIT *c %WinDir%\System32\VentoyMountResult.txt,$+0,%&VentoyMountResult%
MESS-top-x:250-y:130-icon2  偵測到為Ventoy啟動,ISO檔已自動掛接。 @USBOX Ventoy Support *3000  
_END

_SUB NOT_VENTOY
//目前啥都不做
_END


3. 完工,這樣ISO檔就會自己掛起來了,PE工具載入等工作就不會有問題。

關於Ventoy Compatible:https://www.ventoy.net/cn/compatible.html


發表於 2023-3-18 20:13:04 | 顯示全部樓層
受教了,這大概也是有些PE 運行掛了微軟ISO 啟動不能RUN 微軟自帶的安裝程式(setup.exe)安裝Windows了的類似可能原因之一了
這裡看到原因,解法,真不錯
發表於 2024-6-3 14:16:41 | 顯示全部樓層

感謝提供@@@@@@@@
發表於 2024-6-3 14:16:52 | 顯示全部樓層

感謝提供@@@@@@@@
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2024-12-26 17:58 , Processed in 0.167705 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表