我在安装硬盘时遇到一个具体问题:
当使用 fstab 在启动时自动挂载时,我的系统在某些情况下会在启动时崩溃,因为系统无法自动扫描和修复硬盘。这是不合适的,因为我无法物理访问系统来管理恢复模式并扫描/修复受影响的硬盘(例如在断电后)。此外,在这种情况下其他重要服务将无法运行。该问题似乎是由于硬盘的自动挂载/扫描/修复失败造成的。可能是因为系统内存不足以检查 200 TB 的存储空间。
我尝试了很多方法,例如nofail,errors=continue
将硬盘设置为顺序扫描/修复模式(pass 2
)以及以只读方式挂载硬盘。经过 6 个多月的尝试,我尝试了 ubuntu 论坛的故障排除建议,但都失败了,并且在 askubuntu 上提出了很多关于挂载工作原理的问题,我决定复制我的手动操作过程,而不是使用 fstab 在启动时自动挂载。
因此,我将 fstab 中的选项设置为noauto
。这将导致系统在启动时不挂载我的存档驱动器。但sudo mount -a
该开关也不起作用。在系统启动后使用“sudo mount /mnt/mydrive1”手动挂载硬盘将起作用,并且系统不会因挂载失败而崩溃。这就是为什么我认为ls /mnt/ | sudo mount
可以做到但却做不到。我该如何继续挂载/mnt/
文件夹中的所有硬盘?
答案1
创建脚本 mount_harddisks.bash
#!/bin/bash
ls -d -L /mnt/* | xargs -L1 -t sudo mount
创建服务 mount_harddisks.service
[Unit]
Description=Harddrive mounting service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=no
ExecStart=bash /{path to script}/mount_harddisks.bash
[Install]
WantedBy=multi-user.target