Linux 启动时找不到根文件系统

Linux 启动时找不到根文件系统

我购买了一块 SSD,为了在保持当前系统不变的情况下尝试提高速度,我将旧的根分区 (/dev/sda1) 克隆到 SSD (/dev/sdb1) 上,并添加了一个新的 Grub 启动项:

title Desktop (SSD)
    root (hd1,0)
    kernel /boot/vmlinuz-3.11.10-11-desktop root=/dev/disk/by-uuid/1ba4ffc9-2783-4b16-8276-63e8f087fada
    initrd /boot/initrd-3.11.10-11-desktop

我想将 Grub 保留在第一个 HD 上并让它从第二个 HD 启动根分区。

当我启动新条目时,内核开始加载,但抱怨它无法挂载根文件系统并将我置于单用户模式,在那里我可以看到 /dev/sdb1 /dev/disk/by-uuid/...

我还在克隆分区上的 /etc/fstab 中更改了根分区,但我认为启动过程还没有进行到那一步。

我尝试了 root= 参数的不同版本,例如 /dev/sdb1 和 UUID=...,但结果总是相同的。

我的方法是否存在根本缺陷?

我怎样才能最好地调试它?

更新:我已将新根分区格式化为 ext4,而旧根分区为 ext3,看来我的内核尚未准备好从 ext4 启动。现在它运行良好。感谢您提供使用 GParted 的提示!

答案1

遇到了同样的问题,但太累了,无法确定原因,并决定稍后再了解,但必须备份并运行。

http://sourceforge.net/projects/boot-repair-cd/

它需要运行两次但修复了硬盘安装的发行版,最终用户进行了调整和重新调整但不记得他们如何获得非 UEFI linux 发行版在 SxS UEFI win8 盒子上运行,就在他使用 linux GPART 回收那个奇怪的 20MB 启动分区之前。

阅读 sourceforge 上的评论,人们对它深信不疑,而且我敢打赌它可以修复您的问题,前提是您有时间下载一个非常大的 500MB ISO。

相关内容