![删除了一个分区,现在在启动过程中收到“放弃等待挂起/恢复设备”消息](https://linux22.com/image/1528905/%E5%88%A0%E9%99%A4%E4%BA%86%E4%B8%80%E4%B8%AA%E5%88%86%E5%8C%BA%EF%BC%8C%E7%8E%B0%E5%9C%A8%E5%9C%A8%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B%E4%B8%AD%E6%94%B6%E5%88%B0%E2%80%9C%E6%94%BE%E5%BC%83%E7%AD%89%E5%BE%85%E6%8C%82%E8%B5%B7%2F%E6%81%A2%E5%A4%8D%E8%AE%BE%E5%A4%87%E2%80%9D%E6%B6%88%E6%81%AF.png)
我最近删除了一个大小约为的分区8GB
。该分区位于主分区之后,但似乎不批评因为我仍然可以启动操作系统并运行所有应用程序。
启动过程现在需要额外两分钟才能完成,并显示以下消息:
Gave up waiting for suspend/resume device
/dev/sda4: clean, .../... files .../... blocks
[ ***] A start job is running for dev-disk-by\.....\....\... .device
Dependencies failed!
我的问题是:
这是什么第二分区,如何恢复或重新创建它?
答案1
我刚刚在 Debian 上遇到了同样的错误消息和类似的启动延迟,但略有不同:我知道我刚刚自愿删除了我的交换分区,并且不打算重新创建它。
分区不再列出,/etc/fstab
但延迟仍然存在。什么都没有/etc/initramfs-tools/conf.d/resume
(感谢@KamilMaciorowski 的提示)。
关键是要弄清楚初始 RAM 磁盘是“编译的”,并且在某些情况下(例如这种情况),必须重新生成。解决方案:sudo update-initramfs -u
。
答案2
因为这条信息
放弃等待暂停/恢复设备
我怀疑你的交换分区有问题。运行检查你的系统是否使用交换分区swapon
。接下来运行swapon -a
并观察输出。它可能会发出cannot find the device
消息。如果是这样,你就知道你应该重新创建交换分区。
步骤:
参考之前的一个问题:如何恢复已删除的交换分区?
fdisk
使用、gdisk
或其他等效工具修改分区表gparted
。重新创建分区条目。分区类型应为0x82 Linux swap
。- 使用 设置分区
mkswap
。 - 相应地修改您的(如果您不确定,
/etc/fstab
先前的输出应该告诉您需要更改哪个条目)。swapon -a
- 重要的:将 中的 UUID 替换
/etc/initramfs-tools/conf.d/resume
为上一步中使用的 UUID。 - 跑步
update-initramfs -u
。
答案3
在我的例子中,启动信息如下所示。交换分区已被删除。
Gave up waiting for suspend/resume device
/dev/sda4 ... ...
[***] A start job is running for dev-disk-by\...\...\...\.device
...
...
...
首先,看看你的 fstab 文件的内容,
cat /etc/fstab
会返回这种输出
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda4 during installation
UUID=8c1977eb-ac90-426b-bc9b-a7fb2ec8d760 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda3 during installation
UUID=00fd67-123DE-4b98-aa17-2d4025aed54 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
然后你会注意到,“安装期间交换位于 /dev/sdax 上”。
重新创建已删除的分区(例如 fdisk 或 Gparted),然后使用此命令查找分区的新 uuid。
ls -l /dev/disk/by-uuid/
输出:
total 0
lrwxrwxrwx 1 root root 10 févr. 19 07:18 00151dcd-2bf5-4b98-aa17-8f40ef4cfd86 -> ../../sda4
lrwxrwxrwx 1 root root 10 févr. 19 07:18 6C5A1AC45A1A8B4A -> ../../sda2
lrwxrwxrwx 1 root root 10 févr. 19 07:18 8c1977eb-ac90-426b-bc9b-a7fb2ec8d760 -> ../../sda3
lrwxrwxrwx 1 root root 10 févr. 19 07:18 C064106664106188 -> ../../sda1
通过在 fstab 文件中复制/粘贴交换的适当 uuid,使用上一条命令显示的正确 uuid 更新 fstab。然后重新启动,它应该可以解决问题。