我的目标:
在 USB 中安装grub2
EFI 以便与 ISO 实现多重引导。
我对 USB 进行了分区,1 个 FAT 用于安装 EFI,另一个 EXT4 用于 ISO。
有效的方法:
使用以下方式从实时 Linux 中安装grub
到 USB 中chroot
:
sudo grub-install --force --removable --target=x86_64-efi --efi-directory=/media/user/BOOT/ /dev/sdb1
USB 启动grub
。
无效的方法:
我添加了菜单项,例如 clonezilla:
menuentry "Clonezilla live (Default settings, VGA 800x600)"{
loopback loop (hd0,msdos2)/clonezilla-live-2.6.0-37-i686.iso
linux (loop)/live/vmlinuz boot=live iso-scan/filename=(hd0,msdos2)/clonezilla-live-2.6.0-37-i686.iso
initrd (loop)/live/initrd.img
}
...但我总是得到错误
无法找到包含实时文件系统的介质
但是从grub
控制台我可以检查路径和名称是否正确。
我在网上到处找,尝试了很多东西,其他 USB、不同的计算机、不同的 ISO(Linux Mint、Linux Lite)……但总是遇到同样的错误。
我做错了什么或者我遗漏了什么?
答案1
我变了
menuentry "Clonezilla live (Default settings, VGA 800x600)"{
loopback loop (hd0,msdos2)/clonezilla-live-2.6.0-37-i686.iso
linux (loop)/live/vmlinuz boot=live iso-scan/filename=(hd0,msdos2)/clonezilla-live-2.6.0-37-i686.iso
initrd (loop)/live/initrd.img
}
为了
set root='hd0,1'
menuentry "Clonezilla live (Default settings, VGA 800x600)"{
loopback loop /clonezilla-live-2.6.0-37-i686.iso
linux (loop)/live/vmlinuz boot=live iso-scan/filename=(hd0,msdos2)/clonezilla-live-2.6.0-37-i686.iso
initrd (loop)/live/initrd.img
}
...并且它运行良好。