主要情况:
已详细回答...(您需要检查这些文件下的UUID)
/etc/crypttab
/etc/fstab
/etc/grub.d/40_custom
/boot/grub2/grub.cfg
替代情况I-Udev:
如果您的规则脚本并不旨在在引导时运行,则可能是由于udev引起的,如果脚本失败,它将使fstab步骤永远继续下去,只需编辑脚本以匹配您的需求或删除它即可。/etc/udev/rules.d/
替代情况II-加密开发:
加密分区可能会造成混淆,因为对于一个分区,主分区具有一个UUID,而映射的解密分区具有另一个与主分区不同的UUID,因此必须在不同的位置进行定义,etc/crypttab
并且/etc/fstab
# lsblk -o name,uuid,mountpoint
├─sda2 727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0) P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi
真正的UUID需要在 etc/crypttab
# cat /etc/crypttab
sda2_crypt UUID=727fa348-8804-4773-ae3d-f3e176d12dac none luks
虚拟UUID必须位于 /etc/fstab
# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1
替代情况III-Ghost Dev:
设置为在引导时安装但在系统中不存在或与USB驱动器分离的设备。
使用检出实际已连接的设备,lsblk -o name,uuid,mountpoint
并进行编辑/etc/fstab
以仅保留已连接的设备,或者将未连接的设备
保留在此处,但是使用选项将它们设置为在启动时被忽略,noauto
并像这样设置行
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