内核3.13.7-1 arch cant boot

时间:2014-04-01 11:34:04

标签: archlinux

我在2012年中期的macbook air模型上使用gummiboot。只有Linux上的Linux。似乎无法使用uuid和绝对设备名称启动到我的拱门。总是落入rootfs提示符。

切换到refind也无济于事。 我在哪里可以开始寻找有关它是否识别硬盘的更多信息?

2 个答案:

答案 0 :(得分:2)

以下是对情况的完整解释:

我有一个Macbook Air 11“2012年中期只有 Arch Linux。我不想要OSX。我不想安装任何其他发行版(Fedora等)。 我有一个带有GNOME的Arch Bang安装程序。我的linux将使用Gummiboot加载。我做了一个pacman -Syu,并带来了3.13.7-1的arch内核。我重新启动以获得“等待10秒的根设备...”消息,这将导致rootfs提示。看看this article on arch forums我知道gummiboot和最新的3.13.7内核之间存在一些问题,建议切换到refind bootloader。

我做了,但我仍然落到rootfs提示符。 然后我决定完全绕过bootloaders并使用efibootmgr直接告诉uefi固件"hey look this is my linux installation, load it"。所以bootloader不再是一个嫌疑人。

现在,我最初是通过live cd这样chrooting:

(来自live cd终端)...... mount /dev/sda2 /mnt

mount /dev/sda1 /mnt/boot/efi

mount -o bind /proc /mnt/proc

mount -o bind /sys /mnt/sys

mount -o bind /dev /mnt/dev

mount -o bind /dev/pts /dev/pts

modprobe efivarfs

chroot /mnt

(然后从chroot里面)......

pacman -Syy linux

mkinitcpio -p linux

exit

(在live cd终端内)......

umount /mnt/sys/firmware/efi/efivars /mnt/sys /mnt/dev /mnt/dev/pts /mnt/proc /mnt/boot/efi /mnt

但是仍然我收到了rootfs提示符。 Solution was to chroot like this:

mount /dev/sda3 /mnt

chroot /mnt /bin/bash

mount -t proc proc /proc

mount -t sysfs sys /sys

mount -t devtmpfs udev /dev

mkinitcpio -p linux

exit

umount /mnt/proc /mnt/dev /mnt/sys /mnt

reboot

我不确定与此相比有什么不同,但确实有效。我希望我没有重新安装我的操作系统。我应该坚持我的信念,你可以比重新安装更频繁地进行救援。

答案 1 :(得分:1)

当grub-mkconfig检测到错误的硬盘驱动器时,会发生这种情况,因此它会向内核传递错误的参数。

要修复它,请使用mount /dev/sdaX /newroot从救援shell安装根分区,将X替换为安装时根文件系统的分区号,然后按Ctrl-D。这应该启动启动顺序。

然后,您可以手动编辑/boot/grub/grub.cfg并找到显示linux (hd0,gptX)/boot/vmlinuz-linux root=/dev/sdaX的行,并替换root = ???使用正确的根设备(最有可能是/ dev / sda2给出Macbook和GPT信息)。