当前位置: 首页 > 系统与网络 > 正文

如果你增加了一块SATA硬盘或者其他存储设备,遇到以下提示,则表示启动分区已经改变。此时启动分区已经变成了sdb1,根分区也变成了sdb2。
Unable to mount root fs on unknown-block(8,2)

在启动选择界面,选择OPENWRT,按“E”键 进入编辑,会出现以下界面。
grub boot list

grub edit  boot list

在如下字段中 “linux /boot/vmlinuz root=/dev/sda2 rootfstype=ext4 rootwait console=tty0 console=ttyS0,38400n8 noinitrd” 找到 root=/dev/sda2 ,将 sda2 改为 sdb2 。 接着按F10或者Ctrl+X组合键就可以正常启动。

进入系统后,在 磁盘管理 – 挂载点 页面,将 /dev/sdb1 分区挂载。在我编译的OPENWRT中这个BOOT分区大小为64M。默认会将 /dev/sdb1 分区挂载到 /mnt/sdb1 目录中
mount sdb1

可以在SSH中使用vi/vim编辑grub.cfg文件或者使用winscp登陆,打开 /mnt/sdb1/boot/grub.cfg 文件,我们会看到如下内容:

serial –unit=0 –speed=38400 –word=8 –parity=no –stop=1
terminal_input console serial; terminal_output console serial

set default=”0″
set timeout=”5″
set root='(hd0,msdos1)’

menuentry “OpenWrt” {
linux /boot/vmlinuz root=/dev/sda2 rootfstype=ext4 rootwait console=tty0 console=ttyS0,38400n8 noinitrd
}
menuentry “OpenWrt (failsafe)” {
linux /boot/vmlinuz failsafe=true root=/dev/sda2 rootfstype=ext4 rootwait console=tty0 console=ttyS0,38400n8 noinitrd
}

我们需要改动的是将启动的2项 sda2 改成 sdb2 。保存后即可解决问题。当然如果你只修改正常启动的那一项也是可以的。

[分享]解决Linux 根分区改变导致启动失败:目前有 1 条评论

  1. 沙发
    ccc

    真佩服博主,凌晨1点多还在弄这个问题,博主真是我等小白的福音啊。

发表评论