双重启动:无法启动 Arch Linux

双重启动:无法启动 Arch Linux

我的历史

我有一台配备 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。然后我的机器再次发出这种难听的声音,我不得不重新开始启动修复光盘

我第四次尝试

这是这里。我检查了/bootArch 和 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。我使用以下命令更改了此设置vimvi也应该这样做):

:%s/\/dev\/sdXY/UUID=my-uuid/g

这将替换/dev/sdXY所有my-uuid

相关内容