转移到 SSD,现在得到“/的磁盘驱动器尚未准备好”

Dmi*_*dov 5 boot ssd fstab boot-failure

我将我的 Ubuntu 12.04 安装移到了 SSD 驱动器上。复制所有目录,除了最常写入的目录 - var、tmp、...

通过使用 live CD 启动并按照本文中的命令将 grub 重新安装到 SSD: 如何将 Ubuntu 移动到 SSD

这似乎工作正常,因为当我在 grub 菜单中按“e”时,我看到了预期的 UUID。

但是在 grub 之后,我无法登录启动:地址已经在使用 / 的磁盘驱动器尚未准备好或不存在。

如果我跳过,对于 /tmp /run 和其他目录,我会得到相同的结果

如果我进入手动恢复并执行

mount -n -o remount,rw /
Run Code Online (Sandbox Code Playgroud)

事实证明,一切都可以安装没问题。

无法理解这一点。我的 fstab 似乎是正确的。grub 是对的。bios 中的 AHCI 已启用。为什么会这样?我能做些什么来修复它?当我从这个错误进入 shell 并手动安装东西时,我如何让操作系统继续加载?

谢谢你们给我的任何想法。

这是我的 fstab 现在的样子:

# <file system>                           <mount point>   <type>      <options>             <dump>  <pass>
proc                                      /proc           proc        defaults              0       0
UUID=67fc8a7a-f1db-485c-88bd-e007c214244f   /               ext4    defaults,noatime,discard  0       1
# swap was on /dev/sda3 during installation
UUID=6bc9cd6c-46b7-43a0-bfac-bd04cc26cfb6   none            swap        sw                    0       0
UUID=7397729b-2125-4b1d-b5eb-28866898d773   /hdd            ext4    errors=remount-ro         0       1
/hdd/home                                   /home           none    bind                      0       0
/hdd/run                                    /run            none    bind                      0       0
/hdd/var                                    /var            none    bind                      0       0
tmpfs                                       /tmp            tmpfs   rw,nodev,nosuid,exec,mode=1777,size=1024m 0     0
/dev/scd0                                   /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
Run Code Online (Sandbox Code Playgroud)

blkid 的输出:

/dev/sda1: LABEL="System Reserved" UUID="EABC56C1BC568849" TYPE="ntfs" 
/dev/sda2: UUID="7CCC6124CC60D9C2" TYPE="ntfs" 
/dev/sda3: UUID="6bc9cd6c-46b7-43a0-bfac-bd04cc26cfb6" TYPE="swap" 
/dev/sda5: UUID="7397729b-2125-4b1d-b5eb-28866898d773" TYPE="ext4" 
/dev/sdb1: UUID="67fc8a7a-f1db-485c-88bd-e007c214244f" TYPE="ext4" 
Run Code Online (Sandbox Code Playgroud)

与 fdisk -l 相关:

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   115345407    57671680   83  Linux
Run Code Online (Sandbox Code Playgroud)

Dmi*_*dov 2

问题神秘地解决了。我了解到,当出现“跳过/手动恢复”消息时按 Esc 键,您可以看到系统中的最后一个错误。我的问题是rules.d下的一些规则hrdjconsole.rule存在问题。我尝试 apt-get 删除与其关联的 libdjconsole 软件包,但出现错误。但在下次重新启动时,一切都“正常工作”,一直到 KDE gui。为了以防万一,我重新安装了 grub,在 synaptic 中找到了 libdjconsole0 的正确名称,将其清除,从那以后就没有任何问题了。为什么我以前从普通硬盘启动时没有遇到这个问题,现在才得到它 - 以及这是否确实是问题 - 我不知道。

在尝试在恢复控制台中删除有问题的包之前,我还一一手动安装了 fstab 中的所有项目。也许它已经给mountall灌输了信心,它决定下次自己做:)

我希望这篇文章并非完全无用。

PS:性能的提升实在是太棒了。SSD 为我的旧机器注入了活力。启动时间从 2 分钟(从 grub 提示符到 KDE 桌面 - 1.8G Core2Duo,4GB RAM)缩短到 40 秒。任何需要读取大量小文件的事情(例如 Synaptic 构建数据库)现在几乎都是即时的。太棒了!