Bagaimana cara me-mount partisi NTFS dengan benar di / etc / fstab?

73

Setelah episode buruk (yang kedua, Anda akan berpikir saya akan belajar) yang disebabkan oleh unduhan podcast otomatis tanpa pengawasan yang mengisi seluruh partisi saya, saya akhirnya pindah hanya ~/Musicke partisi sendiri. Partisi yang saya gunakan sudah diformat NTFS (ini adalah bagian jenius: ketika saya mendapatkan komputer ini tiga tahun yang lalu, saya benar-benar mengaturnya dengan partisi musik 20G tepatnya karena saya punya masalah ini sebelumnya, tapi saya tidak pernah benar-benar mengorganisir diri untuk menyimpan musik di atasnya. Jadi itu cerita saya. Inilah yang saya butuhkan sekarang:

Saya memiliki dua partisi yang ingin mulai saya pasang pada startup:

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

Partion ext4 mount baik-baik saja (dimiliki oleh saya, hanya dapat ditulisi oleh saya), tetapi ntfs mounts dimiliki oleh root dengan izin baca dan tulis untuk semua. Saya tidak yakin bagaimana cara memperbaikinya. Apakah ada sesuatu yang unik tentang ntfs atau apakah saya melakukan sesuatu di tempat lain yang menyebabkan masalah ini?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess
Amanda
sumber
Opsi "noatime" atau "relatime" tersedia dan direkomendasikan untuk pemasangan ntfs permanen (lihat man mount.ntfs). Saya punya beberapa masalah hdd busy-ness dengan ext3 / 4 dan ntfs juga!

Jawaban:

90

Izin untuk sistem file ntfs dan vfat harus diatur dengan dmask, fmaskdan umaskopsi. dmaskmengontrol izin untuk direktori, fmaskmengontrol izin untuk file, dan umaskmengontrol keduanya. Karena opsi ini mengatur topeng , mereka harus menjadi pelengkap dari izin yang Anda inginkan. Misalnya, rwx untuk pemilik dan rx untuk orang lain adalah 022 daripada 755.

Untuk mengatur pemilik, gunakan masing-masing uiddan gidopsi untuk pengguna dan grup. Anda dapat menemukan UID Anda dengan perintah id -u. Untuk menemukan GID Anda, gunakan id -g. Nilai-nilai ini biasanya 1000.

Satu set umum opsi mount untuk ntfs adalah uid=1000,gid=1000,dmask=027,fmask=137. Ini menetapkan Anda sebagai pemilik drive, dan menetapkan izin untuk drwxr-x---.

Berikut adalah dua baris dari / etc / fstab saya yang berfungsi

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

Jika Anda tidak mendapatkan kesalahan yang terlihat setelah reboot dan partisi tetap hanya baca atau Anda mendapatkan kesalahan yang mirip dengan:

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

Ini karena Windows 8 dan 10 menawarkan opsi "Startup Cepat" yang tergantung pada shutdown "tidak lengkap". Anda dapat menonaktifkan startup cepat dengan mengikuti langkah - langkah ini di bawah "Opsi Daya".

bessman
sumber
Itu memang sumber dari banyak hal di atas. Saya juga menyertakan beberapa penjelasan lebih rinci tentang cara kerja opsi * mask.
bessman
3
Bisakah Anda memberikan contoh yang lebih lengkap menunjukkan opsi-opsi yang digunakan dalam garis dari/etc/fstab
puk
3
@puk, saya punya UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0, karena saya sudah memasukkan di askubuntu.com/a/507326/221448 (di mana saya juga menyebutkan bind).
Brady Trainor
1
@ScottFuid=0,gid=0
wjandrea
34

Jika Anda memasang partisi ntfs dengan opsi izin, maka chmod / chown akan berfungsi

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

Anda kemudian bisa

sudo chown your_user:your_user /mnt/excess

Lebih mudah daripada uid, dmask, fmask.

Harimau kumbang
sumber
Adakah efek samping / efek samping dari sudo chownperintah itu? Apa tepatnya itu?
ReneSac
5
Perintah chown mengubah pemilik titik mount (/ mnt / excess) menjadi pengguna yang diinginkan. Langkah ini harus diulang setiap kali partisi dipasang, dalam pengalaman saya (setidaknya setelah setiap reboot) ... jadi, lakukan hal yang benar, set uid / gid / umask ... Saya selalu berpikir fmask dan dmask adalah opsional - seperti ketika Anda menginginkan izin berbeda untuk file dan direktori.
thecarpy
7

Saya mengalami beberapa masalah dengan ini karena ketika saya reboot perubahan nama disk ... ( sda0 ke sdb2 )

Saya memperbaiki masalah dengan memasang mereka oleh UUID di fstab, Anda dapat melihat UUID untuk hard drive Anda dengan memasukkan: sudo blkid

Buat cadangan file fstab Anda:

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

Pastikan Anda tripple memeriksa >>, jika Anda menempatkan satu> Anda menimpa fstab Anda!

sudo blkid >> /etc/fstab

Jika Anda masih mengacaukan Anda dapat mengganti fstab Anda dengan yang asli:

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

Selanjutnya buat folder:

sudo mkdir /media/mydrivename

Konfigurasikan fstab:

sudo vim /etc/fstab

Jangan lupa untuk mengomentari output dari blkid dengan tanda '#' di awal baris!

Tambahkan ini ke file fstab, Anda dapat menemukan UUID di blok di bagian bawah yang Anda masukkan dengan perintah di atas. media / mydrivename adalah tempat partisi harus dipasang.

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

Ini adalah file fstab saya:

# /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" 

Mulai ulang sistem dengan mengetik:

sudo reboot

Untuk memeriksa apakah partisi sudah terpasang, Anda dapat mengetik df -k.

Berikan kepemilikan untuk diri sendiri:

sudo chown -R USERNAME:USERNAME /media/mydrivename

Apakah ini di Ubuntu Server 14.04.01 !

Semoga jawaban ini membantu seseorang ;-)

