使用 isolinux 和 grub 引导 win8 安装 iso

使用 isolinux 和 grub 引导 win8 安装 iso

有人能帮忙吗?我已经在 Google 上搜索了好几个小时,但还是搞不清楚为什么我无法从 isolinux 启动 usb 启动 win8 安装光盘 iso。

我可以使用以下命令启动 64 位 WinPE

label pe
menu label winpe
LINUX /bootprog/grub.exe 
APPEND --config-file="ls /iso/winpe.iso || find --set-root /iso/winpe.iso;map --heads=0 --sectors-per-track=0 /iso/winpe.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /iso/winpe.iso (0xff);map --hook;chainloader (0xff)"
TEXT HELP
Boot into 64 bit Windows PE
ENDTEXT

但是当我将其更改为 win8.1 64 位安装光盘 iso 时,它不起作用(我已检查 iso 工作正常,并且可以使用 vm 从中启动)

label win8
menu label Windows8 (installer)
LINUX /bootprog/grub.exe 
APPEND --config-file="ls /iso/8win.iso || find --set-root /iso/8win.iso;map --heads=0 --sectors-per-track=0 /iso/8win.iso (0xff) || map --heads=0 --sectors-per-track=0 --mem /iso/8win.iso (0xff);map --hook;chainloader (0xff)"
TEXT HELP
Boot into Windows8 installer
ENDTEXT

这对我来说毫无意义,因为从技术上讲,它们是同一件事。在我把这台电脑扔到墙上之前,请告诉我我做错了什么:D

答案1

因此,需要更详细地解释为什么这不起作用。

早期,PC 操作系统通过发出中断来访问硬盘,然后由 BIOS(或类似程序)处理。如今,这种访问方式仅在 PC 启动的最初阶段使用。此后,驱动程序直接与存储控制器通信,提供极为优越的性能和功能。

GRUB 的磁盘映射仅兼容中断磁盘访问类型,除非操作系统有专门支持 GRUB 磁盘映射的驱动程序。当然,Windows 没有这些。

Windows 安装程序和 Windows PE 非常相似,因为它们都是从 WIM 映像运行的,该映像完全由引导管理器通过中断类型访问读取到内存中。此后,它们根本不需要访问任何磁盘。只是 Windows 安装程序本身需要访问不存在于此 WIM 映像中但直接存在于安装介质上的配置文件。当然,其余安装文件也不在引导 WIM 映像中。

因此,您需要做的是将 GRUB 磁盘映射的驱动程序(如果有)注入 Windows 安装程序的启动映像。或者,您也可以使用常规 Windows 安装程序介质,并使用启动管理器和其他文件对其进行调整。这样,安装程序所需的文件就会直接存在于介质上。

相关内容