如何在 Ubuntu 中挂载存储设备:从入门到高级的完整指南

如何在 Ubuntu 中挂载存储设备:从入门到高级的完整指南

目次 1 1. “挂载”在 Ubuntu 中是什么意思?1.1 挂载的意义与作用1.2 文件系统与设备之间的关系1.3 Ubuntu 与其他操作系统(Windows / macOS)的区别2 2. Ubuntu 手动挂载:基础方法2.1 mount 命令的基本语法与用法2.2 创建与管理挂载点2.3 如何识别设备名称和 UUID2.4 使用 umount 卸载设备3 3. 开机时自动挂载(fstab)3.1 什么是 /etc/fstab?3.2 使用 UUID 进行更安全的配置3.3 编辑 fstab 时避免错误的技巧4 4. 如何挂载 USB 闪存驱动器和外部硬盘4.1 FAT32、exFAT 与 NTFS 文件系统的区别4.2 检查设备并手动挂载的步骤4.3 自动挂载失效时的处理办法4.4 安全移除设备 (umount)5 5. 挂载网络驱动器 (NAS)5.1 挂载 Windows 共享 (SMB / CIFS)5.2 挂载 NFS 共享5.3 安全管理凭据(用户名 / 密码)5.4 防止日文文件名乱码(区域设置)6 6. 常见错误与故障排除6.1 当出现 “Target Is Busy” 时6.1.1 错误信息:6.1.2 常见原因:6.1.3 解决方案:6.2 解决 “Permission Denied” 错误6.2.1 错误信息:6.2.2 解决方案:6.3 自动挂载无效时6.3.1 要检查的事项:6.3.2 调试:6.4 使用 dmesg 和 journalctl 检查日志6.5 其他常见的挂载相关错误7 7. 参考:常见的挂载命令和用法7.1 ■ 检查设备7.1.1 lsblk7.1.2 blkid7.2 ■ 挂载和卸载7.2.1 mount7.2.2 umount7.3 ■ 自动挂载7.3.1 /etc/fstab7.3.2 mount -a7.4 ■ 故障排除工具7.4.1 dmesg7.4.2 journalctl7.4.3 lsof7.4.4 fuser7.5 ■ 网络共享7.5.1 cifs-utils7.5.2 nfs-common7.5.3 udisksctl8 8. 常见问题解答:Ubuntu 中的挂载常见问题8.1 Q1. 为什么我的 USB 设备没有自动挂载?8.2 Q2. 编辑 fstab 后 Ubuntu 无法启动。我该怎么办?8.3 Q3. 如何自动挂载 Windows 共享文件夹?8.4 Q4. 如何在每次挂载时免输入密码?8.5 Q5. 如何列出当前已挂载的设备?8.6 Q6. 即使关闭应用程序后仍出现 “Target is busy”9 9. 总结9.1 关键要点1. “挂载”在 Ubuntu 中是什么意思?挂载的意义与作用在 Linux 和 Ubuntu 中,“挂载”指的是将存储设备附加到文件系统的过程。 例如,仅仅把 USB 闪存盘或外部硬盘插入电脑,并不会立刻让其内容可访问。Ubuntu 会执行一个称为“挂载”的过程,将该存储设备的内容显示在特定位置,如 /media 或 /mnt,这些位置被称为挂载点。

可以把它想象成把一个“组件”(存储设备)物理地连接到“主系统”(Ubuntu),从而最终能够使用其内容。

这一概念不仅适用于 USB 等可移动介质,也适用于内部硬盘分区、SSD,甚至网络共享文件夹。

文件系统与设备之间的关系在 Linux(包括 Ubuntu)中,所有文件和目录都存在于从根目录 (/) 开始的单一层次结构中。 要将外部设备整合进来,需要先创建一个空目录作为挂载点,然后将设备“附加”到该目录。挂载后,系统会把该设备视为文件系统的一部分,就好像它一直存在一样。

