Как правильно смонтировать раздел NTFS в / etc / fstab?

73

После неприятного эпизода (мой второй, как вы думаете, я узнаю), вызванного неконтролируемыми автоматическими загрузками подкастов, заполняющими весь мой раздел, я, наконец, перешел только ~/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» или «relaytime» доступны и рекомендуются для постоянного монтажа NTFS (см. Man mount.ntfs). У меня были некоторые проблемы с занятостью жесткого диска с ext3 / 4 и ntfs!

Ответы:

90

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

Бэссман
источник
Это действительно источник большей части вышесказанного. Я также включил некоторые более подробные объяснения того, как работают параметры * 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).
Брейди Трейнор
1
@ScottFuid=0,gid=0
wjandrea
34

Если вы смонтируете раздел ntfs с опцией permissions, то 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 ... Я всегда думал, что fmask и dmask были необязательно - например, когда вы хотели разные разрешения для файлов и директорий.
thecarpy
7

У меня были некоторые проблемы с этим, потому что, когда я перезагружаюсь, имя диска изменяется ... (от sda0 до 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 Server 14.04.01 !

Надеюсь, этот ответ кому-нибудь поможет ;-)

rotgers
источник
2
Хотя это звучит, как правило, твердый совет, я бы посчитал более элегантным просто скопировать UUID из выходных данных sudo blkidвместо того, чтобы создавать дамп целиком /etc/fstabи временно его искажать. Другим способом было бы получить UUID из диалога свойств раздела в GParted.
Дэвид Фёрстер
Ну, так как я делаю это на своем сервере, я не вижу способа скопировать его ... Все, что у меня есть, это клавиатура и bash.
Ротгерс
Большинство эмуляторов терминала позволяют вам копировать объекты (при условии, что вы используете удаленный доступ или эмулятор терминала, такой как screenили tmuxвместо обычного виртуального терминала).
Дэвид Фёрстер
Плохое предположение, ха-ха, я не использовал эмулятор терминала. Тем не менее, я добавил кое-что в свой ответ для создания копии файла fstab на случай, если кто-то облажается. :)
Ротгерс
Я переключился с использования UUID на LABEL, потому что по какой-то причине UUID изменился, когда я настроил раздел, а имена меток - нет. Также мне легче увидеть, что происходит в fstab с LABEL = "some-name", чем с UUID = "long random string".
Эллиптический вид
6

Вы можете использовать утилиту графического интерфейса ntfs-config для монтирования разделов NTFS в fstab. И может легко включить / отключить возможности чтения-записи.

Смонтировать NTFS раздел Windows FSTAB

Более подробное руководство: Монтирование разделов Windows в Ubuntu при запуске

Гаян Виракутти
источник
Спасибо! Как вы создали этот хороший анимированный GIF?
Ганс-Петер Стёрр
1
@hstoerr из byzanz-записи . теперь есть лучшие альтернативы, хотя.
Гаян Виракутти
4

Возможно, это не лучшее решение, но вы всегда можете сопоставить идентификатор пользователя со своим или идентификатором группы:

Просто пример здесь, мой идентификатор пользователя был 1000

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

В этом случае все подключенные файлы принадлежат пользователю с идентификатором 1000

маргаритка
источник
1
Это работает, но с или без опции «rw», он все еще монтируется с разрешениямиdrwxrwxrwx
Amanda
Это работает для меня. Для разрешений я добавил в 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
CMP
источник
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

Джонатан
источник