NTFSパーティションを/ etc / fstabに正しくマウントするにはどうすればよいですか?


72

監視されていない自動化されたポッドキャストのダウンロードがパーティション全体を埋めることによって引き起こされる厄介なエピソード(2番目、私が学ぶと思います)の後、ついに~/Music専用のパーティションに移動しました。使用しているパーティションは既にNTFSでフォーマットされています(これは天才です:3年前にこのコンピューターを手に入れたとき、20Gの音楽パーティションを実際にセットアップしました。音楽を保存するために自分自身を整理したので、それが私のバックストーリーです。

起動時にマウントを開始する2つのパーティションがあります。

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

ext4パーティションは正常にマウントされます(私が所有し、自分だけが書き込み可能)が、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

オプション「noatime」または「relatime」が利用可能であり、永続的なntfsマウントに推奨されます(man mount.ntfsを参照)。ext3 / 4とntfsでもhddのビジー状態の問題がありました!

回答:


89

ntfsおよびvfatファイルシステムのアクセス許可はdmaskfmaskおよびumaskオプションで設定する必要があります。dmaskディレクトリの許可をfmask制御し、ファイルの許可をumask制御し、両方を制御します。これらのオプションはmasksを設定するため、必要な許可を補完する必要があります。たとえば、所有者のrwxとその他のrxは755ではなく022です。

所有者を設定するには、ユーザーとグループにそれぞれuidgidオプションを使用します。コマンドでUIDを見つけることができますid -u。GIDを見つけるには、を使用しますid -g。これらの値は通常、両方とも1000です。

ntfsのマウントオプションの一般的なセットはuid=1000,gid=1000,dmask=027,fmask=137です。これにより、ドライブの所有者が設定され、アクセス許可がに設定されdrwxr-x---ます。

ここに私の/ etc / fstab作業からの2行があります

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が「完全ではない」シャットダウンに依存する「高速起動」オプションを提供するためです。「電源オプション」の下にある以下の手順に従って、高速起動を無効にできます



それは確かに上記の多くの源です。また、* maskオプションがどのように機能するかについてのより詳細な説明もいくつか含めました。
-bessman

3
あなたは、おそらくからのラインで使用されるこれらのオプションを示す詳細な例を提供でした/etc/fstab
PUK

3
@puk、私は持っUUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0ています、askubuntu.com/a/507326/221448(私も言及しますbind)に含まれています。
ブレイディトレーナー14

1
@ScottFuid=0,gid=0
wjandrea

34

パーミッションオプションで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より簡単です。


そのsudo chownコマンドの欠点/副作用はありますか?正確に何をしますか?
-ReneSac

5
chownコマンドは、マウントポイントの所有者(/ mnt / excess)を目的のユーザーに変更します。私の経験では、パーティションをマウントするたびにこの手順を繰り返す必要があります(少なくとも毎回の再起動後)...そのため、適切なことを行い、uid / gid / umaskを設定します... fmaskとdmaskは常にオプション-ファイルとディレクトリに対して異なる許可が必要な場合。
thecarpy

7

ディスク名の変更をリブートすると...(sda0からsdb2

fstabのUUIDでマウントして問題を修正しました。次のように入力して、ハードドライブのUUIDを表示できます。 sudo blkid

fstabファイルのバックアップを作成します。

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

必ず>>を3回チェックしてください。配置する場合は、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を見つけることができます。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でこれをしました

この答えが誰かを助けることを願っています;-)


2
これは一般的に堅実なアドバイスのように聞こえますがsudo blkid、全体をダンプし/etc/fstabて一時的に破損させるのではなく、出力からUUIDを単純にコピーする方がエレガントだと思います。別の方法は、GPartedのパーティションのプロパティダイアログからUUIDを取得することです。
デビッドフォースター14年

私のサーバーでこれを行っているので、コピーする方法は実際にはありません...キーボードとバッシュだけです。
ロジャーズ14年

ほとんどのターミナルエミュレーターでは、物事をコピーできます(リモートアクセスを使用している場合、screenまたはtmux未加工の仮想ターミナルのような、またはその代わりにターミナルエミュレーターを使用している場合)。
デビッドフォースター14年

悪い仮定の母、私はターミナルエミュレータを使用していませんでした。しかし、誰かがめちゃくちゃになった場合に備えて、fstabファイルのコピーを作成するための回答にいくつか追加しました。:)
ロジャーズ14年

パーティションを調整したときに何らかの理由でUUIDが変更されたが、ラベル名は変更されなかったため、UUIDの使用からLABELに切り替えました。また、UUID = "long random string"よりもLABEL = "some-name"を使用すると、fstabで何が起こっているかを簡単に確認できます。
楕円ビュー

6

ntfs-config GUIユーティリティを使用して、fstabにNTFSパーティションをマウントできます。また、読み取り/書き込み機能を簡単に有効/無効にすることができます。

NTFS WindowsパーティションFSTABのマウント

詳細ガイド:起動時にUbuntuでWindowsパーティションをマウントする


ありがとう!その素敵なアニメーションGIFをどのように作成しましたか?
ハンスピーターシュトルー

1
@hstoerrからbyzanzレコード。しかし、今より良い選択肢があります。
ガヤンウィエラクッティ

4

良い解決策ではないかもしれませんが、いつでもユーザーIDを自分のIDまたはグループIDにマップできます。

ほんの一例ですが、私のユーザーIDは1000でした

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

その場合、マウントされたすべてのファイルはユーザーID 1000で所有されます


1
それは動作しますが、「RW」オプションアウトしたりして、それはまだ権限でマウントdrwxrwxrwx
アマンダ

これは私のために動作します。アクセス許可のために、私はdir_mode = 0770、file_mode = 0770をfstabのために追加
ルイFリベイロ

2

ラベル使用してntfsドライブマウントし、このドライブ上のディレクトリまたはファイルのアクセス許可を変更できるようにしたい場合は、次のように動作することに注意してください(/ etc / fstabを編集します(例:sudo nano / etc / fstab) :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    permissions,defaults        0       2

以下では、ディレクトリまたはファイルのアクセス許可を変更することはできません

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2

1

私は、マウント時にデュアルブートシステムセットアップからNTFSドライブにアクセス許可を正しく与えられると思う次を使用します。

編集/etc/fstab

UUIDは/dev/disk/by-uuid/(通常はにマップ/dev/sd*)にあります

<your uuid>UUIDに置き換えます

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.