例如,如果你在 /media/usb 处挂载一个 USB 驱动器,它的内容就会出现在该目录下,并且可以像其他文件一样进行复制、编辑或删除。

关键点在于 Ubuntu 必须先挂载设备才能访问它。即使系统已经识别到硬件,在挂载完成之前也无法进行文件的读写操作。

Ubuntu 与其他操作系统(Windows / macOS)的区别在 Windows 中,插入 USB 设备通常会自动分配一个驱动器字母,如 D: 或 E:。而在 Ubuntu 中,设备是否自动挂载取决于系统设置。在桌面环境下,大多数存储设备会自动挂载,但在 服务器环境或以终端为主的设置中,往往需要手动挂载。

另一个区别是文件系统的认知。Windows 用户很少需要考虑 NTFS、FAT32 等文件系统类型,但在 Ubuntu 上,挂载选项和兼容性会因文件系统而异。例如,要完整支持 NTFS 设备,可能需要安装 ntfs-3g 包。

总之,Ubuntu 中的挂载不仅仅是连接硬件——它是一个 将存储整合进操作系统文件系统的关键过程。在接下来的章节中,我们将详细探讨实用的挂载方法和配置示例。

2. Ubuntu 手动挂载:基础方法mount 命令的基本语法与用法要在 Ubuntu 中手动挂载存储设备,需要使用 mount 命令。 虽然语法简洁,但功能极其强大且灵活。

sudo mount [options] device_path mount_point

例如,要将 USB 驱动器(/dev/sdb1)挂载到目录 /mnt/usb,可以使用以下命令:

sudo mount /dev/sdb1 /mnt/usb

执行该命令后,USB 驱动器上的文件将出现在 /mnt/usb 中,你即可对其进行读写操作。

请注意,挂载需要 root 权限,因此必须使用 sudo 来执行该命令。

创建与管理挂载点挂载点是用于设备附加位置的 空目录。 需要提前创建该目录。

sudo mkdir -p /mnt/usb

-p 选项会在父目录不存在时自动创建它们。 临时的手动挂载通常放在 /mnt 或 /media 下,但你也可以使用任何自己喜欢的目录。

设备挂载后,挂载点目录会显示设备的文件。卸载后,它会恢复为一个空目录。

如何识别设备名称和 UUID(此部分内容待续)

要挂载设备,必须知道它的 设备名称(例如 /dev/sdb1)。可以使用以下命令进行检查:

lsblk

lsblk 命令列出所有已连接的块设备(硬盘、固态硬盘、USB 驱动器等),包括它们的大小和挂载状态。

如果需要检查 UUID(通用唯一标识符),请使用:

sudo blkid

blkid 命令显示每个设备的 UUID 和文件系统类型(ext4、ntfs、fat32 等)。UUID 在使用 fstab 自动挂载时尤为重要,后面会详细讨论。

使用 umount 卸载设备要安全地分离已挂载的设备,请使用 umount 命令。 例如,卸载挂载在 /mnt/usb 的设备:

sudo umount /mnt/usb

也可以直接指定设备名称:

sudo umount /dev/sdb1

在未先卸载的情况下物理拔除设备可能导致数据损坏。在断开连接前务必先卸载设备。

3. 开机时自动挂载(fstab)什么是 /etc/fstab?如果希望 Ubuntu 在启动时自动挂载设备,需要使用 /etc/fstab 文件。 该文件是一个 系统范围的配置文件,定义了在启动过程中挂载哪些设备。

例如,如果经常使用外部硬盘或额外的分区,并且想避免每次手动挂载,只需在 fstab 中添加相应条目即可实现自动化。

但请注意:错误的条目可能导致系统无法正常启动。

使用 UUID 进行更安全的配置在 fstab 中可以使用设备名称(如 /dev/sdb1)或 UUID 来指定设备。强烈推荐使用 UUID。 设备名称可能会因连接顺序而变化,而 UUID 则保持不变。

首先,检查 UUID:

sudo blkid

示例输出:

/dev/sdb1: UUID="1234-ABCD" TYPE="vfat"

然后在 /etc/fstab 中添加如下行:

UUID=1234-ABCD /mnt/usb vfat defaults 0 0

各字段的含义如下:

FieldDescriptionUUID=…Unique identifier of the target device/mnt/usbMount pointvfatFile system typedefaultsStandard mount options0 0Backup and filesystem check settings编辑 fstab 时避免错误的技巧fstab 中的错误可能导致严重的启动问题。 为降低风险,请遵循以下注意事项:

始终创建备份:sudo cp /etc/fstab /etc/fstab.bak确保挂载点已存在:使用 sudo mkdir -p /mnt/usb 创建使用以下命令测试配置:sudo mount -a

该命令尝试挂载 fstab 中定义的所有条目。如果没有错误提示,则配置有效。

4. 如何挂载 USB 闪存驱动器和外部硬盘FAT32、exFAT 与 NTFS 文件系统的区别在 Ubuntu 中挂载 USB 闪存驱动器或外部硬盘时,需要检查 文件系统类型。以下三种是最常见的:

File SystemCharacteristicsUbuntu SupportFAT32Readable on almost all operating systemsSupported by defaultexFATSupports large files, high compatibilitySupported by default on Ubuntu 20.04+, older versions require exfat-fuseNTFSStandard file system on WindowsRead support by default; ntfs-3g recommended for full write support要完整支持 NTFS 格式的设备,请安装 ntfs-3g:

sudo apt update

sudo apt install ntfs-3g

检查设备并手动挂载的步骤连接 USB 设备后,首先使用以下命令检查设备名称:

lsblk

示例输出:

sdb 8:16 1 16G 0 disk

└─sdb1 8:17 1 16G 0 part /mnt/usb

此时,/dev/sdb1 为目标分区。创建挂载点:

sudo mkdir -p /mnt/usb

然后挂载设备:

sudo mount /dev/sdb1 /mnt/usb

设备内容将出现在 /mnt/usb 下,可正常访问。

自动挂载失效时的处理办法在 GNOME 等桌面环境中,USB 设备通常会自动挂载。但在 服务器环境 或某些特定配置下,自动挂载可能失效。

尝试以下解决方案:

使用文件管理器重新连接(桌面环境)使用 udisksctl 命令:udisksctl mount -b /dev/sdb1

使用 dmesg 检查内核信息:dmesg | tail

如果没有出现 “new USB device” 之类的消息,问题可能是电缆或物理连接故障。

安全移除设备 (umount)在未卸载的情况下拔出 USB 设备可能导致数据损坏。拔出前请务必先卸载:

sudo umount /mnt/usb

如果不知道挂载点,可以直接指定设备:

sudo umount /dev/sdb1

卸载成功后,即可安全移除设备。

5. 挂载网络驱动器 (NAS)挂载 Windows 共享 (SMB / CIFS)Ubuntu 可以使用 SMB/CIFS 协议挂载来自 Windows 系统或 NAS 设备的共享文件夹,使其像本地目录一样访问。

首先,安装所需的软件包:

sudo apt update

sudo apt install cifs-utils

创建挂载点:

sudo mkdir -p /mnt/share

然后挂载共享文件夹:

sudo mount -t cifs //192.168.1.100/share /mnt/share -o username=USERNAME,password=PASSWORD,iocharset=utf8

关键点:

//192.168.1.100/share : IP 地址和共享名称/mnt/share : 本地挂载点-o 选项:用户名、密码、字符编码iocharset=utf8 : 防止日文文件名出现乱码如果不想在命令行中暴露密码,请参阅下面的安全凭据管理章节。

挂载 NFS 共享NFS(网络文件系统)非常适合在 Linux 系统之间进行文件共享。

安装所需的客户端软件包:

sudo apt install nfs-common

创建挂载点:

sudo mkdir -p /mnt/nfs

挂载 NFS 共享:

sudo mount -t nfs 192.168.1.200:/export/share /mnt/nfs