rotgers
sumber
2
Walaupun ini kedengarannya seperti nasihat yang solid, saya akan merasa lebih elegan jika hanya menyalin UUID dari hasil sudo blkidalih-alih membuang semuanya ke /etc/fstabdan secara sementara merusaknya. Cara lain adalah dengan mendapatkan UUID dari dialog properti partisi di GParted.
David Foerster
Baik saat saya melakukan ini di server saya, saya tidak benar-benar melihat cara untuk menyalinnya ... Yang saya miliki hanyalah keyboard dan bash.
Rotgers
Kebanyakan emulator terminal memungkinkan Anda untuk menyalin sesuatu (dengan asumsi Anda menggunakan akses jarak jauh atau emulator terminal seperti screenatau tmuxbukannya terminal virtual mentah).
David Foerster
Anggapan buruk haha, saya tidak menggunakan terminal emulator. Namun, saya menambahkan beberapa hal ke jawaban saya untuk membuat salinan file fstab kalau-kalau seseorang mengacaukan. :)
rotgers
Saya beralih dari menggunakan UUID ke LABEL karena untuk beberapa alasan UUID berubah ketika saya menyesuaikan partisi tetapi nama label tidak. Juga saya merasa lebih mudah untuk melihat apa yang terjadi di fstab dengan LABEL = "some-name" daripada UUID = "long random string".
Tampilan elips
6

Anda dapat menggunakan utilitas GUI ntfs-config untuk me-mount partisi NTFS di fstab. Dan dapat dengan mudah mengaktifkan / menonaktifkan kemampuan baca-tulis.

Mount NTFS Windows Partition FSTAB

Panduan lebih rinci: Memasang Partisi Windows di Ubuntu saat Startup

Gayan Weerakutti
sumber
Terima kasih! Bagaimana Anda membuat gif animasi yang bagus?
Hans-Peter Störr
1
@hstoerr dari byzanz-record . sekarang ada alternatif yang lebih baik.
Gayan Weerakutti
4

Mungkin bukan solusi yang baik, tetapi Anda selalu dapat memetakan id pengguna ke milik Anda sendiri, atau id grup:

Sebagai contoh saja di sini, id pengguna saya adalah 1000

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

Dalam hal itu, semua file yang dipasang milik pengguna ided 1000

bunga aster
sumber
1
Itu bekerja, tetapi dengan atau tanpa opsi "rw", masih terpasang dengan izindrwxrwxrwx
Amanda
Ini bekerja untuk saya. Untuk izin, saya menambahkan ke fstab file_mode = 0770, dir_mode = 0770
Rui F Ribeiro
2

Perhatikan bahwa jika Anda memasang drive ntfs Anda menggunakan label dan ingin dapat mengubah izin direktori atau file pada drive ini maka yang berikut berfungsi dengan baik (edit / etc / fstab misalnya sudo nano / etc / fstab dan kemudian tambahkan) :

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

Sedangkan di bawah ini TIDAK akan memungkinkan Anda untuk mengubah izin direktori atau file:

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2
CMP
sumber
1

Saya menggunakan yang berikut yang saya temukan dengan benar memberi saya izin saat mount (drive NTFS dari pengaturan sistem dual-boot):

Edit /etc/fstab:

UUID dapat ditemukan di /dev/disk/by-uuid/(biasanya peta ke /dev/sd*)

Ganti <your uuid>dengan UUID Anda

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

Jonathan
sumber