使用 USB 上的 GRUB2 进行 Ubuntu 和 Windows 8 恢复

使用 USB 上的 GRUB2 进行 Ubuntu 和 Windows 8 恢复

我有一台 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 等工具),也不适用于具有更奇特固件类型的计算机。

相关内容