挂载在 /etc/fstab 中找不到设备

Dou*_*e S 38 usb mount 14.04

这是我在 Linux 上的第二天。我在安装 USB 驱动器时遇到困难。它显示此错误:

mount: can't find /dev/sdb1/mnt in /etc/fstab or /etc/mtab
Run Code Online (Sandbox Code Playgroud)

我怎样才能摆脱这个错误?

Ron*_*eau 45

为什么会出现这个错误?

您可能忘记告诉mount在哪里安装驱动器。

Linux使用设备文件(/dev/sda/dev/sdb1,等)。与 Windows 驱动器(C:D:等)不同,您无法直接访问它们(cd /dev/sdb1不可避免地会失败,告诉您它不是目录而是文件)。如果你想打开一个驱动器mount,你需要提供一个挂载点。挂载点是一个目录,您的 USB 驱动器将在其中打开并且您可以在其中访问您的文件。


解决方案

  1. 创建一个目录,用作驱动器的挂载点:

    mkdir /mnt/mydrive
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用以下命令挂载您的驱动器:

    mount /dev/sdb1 /mnt/mydrive
    
    Run Code Online (Sandbox Code Playgroud)

    注意:如果您不知道驱动器的设备文件,您可以运行sudo fdisk -llsblk来识别您要查找的分区。

  3. 现在,如果您运行ls /mnt/mydrive,它应该列出您驱动器的文件。

  4. 完成后,请不要忘记在USB 驱动器从计算机上移除之前卸载它:

    umount /dev/sdb1
    
    Run Code Online (Sandbox Code Playgroud)

有关此错误的更多信息

/etc/fstab是一个文件,您可以在其中将分区与挂载点相关联,从而允许您运行mount <device>而不是mount <device> <mountpoint>. 这就是为什么你会得到这个令人困惑的错误。

fstab有更多用途,例如在启动时挂载分区等。Arch Linux wiki 上有关fstab 的更多信息