從 Grub2 UEFI 使用 linux16 / initrd16 載入 Memdisk
我需要在 UEFI 模式下從 Grub2 載入 Memdisk 核心。
我不知道這是否可能,但我收到了一個意外的不明錯誤。
我想知道這是否可能,如果可以,該怎麼做。
我的 Grub 菜單項/命令如下:
menuentry 'Hirens Boot 15.2' { search --no-floppy --fs-uuid --set=root 3a02381a-2bf7-4730-8e13-6d7640f9c60e set iso_path="/isos/Hirens.BootCD.15.2.iso" loopback loop ($root)$iso_path linux16 (loop)/HBCD/Boot/memdisk iso initrd16 /isos/Hirens.BootCD.15.2.iso }
相同的菜單項在 BIOS 模式下可以毫無問題地啟動。
我認為這行不通。
Hirens Boot CD 15.2 是從 2012 年開始的。當時,UEFI 剛剛被引入 PC 世界,大多數可引導工具仍然使用傳統的 BIOS 處理方式。
該
memdisk
實用程序希望擁有舊版 BIOS 的磁碟訪問功能,以便可以擴展它們以用於基於 RAM 的磁碟映像。在以 UEFI 模式啟動的系統中,那些傳統的 BIOS 磁碟訪問功能根本不可用:事實上,整個系統執行在 64 位或 32 位保護模式下,而不是 BIOS-兼容的舊 DOS 兼容 16 位模式。基於引導載入程序開始。
memdisk
最初來自Syslinux bootloader 項目,正如鍊接網頁所說:MEMDISK 通過為磁碟聲明一塊高記憶體和為驅動程序本身聲明一塊(非常小 - 通常為 2K)低 (DOS) 記憶體來模擬磁碟,然後掛鉤 INT 13h(磁碟驅動程序)和 INT 15h(記憶體查詢)BIOS 中斷。
在 UEFI 模式下,低/高記憶體和 BIOS 中斷 INT 13h 和 INT 15h 等 DOS/BIOS 概念將不適用,因此無法
memdisk
完成其工作。即使您可以開始
memdisk
工作,Hirens Boot CD 映像使用的 Windows PE 環境的引導載入程序也將需要一個舊版 BIOS 環境,並且很可能無法在以 UEFI 模式啟動的系統中啟動。據我所知,GRUB 或任何其他引導載入程序沒有標準方法可以將系統從 UEFI 模式切換到傳統 BIOS 模式,反之亦然。