如何使用systemd在arch linux中的raid0上自动挂载ntfs分区

daw*_*tar 6 linux ntfs-3g raid-0 automount systemd

最近,我按照这个wiki从initscript切换到systemd,并且在启动过程中出现了这样的错误:

Job dev-md126p5.device/start timed out
Run Code Online (Sandbox Code Playgroud)

这是我的 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
Run Code Online (Sandbox Code Playgroud)

这是我的分区方案:我有两个相同的硬盘驱动器,默认情况下,它是一个 raid0。三个分区是这样的:

  1. 视窗 7, 200GB, ntfs
  2. linux, 100GB, lvm / , 30GB, ext4 /home , 30GB, ext4 剩下的供以后使用。
  3. 数据,休息,ntfs

“超时”后,它让我进入紧急模式,我可以手动挂载数据分区,并运行“systemctl default”,它会正常启动系统。或者我可以注释掉fstab文件中的“数据”部分,然后进入系统并轻松挂载。

在我切换到systemd之前没有问题。现在我已经尝试了一切,包括编写我自己的 .service 文件来挂载它,但它仍然无法在启动过程中挂载分区。有任何想法吗?

编辑#1

上面的错误来自journalctl,启动时打印在屏幕上的错误是:

[ TIME ] Timed out waiting for device dev-md126p5.device.
Run Code Online (Sandbox Code Playgroud)

然后是很多[DEPEND],然后我就进入了紧急模式。

我只是好奇是什么原因?是因为它在突袭中,还是因为它是一个 ntfs 分区?

Ste*_*day 1

看起来/dev/md126p5需要相对较长的时间来设置并变得可见systemd,从而导致超时错误。尝试在 中设置较长的超时值/etc/fstab。例如:

/dev/md126p5 /media/data ntfs-3g x-systemd.device-timeout=60s,uid=xiaoxing,gid=users 0 0
Run Code Online (Sandbox Code Playgroud)

x-systemd.device-timeout=60s选项告诉 systemd 在放弃设备之前等待最多 60 秒以等待设备显示。调整超时值,直到每次启动时都能可靠地安装。