CentOS如何用mnt命令挂载USB光驱和光盘镜像?

在 CentOS 这类基于 Linux 的操作系统中,所有硬件设备,包括硬盘、U盘、光盘等,都被视为文件,要访问这些设备上的数据,必须将它们“挂载”到文件系统树中的某个目录下。/mnt(mount的缩写)目录是系统预设的、专门用于临时挂载设备的标准位置,本文将详细介绍如何在 CentOS 系统中手动挂载和卸载 USB 存储设备以及光盘,并探讨如何实现开机自动挂载。

CentOS如何用mnt命令挂载USB光驱和光盘镜像?

准备工作:识别设备

在挂载任何设备之前,首要任务是识别其在系统中的设备名称,CentOS 提供了多种命令来完成这项工作,lsblk 是最直观和推荐使用的工具。

root 用户或使用 sudo 权限执行以下命令:

lsblk

该命令会以树状结构列出所有块设备,输出结果可能如下所示:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 238.5G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0   238G  0 part /
sdb      8:16   1  14.9G  0 disk 
└─sdb1   8:17   1  14.9G  0 part 
sr0     11:0    1  1024M  0 rom  

从输出中我们可以解读:

  • sda 是系统的主要硬盘。
  • sdb 是一个可移除设备(RM 列为 1),大小约 15GB,这通常就是我们插入的 USB 设备,它包含一个分区 sdb1,我们将要挂载的就是这个分区。
  • sr0 是一个只读存储设备(rom),通常代表光盘驱动器。

另一个传统但同样有效的命令是 fdisk -l,它会提供更详细的磁盘分区信息,但对于快速识别,lsblk 更为便捷。

挂载 USB 存储设备

识别出 USB 设备的分区名称(/dev/sdb1)后,即可开始挂载。

第一步:创建挂载点

虽然可以直接挂载到 /mnt 目录,但为了清晰和管理方便,建议为其创建一个专用的子目录。

sudo mkdir /mnt/myusb

第二步:执行挂载命令

挂载命令的基本格式是 mount [选项] <设备文件> <挂载点目录>

sudo mount /dev/sdb1 /mnt/myusb

mount 命令能够自动检测常见的文件系统(如 ext4, xfs, vfat),如果自动检测失败或需要指定特定的文件系统,可以使用 -t 参数,对于一个 Windows 格式的 FAT32 U盘:

sudo mount -t vfat /dev/sdb1 /mnt/myusb

对于 NTFS 格式的设备,CentOS 可能需要先安装 ntfs-3g 驱动:

sudo yum install ntfs-3g
sudo mount -t ntfs-3g /dev/sdb1 /mnt/myusb

第三步:验证挂载

CentOS如何用mnt命令挂载USB光驱和光盘镜像?

挂载成功后,可以通过以下两种方式验证:

  1. 使用 df -h 查看已挂载的文件系统及其空间使用情况。
  2. 直接列出挂载点目录的内容:ls -l /mnt/myusb

挂载光盘(CD/DVD)

挂载光盘的过程与 USB 类似,但设备名称通常是固定的。

第一步:创建挂载点

sudo mkdir /mnt/cdrom

第二步:执行挂载命令

光盘的设备文件通常是 /dev/sr0,其文件系统类型通常是 iso9660,但 mount 命令一般也能自动识别。

sudo mount /dev/sr0 /mnt/cdrom

或者明确指定文件系统类型:

sudo mount -t iso9660 /dev/sr0 /mnt/cdrom

第三步:验证挂载

同样,使用 ls -l /mnt/cdromdf -h 来查看光盘内容。

安全卸载:umount 命令

当不再需要访问设备时,必须先卸载它,然后再物理移除,卸载操作能确保所有缓存中的数据都被写入设备,防止数据损坏。

卸载命令的格式是 umount <挂载点目录>umount <设备文件>

sudo umount /mnt/myusb
# 或者
sudo umount /dev/sdb1

卸载光盘:

sudo umount /mnt/cdrom

