我将 Ubuntu 12.04 安装移至 SSD 驱动器。复制了除最常写入的目录(var、tmp、...)之外的所有目录。
通过使用 Live CD 启动并按照此帖子中的命令将 grub 重新安装到 SSD 中: 如何将 Ubuntu 移至 SSD
这似乎工作正常,因为当我在 grub 菜单中按下“e”时,我看到了预期的 UUID。
但是在 grub 之后我得到无法记录启动信息:地址已经在使用中,磁盘驱动器/尚未准备好或不存在。
如果我跳过,我会得到与 /tmp /run 和其他目录相同的结果
如果我进入手动恢复并执行
mount -n -o remount,rw /
事实证明,一切都顺利进行。
我无法理解这一点。我的 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
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"
与 fdisk -l 相关:
Device Boot Start End Blocks Id System
/dev/sdb1 2048 115345407 57671680 83 Linux
答案1
问题神秘地解决了。我了解到,当出现“跳过/手动恢复”消息时按 Esc,您将看到系统中的最后一个错误。我遇到的问题与 rules.d 下的某些规则 hrdjconsole.rule 有关。我尝试使用 apt-get 删除与其关联的软件包 libdjconsole,但出现错误。但在下次重新启动时,不知何故,一切都“正常工作”,一直到 KDE gui。我重新安装了 grub 以防万一,在 synaptic 中找到了 libdjconsole0 的正确名称,清除了它,从此再也没有出现问题。为什么我以前从普通硬盘启动时没有遇到这个问题,而现在才遇到这个问题 - 这是否真的是问题 - 我不知道。
在尝试在恢复控制台中删除问题包之前,我还手动逐个挂载了 fstab 中的所有项目。也许它对 mountall 有了信心,它决定下次自己做这件事 :)
我希望这篇文章不是完全无用的。
附言:性能提升确实很棒。SSD 让我的旧机器焕发了生机。启动时间从 2 分钟(从 grub 提示符到 KDE 桌面 - 1.8G Core2Duo,4GB RAM)缩短到 40 秒。任何需要读取大量小文件的操作 - 例如 Synaptic 构建其数据库 - 现在几乎是即时的。非常棒!