Arch-Linux

無法將驅動器掛載為讀寫

  • September 4, 2018

我有一個 1TB 硬碟(/dev/sda1, mount point /run/media/<name>/4733A97E4133EADF),我正試圖以讀寫方式掛載,但我只能讓它以只讀方式掛載。

系統:

$ uname -a
Linux <hostname> 4.10.6-1-ARCH #1 SMP PREEMPT Mon Mar 27 08:28:22 CEST 2017 x86_64 GNU/Linux
$ lsblk -f
NAME   FSTYPE LABEL       UUID                                 MOUNTPOINT
sda                                                            
└─sda1 ntfs               4733A97E4133EADF                     /run/media/<name>/4733A97E4133EADF
sdb                                                            
├─sdb1 swap               d9cea12d-5273-49ef-8950-3cd662fe63c7 [SWAP]
└─sdb2 ext4               e09a8578-53e9-4c26-9a97-a47b6350a1ab /
...

我試過的

  • 添加一個 fstab 條目以在啟動時自動掛載驅動器:
$ cat /etc/fstab
# 
# /etc/fstab: static file system information
#
# <file system>                 <dir>                   <type>      <options>           <dump>  <pass>
# /dev/sdb2
UUID=e09a8578-53e9-4c26-9a97-a47b6350a1ab   /                       ext4        rw,relatime,data=ordered    0   1

# /dev/sdb1
UUID=d9cea12d-5273-49ef-8950-3cd662fe63c7   none                    swap        defaults            0   0

# /dev/sda1
UUID=4733A97E4133EADF               /run/media/<name>/4733A97E4133EADF  ntfs        defaults,users,user     0   0

我試過用defaults,defaults,usersdefaults,users,user. 每次更改後重新啟動,但驅動器仍以只讀方式安裝:

$ ls -l /run/media/<name>
...
dr-x------ 1 root  root  4096 Mar 28 17:35 4733A97E4133EADF
...
  • 手動重裝:
$ sudo mount -o remount,rw /dev/sda1 /run/media/<name>/4733A97E4133EADF
mount: cannot remount /dev/sda1 read-write, is write-protected
$ sudo umount /run/media/<name>/4733A97E4133EADF
$ sudo mount -o rw /dev/sda1 /run/media/<name>/4733A97E4133EADF

此時,命令只是掛了幾分鐘,所以我終止了它。

$ sudo umount /run/media/<name>/4733A97E4133EADF
$ sudo mount /dev/sda1 /run/media/<name>/4733A97E4133EADF

不用找了。

到目前為止,我根本無法寫入驅動器(至少從這個系統),即使是 root 也是如此。

chown,chmod無效,因為文件系統是只讀的。


我必須做什麼才能(自動)將此驅動器安裝為讀寫,並具有正常(非root)使用者訪問權限?


嘗試了以下解決方案:

儘管@ingopingo 在其中一條評論中回答了這個問題,但我現在要寫一個包含更多資訊的答案。

預設情況下,Linux 核心僅支持從 NTFS 文件系統讀取。對於讀/寫訪問,您將需要一個讀寫 NTFS 驅動程序,例如儲存庫中的ntfs-3g軟體包。extra

安裝後,sudo pacman -S ntfs-3g您可以使用sudo mount /path/to/ntfs /mount/point. 由於 to 的符號連結,這是可能/usr/bin/mount.ntfs/usr/bin/ntfs-3g

注意:您需要擁有 root 權限才能掛載文件系統。ntfs-3g-FAQ中列出了例外要求。

使用預設設置 NTFS 分區將在啟動時掛載。將以下內容放入您的/etc/fstab:

/path/to/ntfs /mount/point ntfs-3g defaults 0 0

為了能夠使用非 root 使用者進行讀寫,您必須設置一些附加選項(使用者名必須更改為您的使用者名):

/path/to/ntfs /mount/point ntfs-3g uid=username,gid=users,umask=0022 0 0

引用自:https://unix.stackexchange.com/questions/355268