问题描述
我不记得问题何时开始发生,但是当我将VMWare Ubuntu映像移动到外部SSD时,我可以在任何PC上使用操作系统。谷歌关于这个问题的链接并不多,但是那些关于fstab的链接。 For example。
提到必须删除交换分区并再次创建它。
我可以尝试用Gparted做这个,但我主要担心的是失去我在Ubuntu中的当前设置,因为我不完全确定如果我按照线程中的建议搞乱swap会发生什么。有人能帮忙吗?
最佳解决办法
如果您获得“dev-disk-by启动的启动作业…”,然后在每次启动期间延迟90秒,请完成以下步骤:
-
使用软件中心安装gparted
-
打开gparted,看看Ubuntu目前使用的分区
-
使用下面的行编辑fstab文件。
sudo -H gedit /etc/fstab
-
找到您当前未使用的设备
-
插入一个
#
,该行开头的空格将其注释掉。 -
重置,希望它适合你!
次佳解决办法
看起来这个问题是因为即使fstab有一个交换条目,实际上也没有。我使用GParted调整分区大小并创建了一个新的Swap。然后我将UUID复制到fstab文件中……
-
我现在有交换
-
并且启动时间会在几秒钟内降至90秒以上
第三种解决办法
因为gparted live迫使我删除& ;,因此我在我的VM上调整主分区大小后遇到了同样的问题。重新初始化我的交换以执行此操作。这导致设置了一个与fstab文件不匹配的新UUID。
为避免此问题,您可以在/etc/fstab
中进行操作
-
在主分区调整大小后,将交换UUID替换为新的交换UUID(运行
sudo blkid
以查找它)。 -
或者,在主分区大小调整之前(或之后)注释掉交换分区。
我会推荐前者,因为它是设置操作系统的方式。
第四种办法
在我的情况下,我以前一直在使用加密交换,启动工作提到了/dev/mapper/cryptswap1
。为了解决这个问题,除了William MacDonald的回答中描述的步骤之外,我还必须删除文件/etc/crypttab
。
第五种办法
使用gparted调整分区大小或删除分区时,通常需要创建新的交换分区。
然后有必要在创建后通过gparted激活交换(有命令”Activate swap”)。
此外,您必须将新的UUID复制到/etc /fstab中以便安装它,否则在启动时操作系统将尝试找到它但是徒劳,因为fstab文件包含指向旧交换的UUID。 Gparted提供UUID的信息,但您可以轻松地在终端中运行:
sudo blkid
找到它。
第六种办法
我在启动时遇到了同样的问题。
在我的/etc/fstab
文件中,我的分区定义为/dev/sda1
,/dev/sda2
等,但在启动时,多次出现消息“正在为dev-sdx运行启动作业”(“x”定义了哪个单元或分区受到影响)。
为了解决这个问题,我通过分区的UUID更改了/dev/sdx
的值。要查看UUID,请从终端运行lsblk -f
。然后,复制受影响的分区的UUID,并把它写在/etc/fstab
文件,替换/dev/sdax
如下:/dev/sda1
变化UUID=xxxxxxxxxxxxxxxxxx
。
它对我有用,我希望这些信息很有用。