启动时没有调用“mount -a”吗?

启动时没有调用“mount -a”吗?

我在启动时安装外部硬盘时遇到问题。

简短的问题

是否应mount -a在启动过程中启动?我该如何检查它是否启动?

整个故事

与此主题相关

我通过添加以下行,使用 fstab 文件挂载了我的硬盘:

#device        mountpoint             fstype    options  dump   fsck

/dev/sda2    /home/yourname/mydata    vfat    defaults    0    0

当我调用时它会安装mount -a,但在启动时它不会安装。

我尝试过自动/不自动挂载选项。正如预期的那样,使用时noautomount -a不会挂载我的驱动器。因此默认的自动值应该不错。

这就是为什么在我看来mount -a调用没有在启动时运行......

该系统是纳米无头立方体 X1在 cubieboard A10 上运行(与 Raspberry Pi 非常相似)

谢谢您的建议。

不同于这个话题由于我的硬盘手动正确启动,因此问题仅出现在启动时。

答案1

fstab 中具有默认设置的任何内容都应自动安装,因此您可能没有将其指向正确的设备(特别是因为内部驱动器通常是 sda,而外部驱动器通常是 sdb、sdc 等)。下面是我如何设置外部驱动器在启动时自动安装:

1. 识别您的设备

运行sudo fdisk -l以获取已连接驱动器的列表。您应该找到一个与要自动安装的驱动器的大小和分区设置相匹配的驱动器。例如,我的 16gb 闪存驱动器如下所示:

    Disk /dev/sdd: 14.9 GiB, 16007561216 bytes, 31264768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos Disk identifier: 0x00000000

    Device     Boot Start      End  Sectors  Size Id Type
/dev/sdd1           8192 31264767  31256576 14.9G  c W95 FAT32 (LBA)

由于这是我的系统上唯一接近正确大小的设备,因此我的可移动驱动器必须是 sdd,并且它的主分区必须是 sdd1。(您的可能是 sdb 或 sdc;我的字母很高,因为我的电脑里有很多驱动器。)

sudo mount /dev/device /mnt您可以通过运行然后检查 /mnt 文件夹来测试以确保您拥有正确的设备,以查看该分区的内容是否正确。(请务必将“设备”替换为您自己的块设备。例如, sudo mount /dev/sdb1 /mnt。)要再次卸载设备,请使用sudo umount /dev/device

2. 查找设备的 UUID

我们之所以要这样做,是因为块设备可能会发生变化。例如,现在我的 16gb 驱动器是 sdd,但如果我向计算机添加更多驱动器,它可能会显示为 sde 或 sdf。此时,我的 fstab 会尝试安装错误的驱动器!与块设备标识符不同,UUID 内置于分区中,永远不会改变(除非您重新格式化驱动器)。这使得它成为一种更可靠的安装可移动驱动器的方法。

要找到您的设备 UUID,只需使用 blkid 命令:

sudo blkid

对于我的驱动器,我要查找的行如下所示(我已将实际的 UUID 替换为 Xs):

/dev/sdd1:UUID="XXXX-XXXX" 类型="vfat"

请注意,这不仅告诉我 UUID,还告诉我文件系统类型(我们稍后会需要它)。

3.编辑 fstab 文件

这是最棘手的一步。首先,在您最喜欢的文本编辑器中以 root 身份打开 /etc/fstab:

sudo gedit /etc/fstab

(请注意,如果您使用 Mate 桌面环境,则应该使用 pluma 而不是 gedit。KDE 也有自己的文本编辑器。)

现在,您需要在此文件末尾添加一行,以使驱动器在启动时自动挂载。(最好在#您的条目前添加一个描述性行(以 开头),以便让后来的人知道为什么添加此行。)就我而言,它看起来像这样(请注意,您必须更改此行以匹配在前面的步骤中收集的信息):

#External hard drive    
UUID=XXXX-XXXX /media/exdrive           vfat    defaults,user        0       0

第一节该行的 是要挂载的分区的 UUID。使用运行 时获取的 UUID blkid

第二部分是要将分区挂载到的文件夹。确保文件夹确实存在!在我的示例中,我可以使用sudo mkdir /media/exdrive创建要使用的文件夹。将此文件夹放在主文件夹之外可能是一个好主意,以便其他用户仍可访问该驱动器。如果您希望它更易于访问,您可以随时创建指向它的链接。

第三节定义您的分区应挂载为的文件系统。使用 的输出来blkid查找您的文件系统类型。我示例中的驱动器具有 fat32 文件系统,因此我需要使用vfat。或者,您可能有 ntfs、ext4 或其他类型。

第四节指定挂载选项。这很复杂,因此如果您想进一步了解该主题,可以在此处阅读:https://help.ubuntu.com/community/Fstab#Options 对于大多数遵循本指南的人来说,defaults,user应该可以正常工作。

最后两节(在我们的示例中为 0 和 0)与备份实用程序转储有关,以及 fsck 是否检查磁盘以及以何种顺序检查磁盘。在我们的设置中,两者都不需要,因此将两者都保留为 0 是安全的。

4.测试一下!

您的计算机现在应该在启动时自动安装您的驱动器,并且如果在启动后连接,仍然应该将其安装到正确的位置。

相关内容