如何修复 Manjaro 错误“启动时未找到休眠设备”?

如何修复 Manjaro 错误“启动时未找到休眠设备”?

安装更新并重新启动后,我收到这些错误。

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 可能已更改。那么此过程可能会有所帮助。

  1. 通过挂载来实时启动并访问您的文件系统。
  2. 通过以下方式查找新的交换 UUIDsudo blkid
  3. /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,在调整分区大小时遇到​​了这个问题。最终对我有用的是:

  1. sudo blkid获取交换分区的新 UUID。

  2. /etc/fstab替换和 中的UUID /etc/default/grub

  3. /boot/grub/grub.cfg使用以下命令生成新的

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    

然后重启。错误信息不再出现。

答案4

我在 Manjaro 上进行双启动全新安装后遇到了这个问题。解决方案是在 bios 中将“RAID On”切换到“AHCI/NVMe”。

确实会阻止你的 Windows 启动。但这似乎可修复并且由于它们都是正确的,所以不需要处理任何 UUID。

建议组合这里这里

相关内容