首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

CentOS 系統掛載 NTFS 磁盤完整指南:ntfs-3g 編譯安裝與自動掛載配置

     編輯:更多程式設計知識

CentOS 預設內核不支援 NTFS 文件系統讀寫,插入 NTFS 格式的 U 盤或移動硬盤時會報 unknown filesystem type 'ntfs' 錯誤。解決方案是安裝開源項目 ntfs-3g,它基於 FUSE(用戶態文件系統)實現了完整的 NTFS 讀寫支持。本文詳述從源碼編譯安裝到開機自動掛載的全流程。

環境準備與依賴安裝

# 安裝編譯工具鏈與 FUSE 開發包
yum install -y gcc make fuse fuse-devel

下載、編譯與安裝 ntfs-3g

  1. 訪問官網 ntfs-3g 下載頁 獲取最新穩定版(如 ntfs-3g_ntfsprogs-2022.10.3.tgz)。
  2. 上傳至服務器(如 /usr/local/src)並解壓編譯:
tar zxvf ntfs-3g_ntfsprogs-2022.10.3.tgz
cd ntfs-3g_ntfsprogs-2022.10.3
./configure --prefix=/usr/local/ntfs-3g
make
make install

--prefix 指定安裝路徑,便於後續管理與卸載。

掛載 NTFS 分區實戰

1. 查找設備路徑

fdisk -l | grep NTFS
# 輸出示例:
# /dev/sdb1  1  10443  83883366  7  HPFS/NTFS

此處 /dev/sdb1 即為目標分區設備名。

2. 創建掛載點

mkdir -p /mnt/ntfs-disk
chmod 755 /mnt/ntfs-disk

3. 臨時掛載(測試用)

mount -t ntfs-3g /dev/sdb1 /mnt/ntfs-disk
# 或直接使用 ntfs-3g 命令
ntfs-3g /dev/sdb1 /mnt/ntfs-disk

掛載成功後,df -h 可見新掛載點,ls /mnt/ntfs-disk 可讀寫文件。

實現開機自動掛載

編輯 /etc/fstab,在文件末尾添加:

/dev/sdb1  /mnt/ntfs-disk  ntfs-3g  defaults,noatime,uid=1000,gid=1000,umask=022  0  0

參數說明:

  • defaults:預設掛載選項(rw, suid, dev, exec, auto, nouser, async)
  • noatime:不更新訪問時間,減少寫入操作,延長閃存壽命
  • uid/gid:指定文件擁有者,避免權限問題(替換為實際用戶 ID)
  • umask=022:文件權限掩碼,預設 644,目錄 755

保存後執行 mount -a 驗證配置無誤,重啟系統即可自動掛載。

常見問題排查

現象原因與解決
掛載報錯 Transport endpoint is not connectedFUSE 模塊未加載,執行 modprobe fuse 並加入 /etc/modules-load.d/fuse.conf
寫入提示 Read-only file systemWindows 快速啟動導致 NTFS 髒標記,進入 Windows 關閉快速啟動或執行 ntfsfix /dev/sdb1 修復
中文文件名亂碼添加掛載參數 locale=zh_CN.UTF-8 或 iocharset=utf8

補充:ntfs-3g 核心工具介紹

  • ntfsfix:修復 NTFS 一致性錯誤,清除髒標記
  • ntfslabel:查看/修改卷標
  • ntfsclone:高效克隆 NTFS 分區
  • ntfscp:向 NTFS 卷複製文件(無需掛載)

通過 ntfs-3g,CentOS 即可無縫讀寫 NTFS 設備,無論是數據遷移、備份還是雙系統共享數據,都能得到可靠支持。建議生產環境優先使用穩定版,並定期備份重要數據。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved