CentOS下支援掛載exFAT與NTFS檔案系統

來源:互聯網
上載者:User
CSDN GitHub
CentOS下支援掛載exFAT與NTFS檔案系統 AderXCoding/system/tools/centos_mount_exfat_ntfs



本作品採用知識共用署名-非商業性使用-相同方式共用 4.0 國際許可協議進行許可, 轉載請註明出處, 謝謝合作

1 問題 1.1 問題描述

給實驗室的一台破機器裝了 CentOS 7, 今天想從移動硬碟上往機器上拷貝點東西, mount掛載的時候發現掛載不上去, 提示未知的檔案系統. 想了想好像是 CentOS 預設是不支援這些 Windows 的檔案系統的. 這點還是 Ubuntu 友好, 包都裝好了, 移動硬碟插上去自動掛載, 沒辦法了, CentOS 上折騰吧. 1.2 Windows下檔案系統

Windows下分區的常見格式有 FAT、FAT32、NTFS 和 exFAT

早期大家見得多的格式一般是FAT 和 FAT32, 不過目前由於單個檔案越來越大,超過 4G的檔案, FAT 和 FAT32 格式不支援,所以現在的硬碟格式都會被轉換成 NTFS 或 exFAT格式, 1.3 NTFS和exFAT分區格式的特點與區別

NTFS(New Technology File System) 是 WindowsNT 和進階伺服器網路作業系統環境的檔案系統, 設計的目的是提供比 FAT32更高的可靠性, 並消除 FAT32 檔案系統容量限制. 它除了支援更大的分區和檔案、更節約硬碟空間外, 還提供了 FAT32 檔案系統不能提供的長檔名、壓縮分區、事件追蹤、檔案索引、高容錯性、資料保護和恢複以及加密訪問等功能.

但是, 為什麼閃盤和各種儲存卡很少使用 NTFS 進行分區呢? 雖然 NTFS優點眾多, 但它是專為傳統機械硬碟而設計的. 它採用了一種”日誌式”的檔案系統, 需要頻繁記錄磁碟的詳細讀寫操作, 會給閃盤或 SSD 這類儲介質帶來額外的負擔. 同時, NTFS 檔案系統頻繁的讀寫也影響到閃盤的效能,帶來傳輸速率的下降。

為此,微軟在傳統FAT 32分區的基礎上開發了exFAT檔案系統(Extended File Allocation Table FileSystem),既彌補了FAT32的局限性和缺點,又沒有NTFS那些會影響快閃記憶體壽命的功能,適合各種移動儲存卡和閃盤使用。

exFAT 檔案系統具有如下優點:

分區大小和支援的單個檔案大小最大可達 16EB;

使用了剩餘空間分配表,空間利用率更高;

同一目錄下最大檔案數可達65536個;

支援存取控制。

目前, 只有固態硬碟、閃盤和儲存卡才能格式化成 exFAT, 傳統硬碟是無法格式化成 exFAT 格式的,因此它是一種專門針對快閃記憶體的檔案系統。 2 支援掛載NTFS檔案系統

exfat 格式的檔案系統是通過 fuse (Filesystem in userspace ) 模組來支援的 2.1 安裝fuse-exfat

exfat 支援是通過 fuse 模組的方式支援的, 其項目地址是 :

https://code.google.com/p/exfat/ ,目前的版本是 : 1.0.1
目前exfat的支援已經是全功能支援,支援讀寫。 2.1.1 yum源或者rpm包安裝

使用如下命令直接從源中安裝

sudo yum install fuse-exfat

如果提示未找著軟體包, 說明您未添加 rpmfusion 源, 請先添加下載rpmfusion-free-release-7.noarch.rpm

可嘗試添加源後, 再安裝

下載 fuse-exfat包(必須)和exfat-utils包直接進行安裝

下載地址 fuse-exfat-1.0.1-1.el7.x86_64.rpm

下載地址 exfat-utils-1.0.1.el7.x86_64.rpm

然後直接安裝

sudo rpm -ivh fuse-exfat-1.0.1-1.el7.x86_64.rpmsudo rpm -ivh exfat-utils-1.0.1-1.el7.x86_64.rpm
2.1.2 SRC.RPM 源碼構建 RPM 安裝

