我不记得该问题何时开始发生,但可能是当我将我的VMWare Ubuntu映像移至外部SSD上时,我才可以在任何PC上使用该操作系统。 Google上没有很多有关此问题的链接,但是出现的链接谈论fstab。例如,慢速启动-什么是“正在为dev-disk-by正在运行启动作业...”? -OpenSUSE论坛。



提及删除交换分区并重新创建它的想法。我主要担心的是丢失当前在Ubuntu中的设置,因为我不完全确定如果我按照线程中的建议弄乱交换会发生什么。有人能帮忙吗?

评论

您可能想要克隆SSD,然后将自己淘汰掉:)(为此尝试CloneZilla)

嗯,我想我可以做到。我会等到假期放假回家之后,才能将其移动到空间更大的地方

我最终解决了这个问题。我认为如果我选择Gparted,就不会有交换。我最终创建了一个,并更改了fstab中的条目。那行得通,不再需要90秒启动时间

如果您解决了自己的问题,请做出自己的回答,然后单击选中以将其标记为已解决:)

有道理...我已经添加了

#1 楼

如果您得到

正在运行开发者磁盘启动作业,则...

在每次引导过程中出现90秒的延迟,请完成以下步骤:


使用软件中心安装GParted


打开GParted并查看Ubuntu当前正在使用的分区


使用下面的行编辑fstab文件。
sudo -H gedit / etc / fstab


查找当前未使用的设备


在行的开头插入一个#和一个空格将其注释掉。


重置



评论


逐步说明可帮助所有人!谢谢!

–约翰·霍尔
16年6月23日在1:29

自从您给出了步骤,我就将您的答案标记为答案

–cpd1
16年8月22日在11:47

+1 ...对于那些在/ etc / fstab中找不到它的人,也可以在/ etc / crypttab中将其检出-这就是我的情况。

–Grzegorz
17年1月12日在12:44

如果它是一个已更改的块ID,那么我不建议将其注释掉,而是更正设备ID。请使用lsblk -f查看将哪个设备与该ID相关联并替换该ID。

–user1708042
17年8月29日在19:49

对我有用的是将步骤4更改为:“将在gparted中找到的UUID复制为导致启动延迟的设备”,将步骤5更改为:“将其替换为在fstab文件中找到设备的位置”。有时,当您更改移动分区时,UUID也会更改,这就是导致问题的原因。您只需要为修改后的分区修复新的UUID。

– m4l490n
18年1月2日在14:52

#2 楼

在我的VM上调整主分区大小后,我遇到了同样的问题,因为gparted live迫使我删除并重新初始化交换来这样做。这导致设置了与fstab文件不匹配的新UUID。

为避免此问题,在/etc/fstab中,您可以


替换掉交换在调整主分区大小之后,使用新的UUID(运行sudo blkid进行查找)。
或者,在调整主分区大小之前(或之后)注释掉交换分区。

我建议前者是因为它是操作系统的设置方式。

评论


移动交换分区后对我也有帮助

–po.pe
18年7月25日在10:13

#3 楼

看起来该问题是由于以下事实造成的:即使fstab包含交换项,但实际上没有交换项。我使用GParted调整分区大小并创建了一个新的Swap。然后我将UUID复制到fstab文件中。 >

评论


我调整了主分区的大小(删除/重新创建交换),然后遇到了这个问题。我使用'sudo blkid'通过UUID列出设备,然后在/ etc / fstab中使用了新的UUID。

–布拉德·高斯(Brad Goss)
16-2-23在23:10



#4 楼

就我而言,我以前一直在使用加密交换,并且启动作业提到/dev/mapper/cryptswap1。为了解决该问题,除了William MacDonald的答案中所述的步骤外,我还必须删除文件/etc/crypttab

#5 楼

主要情况:
您需要检查这些文件下的UUID(在其他答案中有详细回答...)
/etc/crypttab 
/etc/fstab
/etc/grub.d/40_custom 
/boot/grub2/grub.cfg

替代情况I-Udev:
这可能是由于通过udev,如果您在/etc/udev/rules.d/下有一个规则脚本,该规则脚本不打算在引导时运行,则如果脚本失败,它将使fstab步骤永远继续下去,只需编辑脚本以匹配您的需求或删除它即可。替代情况II-加密的开发区:
加密的分区可能会造成混淆,因为主分区具有UUID,而映射的解密分区具有与主分区不同的另一个UUID,因为单个分区必须在不同的位置定义和etc/crypttab
# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi

需要在/etc/fstab
# cat /etc/crypttab
sda2_crypt  UUID=727fa348-8804-4773-ae3d-f3e176d12dac  none  luks

中指定实际UUID虚拟UUID必须在etc/crypttab
# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1

替代情况III-Ghost Dev :
设置为在引导时安装但不存在于系统中或未像USB那样拆离的设备
使用/etc/fstab检查实际连接的设备并编辑lsblk -o name,uuid,mountpoint以仅保留连接的设备
或将未连接的设备留在此处,但使用选项/etc/fstab将其设置为在启动时忽略,并设置如下所示
UUID=BLA-BLA-BLA /mount ext4 option,noauto,option 0 0

