CentOS 挂载NTFS文件系统
CentOS 系统中,默认 不支持 NTFS 文件系统, 需要安装 工具 实现挂载
步骤 1:安装 EPEL 扩展包
EPEL 提供 NTFS 支持工具
sudo yum install epel-release -y
步骤 2:安装 NTFS-3G 工具
NTFS-3G 是一个支持 NTFS 文件系统的开源驱动程序
sudo yum install ntfs-3g -y
验证安装
ntfs-3g --version
输出示例(版本号可能不同)
ntfs-3g 2022.10.3 integrated FUSE 28
若提示 command not found,需检查安装是否成功
步骤 3:连接硬盘并查看设备信息
插入 NTFS 格式的硬盘后,使用以下命令查看设备信息:
sudo fdisk -l
找到对应的设备名称,例如 /dev/sdb1
步骤 4:创建挂载点
创建一个目录作为挂载点,例如:
sudo mkdir -p /mnt/usb
步骤 5:挂载 NTFS 硬盘
使用 ntfs-3g 挂载硬盘:
sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs
要支持中文文件名,使用以下命令:
sudo mount -t ntfs-3g -o iocharset=cp936 /dev/sdb1 /mnt/ntfs
步骤 6:验证挂载
运行以下命令确认挂载是否成功:
df -h
查看已挂载的文件系统:查看挂载点空间使用情况 # 列出分区内文件
df -h /mnt/ntfs
ls -l /mnt/ntfs
永久挂载 NTFS 分区(通过 /etc/fstab)若需开机自动挂载(如内部硬盘的 NTFS 分区),需配置 文件(filesystem table)
/etc/fstab
5.1 理解 /etc/fstab 格式#
/etc/fstab 每行定义一个文件系统的挂载规则,格式如下:
<UUID或设备路径> <挂载点> <文件系统类型> <挂载选项>
UUID/设备路径:推荐使用 UUID(避免设备路径变动导致挂载失败)
挂载点:如 /mnt/ntfs。
文件系统类型:NTFS 需填 ntfs-3g
挂载选项:用逗号分隔的参数(如 defaults、uid=1000 等)
dump:是否备份(0=不备份,1=备份),NTFS 填 0
fsck:开机时是否检查文件系统(0=不检查,1/2=检查优先级),NTFS 填 0(Linux 工具无法完全检查 NTFS,需在 Windows 中执行)
5.2 编辑 /etc/fstab#
获取 UUID:参考 2.2 节,假设 NTFS 分区 UUID 为 1234-ABCD-EFGH-IJKL。
添加挂载规则
sudo nano /etc/fstab
# 用文本编辑器打开(nano 或 vim)
在文件末尾添加一行(替换为你的 UUID、挂载点和选项)
UUID=1234-ABCD-EFGH-IJKL /mnt/ntfs ntfs-3g defaults,uid=1000,gid=1000,umask=002 0 0
参数说明:
defaults:默认选项(rw, suid, dev, exec, auto, nouser, async)。
uid=1000:指定挂载后文件的所有者 UID(用户 ID,可通过 id 命令查看当前用户 UID)。
gid=1000:指定挂载后文件的所属组 GID(组 ID)。
umask=002:控制文件权限掩码(002 表示文件权限为 775,目录为 775,避免权限问题)。
5.3 验证 /etc/fstab 配置#
必须验证配置(错误的 /etc/fstab 会导致系统无法启动)
sudo mount -a
# 加载 /etc/fstab 中的所有配置(无需重启)
执行
df -h /mnt/ntfs
确认挂载成功
若报错,检查 UUID、挂载点路径或选项是否正确
5.4 修复错误的 /etc/fstab(紧急情况)#
若因 /etc/fstab 错误导致系统启动失败,可在启动时进入救援模式:
启动时按 e 编辑 GRUB 引导项
在 linux 行末尾添加 init=/bin/bash,按 Ctrl+X 启动
挂载根分区为可写:
mount -o remount,rw
编辑 /etc/fstab 修复错误:nano /etc/fstab
6. 权限配置与优化#
NTFS 本身不支持 Linux 的 POSIX 权限模型,ntfs-3g 通过挂载选项模拟权限,常见配置如下
6.1 基础权限选项#
uid=<用户ID>, gid=<组ID>
设置挂载点下所有文件的所有者和所属组(避免默认的 root 权限)。
查看当前用户的 UID/GID:
id # 输出示例:uid=1000(user) gid=1000(user) groups=1000(user),…
umask=<掩码>:控制文件/目录的默认权限(与 Linux umask 相反,umask=002 表示权限为 775)。
umask=000:所有用户可读可写可执行(不推荐,安全性低)。
umask=022:所有者读写执行,组和其他只读执行(755)。
dmask=<目录掩码>, fmask=<文件掩码>:分别控制目录和文件的权限(优先级高于 umask)。
例如:dmask=007,fmask=007 表示仅所有者可访问(目录 770,文件 660)
6.2 高级选项#
ro:只读挂载(适合仅需查看的场景)。
rw:读写挂载(默认,需 ntfs-3g 支持)。
noatime:禁止更新文件访问时间(提升性能)。
big_writes:启用大文件写入优化(适合传输大文件)。
示例 /etc/fstab 配置(兼顾权限与性能)
UUID=1234-ABCD-EFGH-IJKL /mnt/ntfs ntfs-3g defaults,uid=1000,gid=1000,umask=002,noatime
步骤 7:卸载硬盘
完成操作后,卸载硬盘以确保数据安全:
sudo umount /mnt/usb
注意事项
确保 EPEL 和 ntfs-3g 的版本与 CentOS 系统版本兼容
如果遇到权限问题,请以 root 用户身份执行命令
对于生产环境,不建议随意更新系统内核或软件包
通过以上步骤 可以成功在 CentOS 系统中挂载 NTFS 格式的硬盘
上一篇: centos 自动登录
下一篇: CentOS9 firewall防火墙
