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

[分享]解决Linux 根分区改变导致启动失败

如果你增加了一块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 。保存后即可解决问题。当然如果你只修改正常启动的那一项也是可以的。

本文固定链接: http://blog.ich8.com/post/4855 | 霸王硬上弓's Blog

avatar
该日志由 霸王硬上弓 于2014年08月19日发表在 系统与网络 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [分享]解决Linux 根分区改变导致启动失败 | 霸王硬上弓's Blog

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

  1. avatar
    沙发
    ccc:

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

    2014-08-19 12:01

发表评论

您必须 [ 登录 ] 才能发表留言!