1

我正在构建 BOOTX64.EFI 图像:

grub-mkimage -v --format=x86_64-efi --output=BOOTX64.EFI --config=grub-embedded.cfg --compression=xz --prefix=/EFI/BOOT part_gpt part_msdos fat ext2 hfs hfsplus iso9660 udf ufs1 ufs2 zfs chain linux boot appleldr ahci configfile normal regexp minicmd reboot halt search search_fs_file search_fs_uuid search_label gfxterm gfxmenu efi_gop efi_uga all_video loadbios gzio echo true probe loadenv bitmap_scale font cat help ls png jpeg tga test at_keyboard usb_keyboard

然后我以给定的前缀将它嵌入到 FAT16 分区(esp.img)中,并使用 xorriso 创建 ISO:

xorriso -as mkisofs -v -r -o MYISO.iso -J -joliet-long -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin -b isolinux/isolinux.bin -c isolinux/boot.cat -boot-load-size 4 -boot-info-table -no-emul-boot -eltorito-alt-boot -e isolinux/esp.img -no-emul-boot -isohybrid-gpt-basdat CD_root

它启动到:

grub>

但是当ls被调用时,没有列出任何文件系统(proc 除外),而我希望在下面看到 (cd0) 和 msdos 分区。

我将我的与 debian netinst 进行比较,当我ls在 grub shell 中读取详细输出时,我会看到kern/disk.cdisk/efi/efidisk.c处理我的命令,而我的详细输出是无声的。此外,lsmod在 debian netinst 列表lsefi模块上,而我的没有。

我错过了一些东西,我要求提示。

4

0 回答 0