我安装了 Manjaro Linux,在pacman - syu
更新(可能更新内核)并重新启动计算机后,我在 grub 后收到以下错误消息:
[ 4.896409] Initramfs unpacking
failed: read error
:: running early hook [udev]
:: running early hook [lvm2]
:: running hook [udev]
:: Triggering uevents...
:: running hook [plymouth]
:: Loading plymouth... done
:: running hook [plymouth-encrypt]
:: running hook [resume]
ERROR: resume: no device specified for hibernation
ERROR: device '' not found. Skipping fsck
:: mounting '' on real root
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ] #
在 shell 上,如果我键入,屏幕上不会出现任何字母,这让我相信它没有注册键盘输入。另请注意,我的硬盘已加密。在 grub 中,我可以选择 Manjaro Linux 内核 4.9.34-1 x64 和 4.9.33-1-rt23 x64 (以及各自的后备 initramfs),我已经尝试过了。如果我可以提供更多信息,我愿意。
答案1
当我尝试在 Arch 中启动一台新机器时,我遇到了类似的问题。我的问题是我的 initramfs 缺少所有模块,但你似乎有一些模块,所以这不是相同的问题,但我认为解决方案是相同的。
查看您的第一个错误位于发布日志的第二行中:
失败:读取错误
看看它如何无法读取你的 initramfs,所以它看起来像是以某种方式损坏了,并且它放弃了读取它。您需要重建 initramfs。
在我启动到救援 DVD 后,将我的系统挂载到 /mnt 并进行 chroot 后,我就是这样做的:
mkinitcpio -p linux
我认为此时您最好更新 grub.cfg(尽管我是 grub 新手,所以不要引用我的话)。在同一环境中,这应该可以为您做到这一点:
grub-mkconfig -o /boot/grub/grub.cfg
当我运行它时,我看到了关于它找到我的内核和 initramfs 的新消息,所以我想我上次成功地使用错误填充的 /boot 文件夹来运行它。您可能没有这个问题,但如果您没有想要保留的手工编辑,我会出于习惯重新生成它。
希望有帮助!
答案2
可能 grub 没有正确安装。步骤
# grub-install /dev/sda
被错过了。