Linux如何挂载NTFS格式的Windows硬盘/U盘?

挂载前的准备工作

  1. 安装 NTFS 支持工具
    Linux 内核原生支持 NTFS 读取,但完整读写需安装 ntfs-3g(开源驱动):

    # Debian/Ubuntu 系
    sudo apt update && sudo apt install ntfs-3g
    # RHEL/CentOS/Fedora 系
    sudo yum install epel-release && sudo yum install ntfs-3g  # CentOS 7
    sudo dnf install ntfs-3g                                  # Fedora/CentOS 8+
  2. 识别 NTFS 设备
    插入设备后,使用以下命令查看磁盘标识符(如 /dev/sdb1):

    sudo fdisk -l  # 列出所有磁盘分区
    sudo lsblk -f  # 显示分区文件系统类型

    ✅ 输出示例:

    sdb1  ntfs   MyPassport  ABCDEF0123456789

手动挂载 NTFS 分区

  1. 创建挂载点目录

    sudo mkdir /mnt/ntfs_drive  # 推荐在 /mnt 下创建
  2. 执行挂载命令

    sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs_drive
    • 关键参数说明
      -t ntfs-3g:指定文件系统类型
      /dev/sdb1:替换为你的设备标识符
      /mnt/ntfs_drive:替换为你的挂载目录
  3. 验证挂载结果

    df -hT | grep ntfs

    ✅ 成功输出示例:

    /dev/sdb1  ntfs-3g  1.8T  1.2T  600G  67% /mnt/ntfs_drive

配置开机自动挂载

修改 /etc/fstab 文件实现永久挂载:

  1. 备份原文件(重要!)

    sudo cp /etc/fstab /etc/fstab.bak
  2. 编辑 fstab 文件

    sudo nano /etc/fstab

    添加以下行(根据需求调整参数):

    /dev/sdb1  /mnt/ntfs_drive  ntfs-3g  defaults,uid=1000,gid=1000,umask=022  0 0
    • 参数详解
      defaults:标准挂载选项(包含读写)
      uid=1000,gid=1000:将文件所有权赋予当前用户(通过 id -u 查 uid)
      umask=022:控制新建文件权限(此处默认权限为755)
      0 0:禁用备份与磁盘检查
  3. 测试并生效

    sudo mount -a  # 无报错则配置正确

高级选项与故障排除

  • 强制修复只读问题(当文件系统不干净时):

    sudo ntfsfix /dev/sdb1  # 修复后重新挂载
  • 指定字符集挂载(解决中文乱码):

    sudo mount -t ntfs-3g -o iocharset=utf8 /dev/sdb1 /mnt/ntfs_drive
  • 安全卸载设备

    sudo umount /mnt/ntfs_drive  # 卸载前确保无程序访问该目录

注意事项

  1. 数据安全第一

    • 避免强制断电,卸载前务必执行 umount
    • Windows 启用”快速启动”时,NTFS 分区可能被标记为休眠状态,导致 Linux 只读挂载,需在 Windows 中关闭此功能(控制面板 > 电源选项 > 选择电源按钮功能 > 取消”启用快速启动”)。
  2. 权限管理

    • 若需普通用户直接读写,fstab 中必须指定 uidgid
    • 使用 umaskfmask/dmask 控制文件/目录权限(如 umask=000 允许所有用户读写)。
  3. 兼容性说明

    • ntfs-3g 支持 NTFS 全功能(符号链接、稀疏文件等),但不兼容 Windows 加密文件系统(EFS)。

引用说明

本文操作基于以下权威来源:

  1. NTFS-3G 官方文档:https://github.com/tuxera/ntfs-3g/wiki
  2. Linux man 手册页:man mountman ntfs-3g
  3. Ubuntu 社区 Wiki:https://help.ubuntu.com/community/MountingWindowsPartitions

重要提示:修改系统配置(如 fstab)存在风险,操作前请备份数据,如遇复杂问题,建议查阅官方文档或向发行版社区求助。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8691.html

(0)
酷番叔酷番叔
上一篇 2025年7月26日 06:43
下一篇 2025年7月26日 06:56

相关推荐

  • 如何在Linux系统中开启SSH密钥登录认证功能?

    在Linux系统中,开启SSH密钥登陆能够显著提升服务器安全性,相比传统密码登陆,密钥认证基于非对称加密,有效避免暴力破解风险,同时实现免密快速登陆,以下是详细的配置步骤,涵盖本地密钥生成、服务器端配置及安全加固全流程,本地客户端生成SSH密钥对SSH密钥对包含公钥(用于上传至服务器)和私钥(需妥善保存在客户端……

    2025年9月8日
    4100
  • 如何在linux中安装vnc

    Linux中安装VNC,可使用包管理器如apt或yum,安装

    2025年8月19日
    5800
  • Linux中如何直接快速回到根目录?

    在Linux操作系统中,根目录(用“/”表示)是整个文件系统的起点,所有目录、文件和设备都挂载在根目录或其子目录下,无论是系统管理、文件操作还是脚本编写,快速切换到根目录都是常见需求,本文将详细介绍Linux中直接回到根目录的多种方法、适用场景及注意事项,帮助用户在不同环境下高效操作,Linux根目录的核心地位……

    2025年10月5日
    3700
  • linux如何查看eth0

    Linux中,可以使用ifconfig eth0或`ip addr show eth0

    2025年8月17日
    4900
  • 如何查看Linux系统是32位还是64位?

    在Linux系统中,确定系统位数(32位或64位)对于软件安装、系统优化和兼容性排查至关重要,32位系统最大支持4GB内存,而64位系统可支持更大内存空间,且运行效率更高,以下是几种常用且准确的方法来判断Linux系统的位数,涵盖不同场景和需求,使用uname命令查看系统架构uname命令是Linux中基础的系……

    2025年9月8日
    4600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信