答案1
首先,nofail
即使驱动器无法安装,也允许启动顺序继续。
这就是fstab(5)
关于nobootwait
在引导期间挂载文件系统的 mountall(8) 程序还可以识别普通 mount(8) 工具无法识别的其他选项。这些都是:
bootwait
它可以应用于安装在 /usr 或 /var 之外的远程文件系统,没有它 mountall(8) 将无法阻止这些文件系统的启动;
nobootwait
它可以应用于非远程文件系统,以显式指示 mountall(8) 不要阻止它们的启动;
optional
如果启动时未知文件系统类型,这会导致该条目被忽略;和
showthrough
它允许挂载点在其父挂载点之前挂载(后者应谨慎使用,因为它可能导致引导挂起)。
fstab(5)
有这个要说的nofail
nofail
如果该设备不存在,则不报告该设备的错误。
答案2
由于这个老问题在 Google 上有很高的评价,我会提到,由于“nobootwait”不适用于 systemd,所以正确的方法是使用“x-systemd.device-timeout”设置一个较短的超时,例如 9 秒”。
例如:
/dev/sda2 /mnt/other auto defaults,nofail,x-systemd.device-timeout=9 0 2
(编辑:我将超时从 3 秒增加到 9 秒,因为 Ubuntu 似乎偶尔会在启动时进行一次快速文件系统检查,持续时间可能超过 3 秒。)
答案3
正如 Stéphane 所提到的,nobootwait 仅限于 ubuntu+ 衍生版本。
Nofail 将继续尝试安装驱动器,正如 cjm 指出的那样,但是,挂载超时后,引导过程将继续。如果您不希望驱动器定期存在,以保证在驱动器不存在时有额外的 90 秒左右的启动时间,请不要在 fstab 中自动挂载它。
(PS 我把这个作为 cjm 的答案,听起来好像系统最终会失败启动)。
答案4
nobootwait
曾是一个暴发户防止暴发户等待设备的特定选项。
nofail
坐骑不会阻止系统在出现故障时启动。
请注意,自从系统(Ubuntu 和大多数使用它的发行版上 upstart 的替代品)异步挂载 fstab 条目nofail
就足够了。