我的历史
我有一台配备 Intel 64 位处理器的 PC。我在那里安装了 Ubuntu 14.04 LTS/dev/sdb1
和 Arch Linux /dev/sda1
。
两者都交换到/dev/sdb2
。
我尝试(成功)将 Arch Linux 安装到/dev/sdc
我的树莓派的 SD 卡 ( ) 上。然后我尝试使用 将 vim 安装到 SD 卡上pacstrap
。这产生了一些错误。然后我拔掉了 SD 卡读卡器。
重启电脑后,我看到一个GRUB_RESCUE>
提示。以下是一行:
error:no such device:5a28b060-333c-479a-b5ed-58a7b9d8ae77.
这是我的 Ubuntu 分区的 UUID ( /dev/sdb1
)
我的第一次尝试
然后我用我的amd64启动修复光盘并将 GRUB 安装到/dev/sdb
。然后我必须/dev/sda
在 Bios 中禁用它,Ubuntu 才能顺利启动。
Arch 此时没有出现。
然后我运行sudo update-grub
并重启。然后 Arch Linux 出现了,但如果我选择
/dev/sda1 上的 Arch我的SATA磁盘或类似的东西发出了难听的声音并且我的电脑重新启动了。
输出为
:~$ sudo update-grub
Grub-Konfigurationsdatei wird generiert … #generating grub.cfg
Linux-Abbild gefunden: /boot/vmlinuz-3.13.0-35-generic #Linux-image found
initrd-Abbild gefunden: /boot/initrd.img-3.13.0-35-generic
Linux-Abbild gefunden: /boot/vmlinuz-3.13.0-34-generic
initrd-Abbild gefunden: /boot/initrd.img-3.13.0-34-generic
Linux-Abbild gefunden: /boot/vmlinuz-3.13.0-33-generic
initrd-Abbild gefunden: /boot/initrd.img-3.13.0-33-generic
Linux-Abbild gefunden: /boot/vmlinuz-3.13.0-32-generic
initrd-Abbild gefunden: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Arch auf /dev/sda1 gefunden #found Arch on /dev/sda1
erledigt #done
有趣的是,GRUB 仅显示“在 /dev/sda1 上找到 Arch”。
我第二次尝试
然后我尝试安装 GRUB/dev/sda
并在 Bios 中激活sda
。然后我的机器再次发出这种难听的声音,我不得不重新开始启动修复光盘
我第四次尝试
这是这里。我检查了/boot
Arch 和 Ubuntu 的文件夹,不同之处在于:
-Arch 有两个initramfs.img
(一个是后备)图像
-Ubuntu 有几个initrd.img
图像(不同版本)
-Ubuntu 有几个System.map
文件(见上文)
-Ubuntu 有几个配置文件(同样针对不同的版本)
-Ubuntu 有几个“abi”文件(那是什么?)
并且我的 Arch 分区的文件系统没有损坏。
顺便说一句,我不想重新安装 Arch,因为我的安装已经到了需要很多努力重建系统。
是不是我的MBR/dev/sda
损坏了?
现在我希望能够再次正确启动两个操作系统。
答案1
定义/boot/grub.cfg
了哪个分区用作(类 unix)操作系统的根分区。
在我的情况下,如果 Arch 的根分区名为 ,则无法启动/dev/sdXY
。我使用以下命令更改了此设置vim
(vi
也应该这样做):
:%s/\/dev\/sdXY/UUID=my-uuid/g
这将替换/dev/sdXY
所有my-uuid