我正在尝试使用多重引导 USB 上的 grub2 环回来引导 slimaz 4.0 ISO;
insmod font
if loadfont /boot/grub/unicode.pf2 ; then
insmod gfxterm
# insmod efi_gop
# insmod efi_uga
insmod vbe
insmod vga
set gfxmode=auto
set gfxpayload=auto
terminal_output gfxterm
if terminal_output gfxterm; then true ; else
terminal gfxterm
fi
fi
set color_normal=white/black
set color_highlight=white/light-blue
set drive_uuid=DA64-F023
set isopath=/iso
menuentry "Slitaz 4.0" {
set isofile="$isopath/slitaz-4.0.iso"
loopback loop $isofile
linux (loop)/boot/bzImage rw root=/dev/null vga=normal autologin isofrom=$isofile noeject noprompt lang=en kmap=en
initrd (loop)/boot/rootfs4.gz (loop)/boot/rootfs3.gz (loop)/boot/rootfs2.gz (loop)/boot/rootfs1.gz
} # screen=text home=usb (need ext3 partition)
它确实到达了终端提示符,但由于缺少文件而无法启动 - 我相信是因为尚未加载多个 initrd 映像。
有谁知道 grub2 是否支持加载多个 initrd 映像,如果支持,使用什么语法?
答案1
如果您已经足够远到达终端提示符,那么就足以连接您想要的尽可能多的图像。您需要做的就是:
zcat <init.image | { cd / ; cpio -i \
--make-directories \
# #Create leading directories where needed
--preserve-modification-time \
# #Retain previous file modification times when
# #creating files
--sparse \
# #Write files with large blocks of zeros as sparse
# #files
--unconditional ; }
# #Replace all files unconditionally
答案2
它(还)不起作用。参考:http://www.sysresccd.org/forums/viewtopic.php?f=14&t=4368 但正在研究中http://savannah.gnu.org/bugs/?35238
不过你仍然可以启动“base”。
menuentry "OK: SliTaz base" {
set isofile="/slitaz-4.0.iso"
loopback loop $isofile
linux (loop)/boot/bzImage initrd=/boot/rootfs4.gz lang=C kmap=uk rw root=/dev/null vga=normal autologin
initrd (loop)/boot/rootfs4.gz
}