我在 fstab 文件中有两个外部硬盘。它们指向同一个安装点。在启动过程中,这两个硬盘中只有一个应该安装在安装点,并且只有一个连接到 PC。第二个硬盘在启动过程中没有连接到 PC。
请参阅附件中的我的 fstab 文件:
##External Harddrive (Removable Drive 1)
UUID=<Some UUID> /media/usb0 ext4 auto,nofail,noatime,rw,user 0 0
##External Harddrive (Removable Drive 2)
UUID=<Some UUID> /media/usb0 ext4 auto,nofail,noatime,rw,user 0 0
如果连接了第二个驱动器,则分区不会挂载到 debian。如果我尝试手动挂载它,则没有错误,但如果我尝试访问挂载点,它是空的。如果我手动将其挂载到另一个挂载点,我就可以挂载它。
如果第一个驱动器在启动期间未连接到系统,有没有办法安装第二个驱动器?
答案1
如果第一个驱动器在启动期间未连接到系统,有没有办法安装第二个驱动器?
使用带有某种逻辑的启动脚本来检测第一个驱动器是否已连接。如果没有,请检查第二个驱动器。挂载找到的任何一个。将 /etc/fstab 从混合中删除。
答案2
mount -a 挂载 /etc/fstab 中的所有文件系统。
如果驱动器尚未在 fstab 中,那么它将不会对该驱动器执行任何操作。
首先,检查磁盘如何分区(例如使用 fdisk -l(小写的 L,而不是数字 1)或使用其他工具,如 gpart。)
如果您的硬盘是 LVM,这些说明将不起作用,请停止并按照以下说明进行操作:https://superuser.com/a/666034/121698
使用手动挂载命令进行测试。例如:mount -t ext2 /dev/sdb1 /mnt。
现在应该可以在 /mnt 下看到第一个分区的内容。
请注意,此假设文件系统为 ext2。请根据需要进行调整。
请注意,这里假设的是 /dev/sdb1,也可能是 /dev/sdb2、sdb3……该磁盘上甚至可以有多个分区。根据需要进行调整。
如果此方法有效:卸载 /mnt 并在 /etc/fstab 中添加一行。最简单的方法是复制现有行之一并进行调整。建议了解这些值的含义,因此请查看顶部的一行,如下所示:
Device Mountpoint FStype Options Dump Pass#
- 设备是您要挂载的设备/例如 /dev/sdb1 挂载点是您希望文件夹显示的目录。
- FStype 是文件系统类型。例如 ext2、ext3、ext4、fat、iso9660、...
- 选项是 FS 选项,例如 rw 表示读写,或 ro 表示只读。
- 转储和传递用于恢复。哪个磁盘需要进行 fsck?按照什么顺序等等。
因此...选择您要安装磁盘的位置。例如在 /home/old_backup 中。如果该目录不存在,则创建它。(例如mkdir /home/old_backup
)。如果该目录中已经有内容,那么请注意,一旦在该位置安装磁盘,您将不再看到它们。(它们会在您卸载后再次显示,并且它们仍将使用磁盘空间)。
现在编辑 /etc/fstab 并添加相关行。
#Device Mountpoint FStype Options Dump Pass#
/dev/sdb1 /home/old_backup ext2 ro 2 2
用 进行测试mount /home/old_backup
。
下次启动或发出 mount -a 时它将被自动挂载。
答案3
将第二个驱动器/etc/fstab
更改为。然后编辑并添加以下行到行之前或行末(如果不存在):auto
noauto
/etc/rc.local
exit 0
test -L /dev/disk/by-uuid/uuid_of_1st_drive && mount UUID=uuid_of_2nd_drive