Tình huống chính:
Đã được trả lời chi tiết ... (Bạn cần kiểm tra UUID trong các tệp đó)
/etc/crypttab
/etc/fstab
/etc/grub.d/40_custom
/boot/grub2/grub.cfg
Tình huống thay thế I - Udev:
Điều này có thể do udev gây ra nếu bạn có một tập lệnh quy tắc/etc/udev/rules.d/
không có nghĩa là chạy vào lúc khởi động, nếu tập lệnh thất bại, nó sẽ khiến bước fstab đó tiếp diễn mãi, chỉ cần chỉnh sửa tập lệnh của bạn để phù hợp với nhu cầu của bạn hoặc xóa nó.
Tình huống thay thế II - Dev được mã hóa:
Các phân vùng được mã hóa có thể gây nhầm lẫn vì phân vùng chính có UUID và phân vùng được giải mã có một UUID khác với phân vùng chính cho một phân vùng duy nhất chúng phải được xác định ở vị trí khác nhau etc/crypttab
và/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 thực cần được chỉ định trong etc/crypttab
# cat /etc/crypttab
sda2_crypt UUID=727fa348-8804-4773-ae3d-f3e176d12dac none luks
UUID ảo cần phải có tại /etc/fstab
# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1
Tình huống thay thế III - Ghost Dev:
Một thiết bị được thiết lập để được gắn vào lúc khởi động nhưng không có trong hệ thống hoặc tách ra như ổ USB.
Kiểm tra các thiết bị được kết nối thực với lsblk -o name,uuid,mountpoint
và chỉnh sửa /etc/fstab
để chỉ giữ lại thiết bị được kết nối
HOẶC để thiết bị chưa được kết nối ở đó nhưng thiết lập chúng bị bỏ qua khi khởi động với tùy chọn noauto
và đặt dòng như thế này
UUID=BLA-BLA-BLA /mount ext4 option,noauto,option 0 0
Kiểm tra nhật ký hệ thống
journalctl -ab
systemd-analyze blame
systemd-analyze critical-chain
systemctl status dev-mapper-crypt_sda2.device
systemctl status systemd-udev-settle.service