我在一台非常旧的电脑上安装了 Ubuntu 10.10 Server(2002 年购买),但它无法启动。它告诉我无法通过 UUID 找到根安装卷,还给出了以下类型的错误:
警告!/dev/disk/by-uuid/xxxxxxxx 不存在。转到 shell!
之后它给了我一个 initramfs 提示。我到处搜索,发现了很多不同的解决方案(编辑我的 grub 设置以不使用 UUID 而是使用 /dev/sda1,这实际上是安装所在的分区)
我目前无法使用键盘或显示器,但我通过默认启用 SSH 的 LiveCD 执行所有操作,因此我可以在计算机上执行管理任务。安装还应该安装 SSH,因此我可以在成功启动后立即通过网络进入。我还找到了一种方法来查看计算机已安装的磁盘(按其 UUID 列出),即以下内容:
$ ls /dev/disk/by-uuid
我认为这是一种很棒的方法来检查它所寻找的 UUID 是否也在 grub 设置中。然而我得到了一个总线错误当我尝试这个命令时。知道这是为什么吗?
我还运行了 smartctl 来检查磁盘是否有错误(有两个磁盘),安装有该磁盘的磁盘没有报告任何错误,没有安装该磁盘的磁盘报告了错误,但我认为这不应该是个问题。应该是?
我还尝试通过执行以下操作设置 GRUB_DISABLE_LINUX_UUID=true:
$ sudo mkdir /mnt/hdd
$ sudo mount /dev/sda1 /mnt/hdd
$ sudo mount --bind /proc /mnt/hdd/proc
$ sudo mount --bind /dev /mnt/hdd/dev
$ sudo mount -- bind /sys /mnt/hdd/sys
$ sudo chroot /mnt/hdd
# vim /etc/default/grub
-- editing the grub file --
# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-22-generic-pae
Found initrd image: /boot/initrd.img-2.6.35-22-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
-- exit; etc --
....可能是因为我太蠢了,但又非常想让这个系统从硬盘上工作。但这没有帮助。
如果有人有任何指点,请不要犹豫。谢谢。
-- 编辑:这是我从 fdisk 获得的输出 --
user@host:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007b4bd
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4661 37431296 83 Linux
/dev/sda2 4661 4866 1648641 5 Extended
/dev/sda5 4661 4866 1648640 82 Linux swap / Solaris
我还尝试更新 initramfs,(这这个地方给我的印象是这可能是一个好主意,即使我有一个单启动系统并且这是一个全新安装)。我所做的几乎与更改 grub 设置的方式相同。感谢您的回复。我打算将第二个硬盘驱动器全部取出,因为没有键盘(或显示器),我无法访问我的 BIOS 设置。明天我会拿到它们,让事情变得不那么困难。
答案1
解决了。这是 initramfs 映像,我备份了它,在将 dev、sys 和 proc 绑定到硬盘上的目录并 chrooting 到它之后,通过运行 update-initramfs 替换了它。无论如何,感谢 Khaled 和 pehrs 的回复。取出损坏的硬盘也加快了启动过程。此外,现在从硬盘启动只需 25 秒!