Ubuntu 10.04は、Windows 10を含む1つのパーティションと、あらゆる種類のデータを保存するために使用する別のNTFSパーティションを持つ、より大きな独立したHDDを備えたSSDにインストールされています。 Ubuntuのディスクユーティリティを使用して、起動時にマウントするNTFSデータパーティションを追加しました。自動で正常にマウントされますが、読み取りアクセス権しかありません。このパーティションにUbuntuからの書き込みアクセス権も持たせたいと思います。しかし、私はその方法を理解できません。 (Windows 10での高速起動は無効になっています)
ここに私のfstabファイルがあります(最後のエントリ、dev/sdb4はNTFSデータパーティションです)。
# /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/sda3 during installation
UUID=0e4a3e97-171f-4c96-9260-e2eb217f4302 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda2 during installation
#UUID=1022-A48D /boot/efi vfat umask=0077 0 1
# swap was on /dev/sda1 during installation
UUID=c59f57b3-26c6-4fb1-82ae-29e676a973b1 none swap sw 0 0
UUID=1022-A48D /boot/efi vfat defaults 0 1
/dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show 0 0
これらはこのパーティションの権限です
18.04でこのドライブをお気に入り(実行中のアプリまたはお気に入りとしてマークしたアプリを表示するサイドバー)に追加する方法についても説明してください。
デフォルトでは、マウントされるパーティションがext2/3/4パーティションまたはUNIXスタイルのアクセス許可を処理できるパーティション(Mac HFS/HFS +パーティションなど)でない限り、ドライブはユーザー/グループ所有権のroot:root
としてマウントされますデフォルトで。 exFAT/FAT/FAT32/NTFSはUNIXスタイルのアクセス許可をサポートしていないため、これらの種類のアクセス許可は使用できません。
そのため、許可を設定する必要がありますat mount必要なものに。設定できるオプションはたくさんありますが、 NTFSをマウントして、すべてのユーザーが読み取れるようにする方法に関する他の回答からいくつかを借ります ただし、ユーザーのみに適合させます。
まず、情報を取得する必要があります。ターミナルでid
コマンドを実行する必要があります。これにより、マウントポイント、つまりuid
およびgid
を構築するときに必要な情報が得られます。以下は私のラップトップからのそのような出力の例ですが、あなたの出力はおそらくかなり異なるでしょう
$ id
uid=1000(teward) gid=1000(teward) groups=1000(teward),4(adm),6(disk),20(dialout),24(cdrom),27(Sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),132(sbuild),137(lxd),140(wireshark),998(pgadmin4)
この特定のインスタンスに関連するのは、uid
とgid
の値です。これらの値は、私の場合は両方とも1000
です。異なる場合がありますが、これらの値を手元に保持する必要があります。
次に、/etc/fstab
行を再構築しましょう。システムは外部ディスクを検出するためにauto
を実行しましたが、これは問題ありませんが、これには小さな問題があります-これはOSがディスク上のファイルシステムのタイプを判別できることに依存しています。したがって、それをntfs
に置き換えます。
これにより、以下が/etc/fstab
行の始まりになります。
/dev/sdb4 /mnt/sdb4 ntfs
ただし、今必要なことの重要な部分は、optionsをマウント用に調整することです。 defaults
は良い出発点ですが、必要なものではありません。理想的には、オプションに次の追加オプションがあるはずです。
locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID
uid=
およびgid=
行のUID
およびGID
を、以前にuid
から取得した数値gid
およびid
の値に置き換える必要があることに注意してください。
これらのオプションが何をするのか疑問に思うかもしれないので、他の答えからいくつかの編集を加えて説明を引きましょう。
locale=en_US.utf8
-米国英語ロケールをUTF8で強制しますwindows_names
-パーティション内の新しいファイルに対してWindows名の制限が適用されるようにします。umask=7007
-基本的に、逆chmod。ファイルに許可されるnotパーミッションを定義します。基本的に、ここでは自分以外の「他のユーザー」以外の読み取り/書き込み/実行を禁止していません。したがって、マウントされた場所のすべてのファイルは、ユーザーの読み取り、書き込み、実行権限を効果的に取得します。私は特別なビットセット(setuid、setgid、sticky)を必要としないので、最初のオクテットからそれらを削除する必要があります-それらの数値の合計は「7」であり、私はそれらの許可を禁止しているので、先行する7。uid=1000
、gid=1000
-1000
(これは私のユーザーのユーザーおよびグループです)のUID(ユーザーID)およびGID(グループID)のユーザーおよびグループ所有権でパーティションをそのフォルダーにマウントします、teward
、Ubuntuシステムで)。
これらをオプション行に追加すると、外部デバイスがファイルネーミングを使用したWindowsデュアルブートに準拠し、UTF8を適用できるようになります。また、パーミッションを適切に設定して、ユーザーがパーティションで読み取り/書き込みのみを行えるようにします。これにより、/etc/fstab
行が次のようになります。
/dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show,locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID 0 0
最後の2つのゼロについては何もする必要はありません。そこを離れても構いません。 GID
およびUID
の値を実際の値に更新したことを確認してください。
次に、Sudo umount /dev/sdb4 && Sudo mount /dev/sdb4
を使用して、新しいオプションでパーティションをアンマウントおよび再マウントします。これで、ディスク全体に対する読み取り/書き込み権限が必要になります。