检查系统日志
journalctl -ab 

systemd-analyze blame

systemd-analyze critical-chain

systemctl status dev-mapper-crypt_sda2.device

systemctl status systemd-udev-settle.service

公开:我是Linuxhacks.org的所有者。

评论


谢谢,这是一个很好的答案,应该接受。这里的大多数其他答案都是危险的错误提示,即使绕开了该问题,它们也会引入其他不太明显的问题,例如,删除交换设备的加密。

–非洲
18/12/17在14:22

#6 楼

使用gparted调整分区大小或删除分区时,通常必须创建一个新的交换分区。

在创建交换分区之后,有必要通过gparted激活交换分区(有命令“ Activate swap”)。 br />
此外,您还必须将新的UUID复制到/ etc / fstab中以进行安装,否则在启动时OS会尝试找到它,但徒劳无功,因为fstab文件包含引用旧交换的UUID。 Gparted提供了有关UUID的信息,但您可以在终端中轻松运行:

sudo blkid


来找到它。

#7 楼

引导时,我遇到了同样的问题。 -sdx“(“ x”定义受影响的单元或分区)。

要解决此问题,我通过分区的UUID更改了/etc/fstab的值。
要查看UUID,从终端运行/dev/sda1。此信息很有用。

评论


是。这正是UUID解决的问题。系统将安装具有该ID的任何分区,而不管其位于哪个设备上或该分区位于何处。不利的一面是,每当破坏/创建分区或安装新驱动器时,都需要更改UUID。复制分区(分段复制/粘贴)将创建具有相同UUID的副本,如果原始副本和副本同时在线都可能导致问题。对于大多数人来说,这是可以的,但是在克隆/更换驱动器时,请记住这一点。

– David C.
18年3月22日在22:33

#8 楼

由于交换了驱动器并且UUID不匹配,因此启动速度变慢。这导致Ubuntu在启动过程中进行扫描。

我经常交换驱动器。如果您的安装座始终位于同一位置(例如我的位置),则只需移除UUID并放置直接路径即可防止发生扫描错误...

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1 /               ext4    errors=remount-ro 0       1
/dev/sda2 none            swap    sw              0       0


评论


这个建议将如何加快启动速度?有参考吗?

– Mostafa Ahangarha
17年1月25日在18:53

我正在回答他的错误问题,导致启动缓慢。我使答案更清楚了。

–丹
17年1月25日在19:31

是的,按设备名称进行安装可以避免该问题,但同时也会产生UUID(和卷标)要解决的问题-将驱动器连接到其他位置(例如,从一个SATA接口到另一个)会更改设备名称,打破坐骑。您需要确定哪个问题更容易解决,但是请确保记住您的决定,因为当您忘记了问题而发生问题时,这可能会非常令人沮丧。

– David C.
18年3月22日在22:30

#9 楼

除了按照其他答案中所述检查/etc/fstab/etc/crypttab之外,还检查来自/etc/default/grub中内核参数的UUID。有一阵子,我对一个具有完美的/etc/fstab的系统感到非常困惑,却发现GRUB配置中没有一个resume=…内核参数。

评论


这帮助我解决了问题。我的/ etc / fstab很好。然后,除了/ etc / default / grub,我还必须在/boot/efi/EFI/fedora/grub.cfg中进行更改。在我手动更改交换分区后,linux的“ resume = UUID = ...”参数变得过时了。

– Stphane
18年8月28日在9:20



#10 楼

您可以使用“ Ctrl + c”跳过等待并直接进入登录屏幕,然后使用解决方案。有时,如果不是这样,它将永远持续下去。

评论


字面上是Ctrl,加号和c吗?

–muru
17-2-27在11:56

对,就是那样 :)

–拉蒙·苏亚雷斯(Ramon Suarez)
17年2月27日在12:01

#11 楼

我知道这很旧,但是在使用rsync克隆安装时,我偶然发现了这个问题,同样的错误消息。在fstab上没有错误,手动更新了initrdfs后解决了该问题。为此,


将计算机引导到可以正常工作的安装中(多引导计算机,否则为livecd)
将出现问题的系统的根分区装入
mount dev ,sys和proc,将工作的chroot
chroot插入文件istem的根目录中
执行mkinitrd
退出chroot并重新启动。


#12 楼

我尝试编辑/ etc / fstab && / etc / default / grub

无济于事。我发现使用gnome-disks是因为我的分区是在系统启动时作为块设备加载的。

#13 楼

我有一个由安装程序为交换分区生成的fstab条目:交换分区,但由于某种原因使用了不同的UUID。只需将UUID固定为/ etc / fstab中的root用户即可。

#14 楼

就我而言,我在不同的驱动器上创建了2个交换分区,因为我要用许多不同的发行版进行多次引导。 br />