我目前正在使用一台联想笔记本电脑,该笔记本电脑装有 Ubuntu 18.04.1 LTS 双启动系统,配置了 Windows 10。最近,我想从我的 Windows 分区中释放一些空间并将其添加到我的 Linux 分区。我可以取消分配一些 200GB 的空间,但它与我的 /home 驱动器不相邻。它是这样的(只是空间量更大):
因此,我使用了 gparted 中的 swapoff 选项,并能够移动交换分区。当我移动根分区时,它失败了(我没有日志),所以我不得不再次恢复交换,重新将空间分配给 Windows 并保持原样。然后,我发现交换不再正常工作(它没有活动),所以我将其格式化为 linux-swap,并且 UUID 发生了变化。问题从那时开始。当我启动 Ubuntu 时,屏幕长时间保持空白,直到 Ubuntu 启动并要求输入密码。我尝试将最新的 UUID 修补到 /etc/fstab 文件中并重建 grub.cnfg 文件,但到目前为止还没有成功。我不想进行全新安装。请帮忙..!
编辑:周三晚上 9:16 IST- 以下结果是我终端上 swap 命令的输出,按照@heynnema 的建议
prince@prince-PC:~$ sudo swapoff -a
[sudo] password for prince:
prince@prince-PC:~$ sudo swapon -a
prince@prince-PC:~$ swapon
NAME TYPE SIZE USED PRIO
/dev/sda6 partition 12.1G 0B -2
prince@prince-PC:~$
答案1
正如您所猜测的,交换分区的 UUID 已更改,这就是启动时间如此之长的原因。它正在寻找具有旧 UUID 的分区,超时,然后完成启动,但没有交换。
自从你能启动后,可以轻松纠正问题。
启动 Ubuntu 并打开terminal
并执行...
cd /etc # change to the /etc directory
sudo cp fstab fstab.bak # make a backup of fstab file
sudo blkid | grep swap (or lsblk -f | grep swap) # determine the UUID of the swap partition /dev/sda6.
* note the correct UUID of the swap partition. Copy it to the clipboard.
sudo swapoff
sudo pico fstab # edit fstab
找到与此相似的线条......
# swap was on /dev/sda6 during installation
UUID=071f8b0e-8e16-4f4d-90ff-a4ae9cc56e2b none swap sw 0 0
如果正确的 UUID 已经显示在 fstab 文件中,请在此处停止,并联系我获取进一步的说明。
用新的 UUID 替换旧的 UUID。您可以右键单击鼠标从剪贴板粘贴 UUID。
Ctrl+ o # 保存您的编辑
Return # 确认要保存的文件名
Ctrl+ x # 退出编辑器
sudo swapon -a # to enable swap (there should be no errors here)
swapon # to confirm that swap is engaged
reboot # reboot the computer
你应该会没事的。
答案2
除了上述建议之外@heynnema这些步骤很有用:
- 在 Ubuntu 的 GRUB 启动屏幕上按“e”打开选项
- 在以 Linux 开头的行中删除了“quiet splash $vt_handoff”(我发现如果你能够启动到 Ubuntu,你可以在文件 /etc/default/grub 中将“quiet splash”更改为“”,以使此设置永久生效)。这将在启动时显示所有内核输出
- 这帮助我发现系统卡在了输出“正在运行脚本本地预挂载”...“开始等待挂起/恢复设备”...“放弃等待挂起/恢复设备”
- 我进行了一些谷歌搜索,发现交换磁盘的正确 UUID 也需要在 /etc/initramfs-tools/conf.d/resume 中更改(除了 /etc/fstab 文件)
- 运行 sudo update-initramfs -u
- 享受..!