Як правильно монтувати розділ NTFS в / etc / fstab?


72

Після неприємного епізоду (мій другий, ви думаєте, я б дізнався), спричиненого автоматичним завантаженням підкастів без нагляду, що заповнює весь мій розділ, я нарешті перемістився просто ~/Musicдо його власного розділу. Розділ, який я використовую, вже був відформатований NTFS (це геніальна частина: коли я придбав цей комп'ютер три роки тому, я фактично встановив його з музичним розділом 20G саме тому, що раніше я мав цю проблему, але насправді ніколи Я організував себе для зберігання музики, тому це моя історія. Ось що мені зараз потрібно:

У мене є два розділи, які я хочу почати монтувати при запуску:

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

Розділ ext4 добре встановлений (належить мені, можна записати лише мною), але ntfs змонтує root, що має дозвіл на читання та запис для всіх. Я не впевнений, як це виправити. Чи є щось химерне щодо 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). У мене виникли деякі проблеми із зайнятістю hdd з ext3 / 4 та ntfs!

Відповіді:


89

Права доступу до NTFS і VFAT файлові системи повинні бути встановлені з dmask, fmaskі umaskваріанти. dmaskкерує дозволами для каталогів, fmaskконтролює дозволи для файлів та umaskкерує обома. Оскільки ці параметри встановлюють маски , вони повинні бути доповненням потрібних дозволів. Наприклад, rwx для власника та rx для інших - 022, а не 755.

Для того, щоб встановити власника, використовувати uidі gidможливості для користувачів і груп, відповідно. Ви можете знайти свій 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

Якщо після перезавантаження не з’являється видима помилка і перегляньте перегляд розділів, або з’явиться помилка, схожа на:

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 пропонують опцію "Швидкий запуск", що залежить від "неповного" відключення. Ви можете відключити швидкий запуск, виконавши ці кроки в розділі "Параметри живлення".



Це справді джерело багатьох із зазначеного. Я також включив кілька більш детальних пояснень того, як працюють опції * маски.
бессман

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).
Brady Trainor

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 / extra) на потрібного користувача. Цей крок доведеться повторювати щоразу, коли розділ встановлений, на мій досвід (принаймні, після кожного перезавантаження) ... так, зробіть належну річ, встановіть uid / gid / umask ... Я завжди думав, що маска та маска є необов'язково - наприклад, коли ви хотіли різних дозволів на файли та файли.
thecarpy

7

У мене виникли проблеми з цим, тому що при перезавантаженні зміна імені диска ... ( sda0 to sdb2 )

Я вирішив проблему, встановивши їх UUID у fstab, ви можете переглянути UUID для ваших жорстких дисків, ввівши: sudo blkid

Зробіть резервну копію файлу fstab:

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

Переконайтеся, що ви втричі перевіряєте >>, якщо ви розміщуєте його> ви перезаписуєте свій 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 14.04.01 !

Сподіваюся, що ця відповідь комусь допоможе ;-)


2
Хоча це звучить як загалом солідна порада, я вважаю, що більш елегантним є просто скопіювати UUID з виводу, sudo blkidа не скидати всю цю справу /etc/fstabі тимчасово пошкоджувати її. Іншим способом було б отримати UUID з діалогу властивостей розділу в GParted.
Девід Фоерстер

Так як я це роблю на своєму сервері, я насправді не бачу способу його скопіювати ... Все, що у мене є, - це клавіатура та баш.
rotgers

Більшість емуляторів терміналів дозволяють копіювати речі (за умови , що ви використовуєте віддалений доступ або емулятор терміналу , як screenі tmuxзамість вихідного віртуального терміналу).
Девід Фоерстер

Погане припущення, ха-ха, я не використовував емулятор терміналу. Однак я додав деякі речі до своєї відповіді, щоб зробити копію файлу fstab, якщо хтось накрутить. :)
rotgers

Я перейшов з використання UUID на LABEL, оскільки чомусь змінився UUID, коли я налаштував розділ, але назви міток не стали. Також мені легше бачити, що відбувається у fstab з LABEL = "деяким іменем", ніж UUID = "довга випадкова рядок".
Еліптичний вигляд

6

Ви можете використовувати утиліту GUI з конфігурацією ntfs для монтажу розділів NTFS у fstab. І може легко включити / відключити можливості читання-запису.

Монтувати NTFS Windows Partition FSTAB

Більш докладний посібник: Монтаж розділів Windows в Ubuntu при запуску


Дякую! Як ви створили цей приємний анімований gif?
Ганс-Пітер Стрер

1
@hstoerr від byzanz-record . тепер є кращі альтернативи.
Гаян Веракутті

4

Це може бути не гарним рішенням, але ви завжди можете зіставити ідентифікатор користувача на свій власний або на ідентифікатор групи:

Просто приклад тут, мій ідентифікатор користувача 1000

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

У цьому випадку всі встановлені файли належать користувачеві, який ідентифікує 1000


1
Це спрацьовує, але з "або rw" опцією вона все ще працює з дозволамиdrwxrwxrwx
Аманда,

Це працює для мене. Для дозволів я додав у fstab file_mode = 0770, dir_mode = 0770
Rui F Ribeiro

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.