如何在多个磁盘上安装 grub?

如何在多个磁盘上安装 grub?

我遇到了一种奇怪的情况 - BIOS 报告的磁盘顺序与 Linux 看到的磁盘顺序不同。

这会导致运行出现问题 - grub 安装到 sda,但 bios 从 sdd 或类似的东西启动(这台机器有 7 个磁盘,4 个在内部控制器上,3 个在外部。

是否可以将 grub 安装(并稍后更新)到所有磁盘,而不仅仅是 /dev/sda?我不知道 bios 想要启动哪个磁盘(所有磁盘都相同,而且由于我对它进行了 raid,因此我无法随意删除它们),所以我看到的唯一解决方案是将 grub 安装在所有 sda-​​sdg 上。

这是 Debian 稳定版,带有 Grub2。

答案1

我认为你可以这样做

grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
grub-install /dev/sdd
grub-install /dev/sde
grub-install /dev/sdf
grub-install /dev/sdg

但是,如果您的磁盘混淆了,我真的无法预见您在 grub 的 HD 寻址方面会遇到什么样的问题。

答案2

你没有写任何类似你使用哪个发行版的内容(我瞎了吗?)。今天我差点毁了我的服务器,因为我真的很恼火 grub-install 无法工作。我以前尝试这样做时遇到 GRUB 错误 17。

所以我有更好的解决方案,如何非常轻松快速地将 grub 安装到 raid 中的多个驱动器。如果您可以启动系统(安装后或从实时发行版启动),并且拥有 Debian Wheezy(我的情况是 7.2 版),您只需输入以下命令:

dpkg-reconfigure grub-pc

(执行此操作时您必须是 root 身份!!!)

我只是按下了回车键、回车键、回车键,然后在最后一个屏幕上,出现了一个问题,我要将 GRUB 安装到哪个设备中!:-) 只需根据您的空间选择所有物理驱动器(不要选择 /dev/md 设备,只选择 /dev/sdb /dev/sdc 等等,也不要选择 /dev/sdb1 或 /dev/sdb2,只选择没有编号的设备!)在我的示例中为 /dev/sdb /dev/sdc dev/sdd /dev/sde,而不是 /dev/sdb1... 然后您进入下一步并等待几秒钟(大约 30 或 45 秒才能完成)并准备好庆祝的下一个棺材,因为您做到了!;-)

Ubuntu-server 12.04 LTS 在安装结束时会询问您是否要将 grub 安装到所有设备中。Debian 没有它。

解决此问题后,无论哪个硬盘先启动或后启动,每次都会启动。

享受 ;-)

答案3

设备在启动时初始化的顺序可能是随机的,如果您的 /etc/fstab 使用磁盘标识符(sda、sdb 等),则会导致问题。

查看这两个链接了解如何规避:

http://debian-user.blogspot.com/2007/05/uuid-instead-of-devsda1.html

http://debian-resources.org/node/9/

相关内容