安装更新并重新启动后,我收到这些错误。
ERROR: resume: hibernation device 'UUID=long number here' not found
ERROR: device '/dev/mapper/ManjaroVG-ManjaroRoot' not found. Skipping fsck.
ERROR: Unable to find root device '/dev/mapper/ManjaroVG-ManjaroRoot'.
然后我被带入恢复 shell 并收到消息SH: can't access tty: job control turned off
。
这是不到一周的安装,我在图形安装程序上检查了 lvm 和 luks 加密。
答案1
您是否重新分区了交换分区?如果是,则用于休眠的交换分区的 UUID 可能已更改。那么此过程可能会有所帮助。
- 通过挂载来实时启动并访问您的文件系统。
- 通过以下方式查找新的交换 UUID
sudo blkid
/etc/fstab/
用和中的新 UUID 替换旧的、错误的 UUID/etc/default/grub
。
细节:
启动实时启动 USB。使用sudo fdisk -l
查找 Linux 分区的名称。然后挂载它。例如,如果您的分区是/dev/sda1
运行的sudo mount /dev/sda1 /mnt
。
现在cd /mnt
您可以探索文件系统了。运行sudo blkid
以查找交换分区的 UUID。如果没有标记,请先使用它gparted
来识别哪个分区是交换分区。
注释掉和中的旧 UUID /etc/fstab/
,/etc/default/grub/
并在下方写一行新代码替换新 UUID。编辑第一个文件将告诉您的系统交换目录的位置。编辑第二个文件将在搜索上一个交换 UUID 时抑制错误。
答案2
我一直有这个问题Arch Linux和曼扎罗,当我的笔记本电脑在使用时没电了支持。
我在 Arch 中的解决方案是运行:
sudo mkinitcpio -p linux
在下面曼扎罗您可能必须弄清楚要使用哪个内核,然后运行添加特定内核版本的命令(如果有两个可用,请选择较高的数字),此外您可能还需要重新启动直到一切再次正常:
ls /etc/mkinitcpio.d
sudo mkinitcpio -p linux44 #in my case...
顺便说一句,如果您遇到此问题,系统将无法再启动,Arch/Manjaro 中的 fallback-boot 通常可以帮助启动系统。(如果有人想知道 ;-))
似乎mkinitcpio
重置了启动过程,没有任何副作用。我很想听到关于这个问题的正确答案和解释,但现在我很高兴找到了解决方案。
mkinitcpio 是一个用于创建初始 ramdisk 环境的 Bash 脚本。
进一步阅读:
答案3
我在 VirtualBox 上运行 Manjaro,在调整分区大小时遇到了这个问题。最终对我有用的是:
sudo blkid
获取交换分区的新 UUID。/etc/fstab
替换和 中的UUID/etc/default/grub
。/boot/grub/grub.cfg
使用以下命令生成新的sudo grub-mkconfig -o /boot/grub/grub.cfg
然后重启。错误信息不再出现。