如何在/etc/fstab中掛載NTFS分割區?

如何在/etc/fstab中掛載NTFS分割區?

我有兩個分割區要在啟動時安裝:

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

分割區ext4掛載正常(由我擁有,只能由我寫入),但由所有人擁有 R\W 權限NTFS擁有的掛載。root

如何解決這個問題?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess

答案1

必須使用dmaskfmaskumask選項設定 ntfs 和 vfat 檔案系統的權限。dmask控制目錄的權限,fmask控製檔案的權限,並umask控制兩者。由於這些選項設置面具,它們應該是您想要的權限的補充。例如,所有者的 rwx 和其他人的 rx 是 022 而不是 755。

若要設定擁有者,請分別使用使用者和群組的uidgid選項。您可以使用以下命令找到您的 UID id -u。要查找您的 GID,請使用id -g.這些值通常都是 1000。

一組常見的 ntfs 掛載選項是uid=1000,gid=1000,dmask=027,fmask=137。這會將您設定為磁碟機的擁有者,並將權限設為drwxr-x---

以下是工作 /etc/fstab 的範例

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0
  • 為了得到通用唯一識別符對於您的分割區,您可以使用ls -l /dev/disk/by-uuid/lsblk -f | grep -v loopgnome 磁碟

  • 如果重新啟動後沒有出現明顯錯誤且分割區保持唯讀狀態,或者您收到類似以下內容的錯誤:

    Error mounting /dev/sda6 at /media/WindowsDrive: 
    Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
    Metadata kept in Windows cache, refused to mount. 
    Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
    Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

這是因為 Windows 8 和 10 提供了依賴「不完全」關閉的「快速啟動」選項。您可以按照以下步驟停用快速啟動腳步在“電源選項”下。

UUID=01D9318DD8A39810  /run/media/$user/Win11   ntfs-3g uid=$user,gid=$user,umask=0022 0 0
UUID=01D9317B8D647610  /run/media/$user/Storage ntfs-3g uid=$user,gid=$user,umask=0022 0 2

在上面的例子中,win11將被掛載為唯讀,而Storage為可讀寫。

& 它們將在檔案總管中作為磁碟機可見,因為它們安裝在資料夾 /run/media/$user 中 另外不要忘記將 $user 替換為您的使用者名稱。

答案2

如果使用權限選項掛載 ntfs 分割區,則 chmod / chown 將起作用

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

那你可以

sudo chown your_user:your_user /mnt/excess

比 uid、dmask、fmask 更容易。

答案3

我遇到了一些麻煩,因為當我重新啟動時,磁碟名稱發生了變化...(sda0 到 sdb2

我透過在 fstab 中透過 UUID 掛載它們解決了這個問題,您可以透過輸入以下內容來查看硬碟的 UUID:sudo blkid

備份您的 fstab 檔案:

sudo cp /etc/fstab /etc/fstab.orig

確保您三次檢查>>,如果您放置一個>,您將覆蓋您的fstab!

sudo blkid >> /etc/fstab

如果你仍然搞砸了,你可以用原來的檔案替換你的 fstab:

sudo cp /etc/fstab.orig /etc/fstab

接下來製作一個資料夾:

sudo mkdir /media/mydrivename

配置 fstab:

sudo vim /etc/fstab

不要忘記在行首用「#」註解 blkid 的輸出!

將其新增至 fstab 檔案中,您可以在使用上面命令插入的底部區塊中找到 UUID。媒體/我的磁碟機名稱是應該安裝分割區的位置。

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

這是我的 fstab 檔案:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

鍵入以下內容重新啟動系統:

sudo reboot

若要檢查分割區是否已安裝,您可以鍵入df -k

將所有權歸於自己:

sudo chown -R USERNAME:USERNAME /media/mydrivename

在 Ubuntu Server 14.04.01 上執行此操作

希望這個答案對某人有幫助;-)

答案4

我使用以下命令,我發現正確地為我提供了掛載權限(來自雙重開機系統設定的 NTFS 驅動器):

編輯/etc/fstab

/dev/disk/by-uuid/UUID 可以在(通常會對應到/dev/sd*)中找到

替換<your uuid>為您的 UUID

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

相關內容