manjaro掛載NTFS系統的方法


本文部分引自https://blog.csdn.net/baimaozi/article/details/3134267?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase。感謝baimaozi的分享!

我用的是manjaro發行版,屬於arch系,所以大部分arch的方法都可以嘗試。然后archwiki上的方法雖然也是安裝ntfs-3g,但是配置方法與下文有所不同,並且我沒弄起來,終端報錯,不知道什么鬼。

正文:
裝好manjaro后,雖然可以訪問windows的盤,但是只能讀不能寫入文件,有點煩。而且一開始在dolphin中會這樣顯示:
沒掛載的盤上有黃色的東西。
就是沒掛載的盤一開始linux是檢測不到的,比如用kdiskfree。
為了實現讀寫ntfs文件系統的功能,我們采用ntfs-3g方案。

我們先安裝ntfs-3g.

sudo pacman -S ntfs-3g
tips:我發現裝了這個包重啟后我就可以在windows盤中新建文件了,雖然我也不知道為什么。也就是說你已經可以寫盤了。但是要做到開機即能檢測到盤,我們還是將它掛載。

我們查看下哪個分區是NTFS分區.

sudo /sbin/fdisk -l

例如我的:

Disk /dev/sda:476.94 GiB,512110190592 字節,1000215216 個扇區
磁盤型號:SAMSUNG MZNLN512
單元:扇區 / 1 * 512 = 512 字節
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:gpt
磁盤標識符:4BFE448F-5A16-4E19-807A-53C69FFCD1FA

設備            起點       末尾      扇區   大小 類型
/dev/sda1       2048     616447    614400   300M EFI 系統
/dev/sda2     616448     878591    262144   128M Microsoft 保留
/dev/sda3     878592  208931835 208053244  99.2G Microsoft 基本數據
/dev/sda4  208932864  210595839   1662976   812M Windows 恢復環境
/dev/sda5  210595840  439187455 228591616   109G Microsoft 基本數據
/dev/sda6  439187456  606957567 167770112    80G Microsoft 基本數據
/dev/sda7  832444416 1000214527 167770112    80G Microsoft 基本數據
/dev/sda8  606957568  832444415 225486848 107.5G Linux 文件系統

分區表記錄沒有按磁盤順序。


Disk /dev/loop0:67.56 MiB,70844416 字節,138368 個扇區
單元:扇區 / 1 * 512 = 512 字節
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節


Disk /dev/loop1:86.25 MiB,90435584 字節,176632 個扇區
單元:扇區 / 1 * 512 = 512 字節
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節


Disk /dev/loop2:96.63 MiB,101318656 字節,197888 個扇區
單元:扇區 / 1 * 512 = 512 字節
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節

知道哪個是 NTFS分區 后,(我想掛載sda6和sda7)我們來編輯/etc/fstab,實現自動掛載.

sudo vi /etc/fstab或者sudo nano /etc/fstab來打開/etc/fatab

加入類似如下的內容:(只是一個例子)

/dev/sda1  /mnt/windows  ntfs-3g  users,noauto,uid=1000,gid=100,fmask=0113,dmask=0002,locale=zh_CN.utf8  0 0

 
/dev/sda6  /mnt/backup   ntfs-3g  users,uid=1000,gid=100,fmask=0113,dmask=0002,locale=zh_CN.utf8         0 0

#/mnt是根目錄下路徑,是你的NTFS文件系統的掛載點。windows或者backup都是名字,可以隨便取。

重啟,你就會發現開機后dolphin中原來windows盤上的黃東西沒了。用kdiskfree查看會發現我的sda6和sda7掛載完畢:

寫入代碼的特點為:

  1. 可以讓任何用戶掛載和卸載你的NTFS分區。
  2. user(uid=1000)和group(gid=100)擁有分區的所有文件,並且對文件有-rw-rw-r-- (0664)權限,對目錄有drwxrwxr-x (1775)權限。
  3. 使用zh_CN.utf8作為locale
  4. /dev/sda6在啟動時自動掛載,/dev/sda1則不會

其模式為:

ntfs-3g 0 0

典型的、非常有用的ntfs-3g選項

* users - 假如ntfs-3g可執行文件設置了SUID root(命令:chmod u+s /bin/ntfs-3g),則允許任何人掛載/卸載NTFS分區。請注意,你要用users而不是user
* noauto - 啟動時不要自動掛載分區   #慎用!
* uid - 指定NTFS分區中文件和目錄的擁有者(用十進制數表示)
* gid - 指定NTFS分區中文件和目錄的用戶組(用十進制數表示)
* fmask - 文件權限(八進制數掩碼)
* dmask - 目錄權限(八進制數掩碼)
* locale - 通常用來讓使用國際化字符集的文件可見

掩碼值
要無需任何計算就可以較易弄懂特定權限的掩碼值,可以這樣做:

  1. 啟動一個新的shell會話。使用任何你喜好的終端模擬器。
  2. 使用umask命令獲得指定權限設置的八進制數。
    1. 使用umask"設置"文件創建時掩碼。例如:
      $ umask ug=rw,o=r
      請注意ug=rw,o=r等於-rw-rw-r--或者0664。
    2. 直接不帶參數執行umask獲取八進制數。
      $ umask
      將會顯示
      0113
      原文基礎上補充:如果你不小心寫錯了,導致系統啟動時找不到文件系統,然后進入了emergency mode,別慌。輸入你的root密碼(不會顯示),按回車,進入終端模式,然后sudo nano /etc/fstab把原來改的東西改回去或者查看錯誤,保存重啟就應該ok了。另外,如果Linux系統只有一個用戶,建議參閱archwiki上ntfs—-3g 的配置方案。因為上述方案即使是關閉了Windows的快速啟動,仍偶爾會發生掛載失敗的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM