GRUB2救援模式“错误:未知文件系统”
时间:2020-03-21 11:43:56 来源:igfitidea点击:
我最近在服务器上添加了第二个磁盘,创建了一个分区'/dev/sdb1',并在上面放置了ReiserFS文件系统。
系统重启后,我看到了grub抢救shell 。
Grub Rescue Shell “error: unknown filesystem"
这有点出乎意料,因为当天没有在'/dev/sda'磁盘上进行GRUB2相关的更改。
GRUB loading. Welcome to GRUB! error: unknown filesystem Entering rescue mode...
如果我们有一个抢救shell ,这通常意味着GRUB2无法加载“正常”模块,Live CD很好,但有时我们只需要一个抢救shell 。
让我们看看可以访问哪些磁盘和分区:
grub rescue> ls (hd0)(hd0,msdos1)(hd1)(hd1,msdos4)(hd1,msdos3)(hd1,msdos2)(hd1,msdos1)
由于我在新磁盘上仅创建了一个分区,因此它必须是(hd0,msdos1)。
在这种情况下,hd1应该是我的主磁盘。
知道了这一点之后,其余的事情就变得不那么直接了。
我的'/boot'分区位于(hd1,1),而'/'分区位于(hd1,2)。
其他分区包括'/var'和swap。
让我们检查内核和initrd镜像是否可见:
grub rescue> ls (hd1,1)/ ./../lost+found/System.map-3.2.0-4-686-pae config-3.2.0-4-686-pae grub/vmlinuz-3.2.0-4-686-pae initrd.img-3.2.0-4-686-pae
将prefix和root设置为正确的值并加载linux模块:
grub rescue> set prefix=(hd1,1)/grub grub rescue> set root=(hd1,2) grub rescue> insmod (hd1,1)/grub/linux.mod grub rescue> normal
引导到操作系统后,我挂载了'/boot'分区并重新安装了GRUB2:
# grub-install /dev/sda # update-grub
但是,系统重启后,我回到了带有“未知文件系统”的相同的抢救grubshell。
BIOS
原来是BIOS引导顺序设置,该设置被设置为从第二个磁盘引导。
在BIOS中更改了启动顺序后,问题消失了。
请注意:操作系统中的驱动器订购可能与固件使用的引导驱动器订购不同。