雖然不是想說這種方法, 一般來說, 發行版對於每一個 rpm 或者 deb 包都會提供其源碼包, 方便開發人員自行從源碼構建安裝包, Ubuntu 等發行版使用 apt-get source下載源碼, 使用
apt-get build-dep 構建其環境, Redhat等發行版則使用 RPMBUILD 來構建, 其包成為src.rpm

可以下載`src.rpm原始碼包, 並自行使用scons和gcc編譯, 也可以在rpmfusion下載原始碼RPM, 然後通過構建RPM` 來安裝. 這裡採用構建RPM的方式(這樣安裝卸載都很方便)。

下載地址 :
http://download1.rpmfusion.org/free/el/updates/6/SRPMS/repoview/index.html

分別下載:fuse-exfat-1.0.1-1-el6.src.rpm 和 exfat-utils-1.0.1-1.el6.src.rpm

http://download1.rpmfusion.org/free/el/updates/7/x86_64/f/ 編譯安裝:

編譯前,請先檢查系統,如果系統中沒有scons和gcc,請通過yum安裝:

sudo yum install scons gcc

這個軟體是fuse模組,編譯需要fuse-devel包支援:

sudo yum install fuse-devel

下載後,安裝原始碼RPM:

rpm -ivh fuse-exfat-1.0.1-1-el6.src.rpm exfat-utils-1.0.1-1.el6.src.rpm

在主目錄下,會出現rpmbuild目錄:

cd ~/rpmbuild/SPECSrpmbuild -ba fuse-exfat.specrpmbuild -ba exfat-utils.spec

構建完成後, 即可在 ~/rpmbuild/RPMS 裡面找到產生的 RPM( 根據系統架構, 分別在 x86_64 或 i386 目錄下, 其中名字中帶有 debuginfo 的包不必安裝):

cd ~/rpmbuild/RPMS/x86_64sudo rpm -ivh fuse-exfat-1.0.1-1.el7.x86_64.rpmsudo rpm -ivh exfat-utils-1.0.1-1.el7.x86_64.rpm

這樣就安裝完成了。 2.2 掛載exfat

可以通過以下命令來掛載exfat的隨身碟了:

sudo mount.exfat /dev/sdc1 /mntORsudo mount /dev/sdc1 /mnt
3 支援掛載exFAT檔案系統

RPM 源中NTFS檔案系統的支援是由 ntfs-3g 軟體包來完成的 3.1 安裝ntfs-3g模組 3.1.1 使用yum的安裝方法:

請確定你已經安裝了 rpmforge 軟體庫的源.

請參考:RHEL/CentOS 5.5使用第三方軟體庫

然後安裝下列組件

yum install fuse ntfs-3g -y

nfts-3g 並不再標準的源中, 如果提示未找到軟體包, 請先添加 EPEL 源, 參見CentOS7/RHEL7安裝EPEL擴充倉庫步驟詳解

註:如果你在使用 CentOS 5.3 或更舊版本, 那麼你需要安裝來自 ELRepo 的mod-fuse 3.1.2 使用ntfs-3g官方源碼編譯安裝

目前 2017-04-19, ntfs-3g 的最新版本是 2017-03-23

官網 : http://www.tuxera.com/community/open-source-ntfs-3g/

ntfs-3g下載頁面 : https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz

安裝步驟 :

wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgztar zxvf ntfs-3g_ntfsprogs-2017.3.23.tgzcdntfs-3g_ntfsprogs-2017.3.23./configuremakemake install

yum 只適用於 Redhat 系, 編譯安裝適用於所有 Linux 發行版 3.2 掛載NTFS檔案系統

假設你的 NTFS 檔案系統是 /dev/sdb1 而你將會把它掛載在 /mnt/windows/c, 請執行以下步驟. 建立掛載點。(一般建議掛在mnt目錄裡)

mkdir /mnt/windows/c
掛載NTFS分區:
mount -t ntfs-3g /dev/sdb1 /mnt/windows/cORmount /dev/sdb1 /mnt/windows/c

注 : 這裡的 sdb1 是指 SATA 或 SCSI 硬碟的第一個分區, 如果是老式的 IDE 硬碟, 會是hda1, 具體請用 fdisk -l 查看.


本作品採用知識共用署名-非商業性使用-相同方式共用 4.0 國際許可協議進行許可, 轉載請註明出處, 謝謝合作.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.