根据服务器配置调整路径。

要在启动时自动挂载,请在 /etc/fstab 中添加以下条目:

192.168.1.200:/export/share /mnt/nfs nfs defaults 0 0

安全管理凭据(用户名 / 密码)直接在挂载命令中包含密码出于安全考虑并不推荐。相反,您可以使用 凭据文件。

创建凭据文件(例如):sudo nano /etc/samba/credentials

文件内容:

username=your_username

password=your_password

限制文件权限:sudo chmod 600 /etc/samba/credentials

在 fstab 中添加以下条目://192.168.1.100/share /mnt/share cifs credentials=/etc/samba/credentials,iocharset=utf8 0 0

这使得在启动时自动挂载而不暴露密码。

防止日文文件名乱码(区域设置)如果在挂载 SMB 共享时,日文文件名显示为 “????.txt”,通常是 字符编码 的问题。

确保指定了以下选项:

iocharset=utf8

同时检查系统的区域设置:

locale

如果没有 ja_JP.UTF-8,请安装并启用日文区域设置:

sudo apt install language-pack-ja

sudo update-locale LANG=ja_JP.UTF-8

注销或重启以应用更改。

6. 常见错误与故障排除当出现 “Target Is Busy” 时错误信息:umount: /mnt/usb: target is busy.

当您尝试卸载的设备 正被一个或多个进程使用 时会出现此错误。

常见原因:另一个终端当前 cd 到该目录有文件在图形界面应用中打开后台进程正在访问设备上的文件解决方案:确认使用该挂载点的进程:lsof /mnt/usb

终止或关闭这些进程

如果问题仍然存在,使用 fuser :

sudo fuser -km /mnt/usb

此命令会强制终止使用该挂载点的进程。请谨慎使用。

解决 “Permission Denied” 错误错误信息:mount: /mnt/share: permission denied.

此错误表示挂载点或设备权限不足。

解决方案:确保使用 sudo:sudo mount /dev/sdb1 /mnt/usb

如有必要,调整挂载点所有权:sudo chown $USER:$USER /mnt/usb

对于 SMB 共享,在服务器上验证凭据和访问权限自动挂载无效时即使配置了 fstab,设备也可能在启动时无法自动挂载。

要检查的事项:fstab 中的语法错误(间距、文件系统类型)正确的 UUID(使用 sudo blkid 验证)挂载点存在(使用 mkdir 创建)网络共享在启动时尚未可用(SMB / NFS)调试:sudo mount -a

如果出现错误,请更正相应的 fstab 条目。

使用 dmesg 和 journalctl 检查日志详细的错误信息通常记录在系统日志中。

dmesg | tail -n 20

对于更详细的日志:

journalctl -xe

这些日志有助于识别硬件问题或无效的挂载选项。

其他常见的挂载相关错误SymptomCauseSolutionmount: unknown filesystem type ‘exfat’exFAT not supportedsudo apt install exfat-fuse exfat-utilsI/O error when mounting SMBSMB version mismatchAdd vers=1.0 or vers=3.0 to mount optionsFilenames appear as ????Locale / encoding issueAdd iocharset=utf8 or review locale settings 7. 参考:常见的挂载命令和用法■ 检查设备lsblk显示连接的设备和分区结构。

lsblk

示例:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sdb 8:16 1 16G 0 disk

└─sdb1 8:17 1 16G 0 part /mnt/usb

blkid显示 UUID 和文件系统类型。

sudo blkid

■ 挂载和卸载mount用于挂载存储的基本命令。

sudo mount /dev/sdb1 /mnt/usb

指定文件系统和选项:

sudo mount -t vfat -o uid=1000,gid=1000 /dev/sdb1 /mnt/usb

umount卸载已挂载的设备。

sudo umount /mnt/usb

或者指定设备:

sudo umount /dev/sdb1

■ 自动挂载/etc/fstab用于在系统启动时挂载设备的配置文件。

sudo nano /etc/fstab

示例条目:

