我想在第二个硬盘上安装操作系统 (Ubuntu 12.04),但无法访问 BIOS,因此必须在第一个硬盘上安装 Grub。如何在第一个硬盘上安装 Grub,并让 Grub 从第二个硬盘启动操作系统?
这是我到目前为止尝试过的。我在第二个硬盘上安装了 Ubuntu,它有一个 /boot 分区和一个根分区。它没有启动,因为引导加载程序在第二个硬盘上,但系统坚持从第一个硬盘启动。
然后我从救援系统启动,chroot 到我的第二个硬盘的根分区,将第二个硬盘的启动分区挂载到 /boot,然后运行grub-install /dev/sda
。grub-install
拒绝运行,因为它在第一个硬盘上找不到任何分区(它没有)。因此,我在第一个硬盘上创建了一个启动分区,并将第二个硬盘的启动分区的内容复制到那里。这次grub-install
成功了。系统启动了。但即使系统从第一个硬盘的启动分区启动,一旦启动,它也会挂载第二个硬盘的启动分区。这对内核升级来说并不好,所以我编辑了 /etc/fstab,将 /boot 的设备更改为 /dev/sda,运行update-grab && grub-install /dev/sda
,然后重新启动。这次似乎也起作用了,只是 grub 的超时功能消失了。由于这是我倾向于远程访问的服务器,因此 grub 无法自动启动是有问题的。grub.cfg 包含超时选项,但超时实际上不起作用,这让我认为我可能错误地安装了 grub。
答案1
第一个磁盘可能需要分区表,但不需要。甚至 MBR 代码也应该能够访问第二个磁盘。您应该擦除第一个磁盘上/boot
的内容,在第二个磁盘上安装并再次运行。/boot
/boot
grub-install
如果这不起作用,请发布 的输出grub-install
。
也许你把这两者混淆了grub.cfg
?
还要检查的内容(磁盘编号)/etc/grub.conf
。