Опять NTFS :)

В общем, проблема такая. Для подключения раздела с ntfs в /etc/fstab прописана следующая строчка:
/dev/sda6 /media/sda6 ntfs-3g umask=007,nls=windows-1251 0 0
При загрузке системы раздел монтируется, но не отображаются все файлы и папки с русскими названиями.
Делаю все в ручную:
umount /dev/sda6
mount -t ntfs-3g /dev/sda6 /media/sda6 -o umask=0,windows=1251
И тогда все нормально, папки и файлы отображаются. Не могу понять, почему он не делает это при загрузке системы, ведь строчка в fstab такая же...

Комментарии

разве такая же? у вас в фстабе 007 вроде прописано
вот так попробуйте
/dev/sda6 /media/sda6 ntfs-3g nls=windows-1251,umask=0 0 0
З,Ы.
какая локаль в сисеме?

Системная кодировка у Вас какая?

Если я правильно понимаю (а это, скорее всего, именно так), то опция nls должна быть равна системной кодировке, т.е. той, в которой нужно ПОЛУЧИТЬ на ВЫВОД имена файлов, а не та, в которой они хранятся на диске. Например, у меня с локалью -8 nls=utf8.

man mount:

iocharset=name
Character set to use when returning file names. Unlike VFAT,
NTFS suppresses names that contain unconvertible characters.
Deprecated.

nls=name
New name for the option earlier called iocharset.

utf8 Use UTF-8 for converting file names.

З.Ы. А разве есть вообще такая кодировка, как windows-1251? Может быть CP1251?

З.З.Ы. А если в системе стоит *.UTF-8, то, думаю, можно вообще не трогать nls, а просто задать опцию utf8 (не знаю, работает ли на ntfs-3g).

Извиняюсь за неточность в команде (пропустил nls)
mount -t ntfs-3g /dev/sda6 /media/sda6 -o umask=0,nls=windows-1251
Вообще, системная кодировка у меня UTF-8, я пробовал вроде с nls=UTF-8, такая же бойда... Но ведь странно это, в fstab'е прописано nls=windows-1251 и не работает, а вручную прописать и работает... Попробую еще раз с UTF-8. С СР1251 тоже попробую. Спасибо за ответы. Напишу, когда решу проблему... если решу )

Попробуйте в fstab написать так:
/dev/sda6 /media/sda6 ntfs-3g defaults,locale=-8,umask=007,gid=46 0 1

>я пробовал вроде с nls=UTF-8, такая же бойда...

Надо писать не utf-8 или UTF-8, а utf8 - без черточки. С черточкой mount не воспринимает.

>Но ведь странно это, в fstab'е прописано nls=windows-1251 и не работает, а вручную прописать и работает...

Скорее всего, кодировки windows-1251 не существует вовсе, поэтому mount пытается подставить в nls кодировку из текущей системной локали. А локаль устанавливается ПОСЛЕ монтирования разделов fstab'ом, поэтому при авто-монтировании подставляется C или POSIX (точно не помню, что), а при ручном монтировании - уже utf.

P.S. У меня в fstab'е следующая строчка:

/dev/sda3 /mnt/100g ntfs users,noatime,umask=111,dmask=000,nls=utf8,ro 0 0

Все работает отлично.