UUID=1234-ABCD /mnt/usb vfat defaults 0 0

mount -a验证并挂载 fstab 中定义的所有条目。

sudo mount -a

■ 故障排除工具dmesg检查内核日志中的挂载相关错误。

dmesg | tail -n 20

journalctl显示详细的系统日志。

journalctl -xe

lsof识别使用挂载点的进程。

lsof /mnt/usb

fuser强制终止使用挂载点的进程。

sudo fuser -km /mnt/usb

■ 网络共享cifs-utils用于 SMB/CIFS 挂载所需。

sudo apt install cifs-utils

nfs-common用于 NFS 挂载所需。

sudo apt install nfs-common

udisksctl在非 GUI 环境中进行简单的挂载/卸载。

udisksctl mount -b /dev/sdb1

udisksctl unmount -b /dev/sdb1

8. 常见问题解答:Ubuntu 中的挂载常见问题Q1. 为什么我的 USB 设备没有自动挂载?A. USB 设备通常在桌面环境中自动挂载,但以下情况下自动挂载可能失败:

您正在使用 Ubuntu Server 或非 GUI 环境设备未被正确识别(电缆或硬件问题)设备没有文件系统或已损坏使用 lsblk 或 dmesg 检查设备识别,然后尝试手动挂载。

Q2. 编辑 fstab 后 Ubuntu 无法启动。我该怎么办?A. 不正确的 fstab 条目可能导致系统停止在维护模式。

恢复步骤:

登录维护模式并编辑 fstab :sudo nano /etc/fstab

使用 # 注释掉不正确的行运行 mount -a 以确认无错误重启系统编辑前始终创建备份:

sudo cp /etc/fstab /etc/fstab.bak

Q3. 如何自动挂载 Windows 共享文件夹?A. 使用凭据文件向 /etc/fstab 添加条目。

//192.168.1.100/share /mnt/share cifs credentials=/etc/samba/credentials,iocharset=utf8 0 0

使用 sudo mount -a 验证功能是否正常。

Q4. 如何在每次挂载时免输入密码?A. 对 SMB 挂载使用凭据文件。对于本地存储设备,正确配置 fstab 可消除密码提示。

Q5. 如何列出当前已挂载的设备?A. 使用以下任意命令:

mount | column -t

或使用更直观的方式查看:

lsblk -f

Q6. 即使关闭应用程序后仍出现 “Target is busy”A. 查找残留的进程:

lsof /mnt/usb

或强制终止它们:

sudo fuser -km /mnt/usb

然后重新尝试 umount。

9. 总结在 Ubuntu 中挂载是 有效管理存储设备和网络共享的基础技能。 本文涵盖了从基本概念到高级配置及故障排除的全部内容。

关键要点挂载将设备整合进 Linux 文件系统手动挂载提供灵活性和可控性fstab 实现可靠的自动挂载USB、外部硬盘和 NAS 需要针对文件系统的处理正确卸载可防止数据损坏故障排除工具帮助高效解决常见问题掌握后,Ubuntu 的挂载系统将提供 卓越的灵活性和强大功能。 运用本指南中的命令和概念,构建一个稳定高效、符合您需求的存储环境。

这些知识将支持从日常文件管理到服务器运维及 NAS 集成的所有工作,帮助您自信、精准地使用 Ubuntu。

相关内容

科目二考试用车是什么车?
365bet足球比

科目二考试用车是什么车?

📅 09-12 👁️ 2689
CF冲锋枪排名一览表2024最新排行推荐
365bet足球比

CF冲锋枪排名一览表2024最新排行推荐

📅 12-24 👁️ 125
淘宝分销平台在哪里?找分销注意什么?
365网站客服电话

淘宝分销平台在哪里?找分销注意什么?

📅 08-25 👁️ 134
《阴阳师》骨女哪里多 骨女悬赏封印位置
365网站客服电话

《阴阳师》骨女哪里多 骨女悬赏封印位置

📅 08-11 👁️ 8262