我的操作系统驱动器有 3 个磁盘 RAID 1 阵列,ubuntu 20.04,软件 RAID。我不得不暂时关闭服务器以安装新的 PCI 卡,然后重新启动它,但操作系统说找不到启动设备。
于是我拔出驱动器,将其插入另一台 PC 并在 mdadm 上运行检查。它说 RAID 仍处于活动状态,我唯一能想到的是我一周前驱动器出现故障并更换了驱动器,我认为更换的这个驱动器是唯一一个带有启动设置的驱动器。我现场操作过,所以直到现在才注意到。
于是我运行mdadm --stop /dev/md125
,然后运行mdadm --assemble --readonly /dev/md125 /dev/sdc4 --run
,它显示活动状态,一切正常。我对此驱动器上的所有 3 个分区执行了此操作,它们都安装得很好,文件也在那里。
我有根分区和启动分区,但无法启动。我只能想象我从未让此驱动器可启动,或者可能没有进行 grub 配置?我现在如何在辅助 PC 上执行此操作以便启动此驱动器?
我知道这样做可能不会重新连接到其他 3 个驱动器并重新同步,没关系,我只想让它启动,这样我就不必重建整个系统。我有备份,但这需要时间。话虽如此,这是我第二次遇到这种情况,那么我该怎么做才能防止将来再次发生这种情况并复制以便它启动?
我还应该提一下,该服务器有点旧,所以它的 BIOS 启动不是 UEFI。
更新
找到了这个这里。我运行以下命令来/boot
启动分区:
sgdisk -t 1:ef02 /dev/sdc
grub-install --boot-directory=/mnt/boot --force --target=i386-pc /dev/sdc -v
没有错误,所以我在另一台电脑上重新启动,并通过 USB 转换器电缆选择从此驱动器启动。驱动器启动了!所以我把它带回我的服务器,无法启动。该服务器是 HP DL385 G5,在此之前启动正常。它在启动顺序中看到驱动器,控制器卡在启动顺序中打印出驱动器。我还通过其 BIOS 运行了诊断程序,驱动器诊断程序显示它找到了一个可启动的驱动器。
因此,执行上述命令后,它会在其他电脑上启动,而不是 G5。我接下来想清除 NVRAM。