當前位置: 首頁>>技術教程>>正文


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

, , ,

問題描述

經過一個令人討厭的事件(我的第二個,你認為我已經學習)由無監督的自動播客下載填充我的整個分區後,我終於將~/Music移動到它自己的分區。我正在使用的分區已經格式化為NTFS(這是天才部分:當我三年前買這台電腦時,我實際上是用20G音樂分區設置的,因為我之前遇到過這個問題,但我從來沒有我把自己組織起來存放音樂。這就是我的背景故事。這就是我現在所需要的:

我有兩個分區,我想在啟動時開始安裝:

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

ext4 partion安裝得很好(由我擁有,隻能由我寫),但是root擁有的ntfs掛載具有讀寫權限。我不知道如何解決這個問題。有沒有關於ntfs的古怪或者我在其他地方做了什麽導致這個問題?

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

最佳解決辦法

必須使用dmaskfmaskumask選項設置ntfs和vfat文件係統的權限。 dmask控製目錄的權限,fmask控製文件的權限,umask控製兩者。由於這些選項設置了掩碼,因此它們應該是您想要的權限的補充。例如,所有者的rwx和其他人的rx是022而不是755。

要設置所有者,請分別為用戶和組使用uidgid選項。您可以使用命令id -u找到您的UID。要查找您的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

如果在重新啟動後沒有可見的錯誤,並且分區保持隻讀或者您收到類似於以下內容的錯誤:

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提供了”Fast Startup”選項,該選項取決於”non-complete”關閉。您可以通過在”Power Options”下執行這些steps來禁用快速啟動。

次佳解決辦法

如果使用permissions選項掛載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更容易。

第三種解決辦法

我有一些麻煩,因為當我重新啟動磁盤名稱更改…(sda0到sdb2)

我通過在fstab中通過UUID安裝它來修複問題,您可以通過輸入以下命令查看硬盤的UUID:sudo blkid

製作fstab文件的back-up:

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

如果您放置一個>,請務必檢查>&gt ;.你覆蓋你的fstab!

sudo blkid >> /etc/fstab

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

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

接下來做一個文件夾:

sudo mkdir /media/mydrivename

配置fstab:

sudo vim /etc/fstab

不要忘記在行開頭用’#’評論blkid的輸出!

將其添加到fstab文件中,您可以使用上麵的命令在您插入的底部的塊中找到UUID。 media /mydrivename是應該掛載分區的位置。

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上做的!

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

第四種辦法

可能不是一個好的解決方案,但您始終可以將用戶ID映射到您自己的ID或組ID:

這裏隻是一個例子,我的用戶ID是1000

/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0

在這種情況下,所有安裝的文件都由用戶ided 1000擁有

第五種辦法

您可以使用ntfs-config GUI實用程序在fstab中安裝NTFS分區。並且可以輕鬆啟用/禁用read-write功能。

permissions,automount,fstab,ubuntu

更詳細的指南:Mounting Windows Partitions in Ubuntu at Startup

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/1575.html,未經允許,請勿轉載。