本帖最后由 liuzhaoyzz 于 2025-1-13 15:40 编辑
你这个问题是个好问题。内置版本的PE不存在此问题。
外置版本的PE,我觉得USBOS在挂载ISO这块做得非常棒!建议外置版本的PE可以借鉴下。
Grub4dos map命令使用USBOSV3.iso
由于NT 5内核的Windows有WinVBlock(USBOS 2003 PE已集成)及FiraDisk等支持Grub4dos仿真盘的驱动程序加持,用以下G4D代码装载任意目录下的“USBOSV3.iso”,2003 PE或许都能加载到外置工具。即G4D负责从iso仿真盘引导PE,而WinVBlock或FiraDisk负责让PE认知G4D的仿真盘! title USBOSV3.iso find --set-root /MYiSO/USBOSV3.iso map --mem /MYiSO/USBOSV3.iso (hd32) map –hook chainloader (hd32)
可是在NT 6.2以上内核的Windows 8/8.1/10下,因已有的上述类似驱动程序(例如FiraDisk、SVBus)存在导致某些机器启动PE特别慢等问题,20211020已从NT 6.2以上内核中去除此类驱动。因此,仅用以上代码启动USBOSV3.iso,这类PE可能无法加载外置工具。USBOS的解决办法是:PE启动的过程中,一旦未能搜索到外置程序,就运行ImDisk装载约定目录下的“USBOSV3.iso”到虚拟驱动器,如果USBOV3.iso被成功地装载到虚拟驱动器,那么PE访问外置软件包就不成问题了。即G4D负责从iso仿真盘引导PE,而ImDisk负责装载iso到虚拟驱动器供PE访问! USBOS约定用于存放USBOSV3.iso的目录是: ①、任意可见分区的根目录、“ISO”或“ISOS”目录,例如U:\USBOSV3.iso、G:\ISO\USBOSV3.iso或V:\ISOS\USBOSV3.iso等; ②、UD根目录,即(UD)/USBOSV3.iso。
外置版本的PE,一定要把imdisk之类的软件集成到wim中,并且尝试在启动的时候尝试挂载特定目录(比如\,\ISO\,\ISOS\,\boot\imgs\)的ISO,进而搜索其中的外置软件并启动。然后在PE.ISO内部放一个ventoy.dat文件告诉Ventoy不要尝试仿真了,PE会挂载ISO,就可以了。
对于xp PE,可以内置或者firadisk/svbus软件,就可以轻松找到外置。
你这个问题,与grub4dos关系不大,应该是PE作者想办法解决的问题,应该发布到PE讨论区。
|