最近,我按照此 wiki 从 initscript 切换到 systemd,但在启动过程中出现了如下错误:
Job dev-md126p5.device/start timed out
这是我的 fstab:
/dev/mapper/VGLinux-lvroot / ext4 rw,relatime,stripe=64,data=ordered 0 1
/dev/mapper/VGLinux-lvhome /home ext4 rw,relatime,stripe=64,data=ordered 0 2
/swapfile none swap defaults 0 0
/dev/md126p5 /media/data ntfs-3g uid=xiaoxing,gid=users 0 0
这是我的分区方案:我有两个完全相同的硬盘,默认情况下是 raid0。三个分区如下:
- Windows 7,200GB,ntfs
- linux、100GB、lvm /、30GB、ext4 /home、30GB、ext4 其余留作将来使用。
- 数据,剩余,ntfs
超时后,系统会进入紧急模式,我可以手动挂载数据分区,然后运行“systemctl default”,系统就会正常启动。或者我可以注释掉 fstab 文件中的“data”部分,然后轻松进入系统并挂载。
在我切换到 systemd 之前没有问题。现在我尝试了所有方法,包括编写自己的 .service 文件来挂载它,但它仍然无法在启动期间挂载分区。有什么想法吗?
编辑#1
上述错误来自 journalctl,启动时屏幕上打印的错误是:
[ TIME ] Timed out waiting for device dev-md126p5.device.
然后接着是大量的[ DEPEND ],然后我进入了紧急模式。
我只是好奇原因是什么?是因为它在 raid 上,还是因为它是 ntfs 分区?
答案1
看起来/dev/md126p5
需要相对较长的时间才能设置并可见systemd
,从而导致超时错误。请尝试在中设置较长的超时值/etc/fstab
。例如:
/dev/md126p5 /media/data ntfs-3g x-systemd.device-timeout=60s,uid=xiaoxing,gid=users 0 0
该x-systemd.device-timeout=60s
选项告诉 systemd 最多等待 60 秒设备出现,然后放弃。调整超时值,直到每次启动时设备都能可靠地挂载。