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

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

起動時にマウントしたいパーティションが 2 つあります。

/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

dmaskntfsおよびvfatファイルシステムの権限は、、fmaskおよびオプションで設定する必要がありますumaskdmaskはディレクトリの権限を制御し、fmaskはファイルの権限を制御し、はumask両方を制御します。これらのオプションはマスク、それらは必要な権限の補数である必要があります。たとえば、所有者の 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の例を示します。

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 loopまたはを使用できますgnomeディスク

  • 再起動後に目に見えるエラーが表示されず、パーティションが読み取り専用のままである場合、または次のようなエラーが表示される場合:

    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 は読み取り専用でマウントされ、ストレージは読み取り/書き込み可能でマウントされます。

これらは /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

>> を 3 回確認してください。> を 1 つでも置くと、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 が表示されます。メディア/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でこれを実行しました

この回答が誰かの役に立つことを願っています ;-)

答え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

関連情報