常见问题:设备正忙
如果执行 umount 时提示 target is busy,表示有进程正在访问该挂载点下的文件,可以使用 lsoffuser 命令找出是哪个进程占用了资源,然后终止该进程再卸载。

# 查看占用 /mnt/myusb 的进程
sudo lsof +D /mnt/myusb
# 或
sudo fuser -mv /mnt/myusb

找到进程ID(PID)后,使用 kill -9 <PID> 终止进程,然后再次尝试卸载。

CentOS如何用mnt命令挂载USB光驱和光盘镜像?

实现开机自动挂载:/etc/fstab

如果希望某个设备在系统启动时自动挂载,可以将其配置信息写入 /etc/fstab 文件,该文件包含了系统启动时需要挂载的文件系统的详细信息。

使用 sudo vi /etc/fstab 编辑文件,并添加新行,每行代表一个挂载规则,包含六个字段,用空格或制表符分隔。

字段 含义 示例
设备文件 要挂载的设备路径或UUID /dev/sdb1UUID="xxxx-xxxx"
挂载点 挂载到的目录 /mnt/myusb
文件系统类型 设备的文件系统 vfat, ntfs-3g, ext4, iso9660
挂载选项 挂载参数,多个用逗号分隔 defaults, auto, ro, nofail
dump 备份设置,0表示不备份 0
pass 开机检查顺序,0表示不检查 0

示例配置:

为 USB 设备添加一行(建议使用 nofail 选项,避免设备未插入时启动失败):
UUID="YOUR_USB_UUID" /mnt/myusb ntfs-3g defaults,nofail 0 0

为光盘驱动器添加一行(使用 noauto 表示不自动挂载,但允许手动 mount /mnt/cdrom 快速挂载):
/dev/sr0 /mnt/cdrom iso9660 defaults,noauto,ro 0 0

配置完成后,可以执行 sudo mount -a 命令来测试 /etc/fstab 文件中的所有条目是否正确无误,若无错误输出,则配置成功。


相关问答 (FAQs)

问题1:挂载后,普通用户无法写入USB设备,提示权限不足,怎么办?

解答: 这个问题通常是因为挂载点目录的所有者或权限设置不当,有几种解决方案:

  1. 使用 sudo:最直接的方法,所有操作都以管理员权限进行。
  2. 更改挂载点权限:挂载后,使用 sudo chown username:username /mnt/myusb 将挂载点的所有者改为当前普通用户,但此方法在每次重新挂载后可能失效。
  3. 使用挂载选项(推荐):在 mount 命令或 /etc/fstab 中加入 uidgid 选项,通过 id your_username 命令查看你的用户ID(UID)和组ID(GID),在挂载时指定它们,
    sudo mount -o uid=1000,gid=1000 /dev/sdb1 /mnt/myusb
    /etc/fstab 中,则可以写成:
    UUID="YOUR_USB_UUID" /mnt/myusb vfat defaults,uid=1000,gid=1000,nofail 0 0
    这样,该用户就能像操作普通文件夹一样读写设备了。

问题2:执行 umount 命令时,系统提示“target is busy”(设备正忙),该如何处理?

解答: 这个提示表示有程序或进程正在使用挂载点 /mnt/myusb 下的文件或目录,强制卸载可能导致数据丢失。
正确的处理步骤是:

  1. 找出占用进程:使用 lsoffuser 命令定位是哪个进程在占用。
    sudo lsof +D /mnt/myusb
    # 或者
    sudo fuser -mv /mnt/myusb

    这两个命令会列出占用该目录的进程ID(PID)和进程名。

  2. 终止占用进程:根据上一步得到的PID,使用 kill 命令安全地终止进程,如果PID是 1234:
    sudo kill 1234

    如果进程无法正常终止,可以使用 kill -9 1234 强制终止。

  3. 重新尝试卸载:在确认所有占用进程都已退出后,再次执行 sudo umount /mnt/myusb 命令,通常就能成功卸载了。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-29 06:43
下一篇 2025-10-29 06:47

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信