不将 GRUB 放在 MBR 上的情况下安装 Ubuntu 的最佳方法是什么?我想我可以安装到另一个分区(逻辑分区?),然后将 GRUB 安装在可启动的 USB 上。当我想启动 Ubuntu 时,只需插入 USB 即可。
这可行吗?我该如何让安装程序执行此操作?
答案1
为此,您需要手动设置 Ubuntu 的分区。我建议您在选择“试用 Ubuntu”后使用 Gparted 执行此操作。然后您应该继续安装 Ubuntu,但当 Ubiquity 询问您要如何安装时,请选择“其他”,它将带您进入高级模式。
然后您需要手动指定分区,并告诉它安装 grub 的位置。在高级分区程序的底部,您可能默认将 grub 安装在 /dev/sda 上。将其更改为要安装 grub 的 USB 的正确设备名称。
安装后,仅当您从 USB 驱动器启动 grub 时,机器才会启动到 Ubuntu;硬盘驱动器上的 MBR 不会更改。
答案2
- 启动安装程序
- 点击“试用 Ubuntu”
- 启动终端(Alt+F2然后输入
gnome-terminal
是执行此操作的一种方法) - 类型
ubiquity --no-bootloader
- (
--no-bootloader
字面意思是“不安装引导加载程序”) - 要将 grub 安装到其他位置(例如 USB 驱动器),请运行
sudo grub-install /dev/usb_device_name
(请参阅如何在 USB 闪存盘上安装 grub?和我可以在 USB 上安装 grub 并将其作为救援磁盘吗?)
答案3
为什么不想在 MBR 上安装 GRUB?如果您将它安装在另一个操作系统旁边,GRUB 会选择它,并仍为您提供引导到该其他操作系统的选项。或者,您可以选择根本不安装 GRUB,让其他引导加载程序处理事情,尽管这可能需要在其他操作系统中进行一些配置。在双启动情况下,最简单和最常见的做法是让新的引导加载程序取代旧的引导加载程序并替换它。
话虽如此,无论如何,你想做的事情可能都不会成功。如果你能做你想做的事,那么最终就会有两个引导加载程序试图争夺控制权。这就是为什么首先有主引导记录 (MBR) 的原因之一。
如果您想安装 Ubuntu,而又不删除其他操作系统,则可以通过多种不同的方式实现:
- 对其他操作系统所在的驱动器重新分区。
- 安装在不同的内部驱动器上。
- 安装到 USB 闪存驱动器,并在 POST 时使用启动选项中的“启动到 USB”选项,以与启动到 CD 相同的方式进行启动。
答案4
其中一种选择如下:
- 从 Ubuntu CD 或 USB 启动并备份您的 MBR:(用您的硬盘的实际设备以及要保存现有 MBR 的文件名和路径
sudo dd if=/dev/sda of=/path/to/old_mbr bs=446 count=1
替换)/dev/sda
/path/to/old_mbr
- 安装 Ubuntu,包括 MBR 中的 GRUB。
- 再次备份您的 MBR,这次安装了 GRUB:(
sudo dd if=/dev/sda of=/path/to/grub_mbr bs=446 count=1
将其替换/dev/sda
为您的硬盘的实际设备以及/path/to/grub_mbr
您想要保存 GRU MBR 的文件名和路径) - 恢复旧 MBR:(用硬盘的实际设备和保存旧 MBR 的路径
sudo dd if=/path/to/old_mbr of=/dev/sda bs=446 count=1
替换)/dev/sda
/path/to/old_mbr
- 保留 GRUB 的备份。您可以:
- 将其放在 USB 驱动器上(dd 应该可以解决问题),以便在插入驱动器时运行 GRUB
- 如果您正在运行 Windows,请将其放在 C: 驱动器上,并将以下条目添加到
boot.ini
:(
C:\grub_mbr="Ubuntu"
再次,根据需要更改文件名)
这将在启动时调出 Windows 启动菜单,Ubuntu 作为单独的条目。选择 Ubuntu 将调出 GRUB 并让您启动到 Ubuntu。(好吧,有些人可能不喜欢通过 Windows 引导加载程序来启动 Linux 的想法,但它确实有效。)