我有一台 Surface Pro。我已将恢复分区从 Surface Pro 移到 USB 闪存驱动器上。我还在闪存驱动器上安装了 GRUB2,并使用 Ubuntu Live/Persistent(我先备份了 Surface Pro 恢复内容!!)。我正在尝试获取 GRUB2 配置,以便我从硬盘驱动器启动,启动 Surface Pro 的 Windows 8 恢复,以及所有 Ubuntu 内容。
我让所有 Linux grub 都正常工作,只是在让 Windows 8 grub 正常工作时遇到了麻烦。我尝试过使用 chainloader,但不太清楚具体怎么做。EFI 似乎改变了我对 Grub 的所有认知。另外,我不知道如何为 grub 获取 USB 和 Surface SSD 的正确名称。
以下是 USB 上文件结构的屏幕截图:
ls
这是grub 命令行输出的屏幕截图。
以下是我目前的 GRUB2 配置:
if loadfont /boot/grub/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
menuentry "Boot from Harddrive" { // this one does not work
set root=(hd0,1)
chainloader (hd0,1)
}
menuentry "Ubuntu 13.04 Persistent" {
set gfxpayload=keep
linux /casper/vmlinuz.efi persistent file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
initrd /casper/initrd.lz
}
menuentry "Ubuntu 13.04 Live" {
set gfxpayload=keep
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
initrd /casper/initrd.lz
}
menuentry "Install Ubuntu 13.04" {
set gfxpayload=keep
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash --
initrd /casper/initrd.lz
}
menuentry "File Integrity Check" {
set gfxpayload=keep
linux /casper/vmlinuz.efi boot=casper integrity-check quiet splash --
initrd /casper/initrd.lz
}
menuentry "Memory Test" {
set gfxpayload=keep
linux /casper/mt86plus
}
现在,如果您问我为什么要这样做,主要是为了尝试更多地了解 GRUB 并理解它,而且,如果我让它工作了,我将有一个可以随时用于 Ubuntu 的 USB,它仍然可以兼作我的 Surface 的恢复。如果一切顺利,我甚至正在考虑在我的 Surface 上安装 Ubuntu 以实现双启动。
以下是我的 Surface 存储配置的屏幕截图:
答案1
在我看来,GRUB 就像穿溜冰鞋的大象一样优雅。它很挑剔,而且过于复杂,因此即使是发行版维护人员也难以让它可靠地工作。你可能想看看我的重新索引相反。rEFInd 比 GRUB 更容易配置,在启动 Windows 时也更可靠。如果这对你来说很重要,它还有更漂亮的视觉效果。rEFInd 的主要缺点是它仅适用于 EFI/UEFI;它不适用于基于 BIOS 的计算机(除非通过 DUET 或 Clover 等工具),也不适用于具有更奇特固件类型的计算机。