外部驱动器不显示为已安装,但显示在根文件系统中

外部驱动器不显示为已安装,但显示在根文件系统中

所以我正在使用以下命令运行 Linux Mint:

  • 一个直接插入 USB 3.0 端口的外部驱动器
  • 带有两个 HDD 的外部驱动器托架(每个可用插槽各一个)

我的 fstab 包含以下内容:

# Passport is the external drive connected directly
UUID=7e519cb9-3714-4426-932a-f4fc249037f0 /media/passport   ext4 defaults,nofail  0    0

# Bullet is one of the drives in the external bay
UUID=6f7a7259-ecf1-437e-bf82-afc6f9d055c4 /media/bullet   ext4 defaults,nofail  0    0

如果我执行 df,我只会看到已安装的护照:

$ df -h | egrep "passport|bullet"
/dev/sdb1       1.8T   36G  1.7T   3% /media/passport

但我可以导航/ls /media/bullet

$ ls -ltr /media/bullet | wc -l
8

不知道这是如何发生的,因为我的印象是挂载应该与根文件系统“分离”,但当我执行以下操作时它会显示出来du

$ du -kx / | sort -n | grep bullet | tail -1
2657956 /media/bullet

对于这是如何发生以及如何解决有什么想法吗?

编辑一些附加细节:

  • 我的 BIOS 将外部驱动器作为启动顺序的主要驱动器
  • 由于上述原因,我在重新启动时关闭了驱动器电源/拔掉了驱动器
  • 我认为通电后所有东西都插上了
  • 然后跑了sudo mount -a

EDIT2:所以我做了以下事情:

  • 关闭机器
  • 拔掉外部驱动器的插头并关闭 HDD 托架
  • 已启动
  • 发现两个驱动器都不存在df
  • 插入外部驱动器
  • 它自动安装在正确的位置并作为单独的驱动器
  • 打开 HDD 托架
  • 与之前相同的场景,其中文件显示为根文件系统的一部分
  • dfsudo fdisk -l不做如何驱动
  • 这几乎就像服务器认为驱动器是机器的一部分一样
  • HDD 托架中的另一个驱动器显示为常规驱动器,这更令人困惑

答案1

这种行为并不一定令人惊讶,也不一定表明存在严重错误。在 Linux 中,挂载点首先是根文件系统上的一个目录,可以不受限制地使用(当然要遵守通常的访问权限)。

当您实际使用以下命令将文件系统附加到挂载点时,挂载点的特殊含义就出现了:mount。写入目录的任何内容它是一个挂载点,然后被附加到它的外部文件系统的内容所遮蔽,但一旦卸载外部文件系统,它将再次变得可访问。

因此,文件驻留在未连接外部硬盘的事实/media/bullet可能是由于某些程序在您要挂载的文件系统尚未挂载时写入该目录的结果。您可以简单地删除或移动这些文件,并继续按照您最初的预期使用该目录作为安装点。

相关内容