HOWTO Разделы MS Windows по-русски

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Вернуться в раздел руководства

Содержание

[править] Введение

Достаточно часто возникает необходимость подмонтировать раздел с установленным M$ Windows.

[править] Ядро

Для того, чтобы система могла работать с разделами FAT или NTFS, необходимо включить их поддержку в ядре.

Linux Kernel Configuration: Filesystems
File systems -> 
  DOS/FAT/NT Filesystems ->
    (M) DOS FAT fs support
    (M)   MSDOS fs support
    (M)   VFAT (Windows-95) fs support
    (M) NTFS file system support

Также надо включить поддержку следующих кодировок:

Linux Kernel Configuration: Native Language Support
File systems -> 
  Native Language Support ->
    <M> Windows CP1251 (Bulgarian, Belarusian)
    <M> Codepage 866 (Cyrillic/Russian)

[править] Монтирование

Теперь можно примонтировать любой windows-раздел программой mount. mount -t file_system /dev/device /mnt/dir В нашем случае в качестве file_system необходимо указывать vfat или ntfs, в зависимости от файловой системы раздела с windows.

[править] Монтирование FAT

Для монтирования разделов FAT нужно использовать следующую команду: mount -t vfat -o codepage=866,iocharset=koi8-r,quiet,umask=000 /dev/hdd2 /mnt/win1 Для украинских символов: mount -t vfat -o codepage=866,iocharset=koi8-u,quiet,umask=000 /dev/hdd2 /mnt/win1 Мы использовали дополнительные опции iocharset, codepage, quiet и umask. Рассмотрим их внимательнее:

  • codepage - это кодовая страница используемая на монтируемой ФС. Так как мы из России,то нужно писать codepage=866. Эта опция нужна для перекодировки имен файлов.
  • iocharset - указывает какую кодировку использовать для ввода/вывода.Нужно указать свою системную локаль. Локаль можно узнать командой locale. (Здесь под вводом/выводом понимается ввод с и вывод на терминал. Иммено поэтому нужно указывать кодировку локали, т.е. кодировку которую используют программы запущенные в терминале.)
  • quiet - при копировании на файловую систему FAT программа попытается записать права доступа, владельца и т.д., но на FAT их сохранить нельзя и будет выведено сообщение об ошибке ( хотя файл скопируется ). Чтобы ошибки не появлялись мы просим смонтировать в "молчаливом" режиме
  • umask - в некоторых случаях у простого пользователя может не хватить прав на чтение или запись файлов из-за неправильно установленных прав на файлы и директории. Поскольку у файловой системы FAT нет прав доступа, они выставляются операционной системой ( в данном случае Linux ) на лету в соответствии с указанным значением umask. Про umask смотрите в umask(2)

Параметры codepage и iocharset можно задать прямо в ядре. Тогда не нужно будет писать их каждый раз:

Linux Kernel Configuration: FAT
File systems -> 
  DOS/FAT/NT Filesystems ->
    (utf8) Default iocharset for FAT
    (866) Default codepage for FAT

То есть вместо mount -t vfat -o codepage=866,iocharset=utf8,quiet,umask=000 /dev/hdd2 /mnt/win1 можно писать mount -t vfat -o quiet,umask=000 /dev/hdd2 /mnt/win1

[править] Монтирование NTFS

Для монтирования NTFS разделов опции mount немного изменятся. Делаем это так: mount -t ntfs -o nls=koi8-r,umask=0,ro /dev/hdd2 /mnt/win1 Для украинских символов: mount -t ntfs -o nls=koi8-u,umask=0,ro /dev/hdd2 /mnt/win1 Вот что они значат:

  • nls - указывает на вашу системную локаль. Отсутствие опций codepage и iocharset связано с тем,что NTFS разделы используют юникод для хранения имен файла.
  • umask - указывает на то что читать файлы с этого раздела могут все. А вот писать не разрешает опция ro. Мы рекомендуем ее поставить,так как функция записи на разделы NTFS еще не отлажена.

В случае если вы в качестве системной кодировки используете utf-8, то опции mount должны быть следующими: mount -t ntfs -o nls=utf8,umask=0,ro /dev/hdd2 /mnt/win1

  • utf8 - использовать UTF-8 для перекодировки имён файлов. - эта опция deprecated, вместо нее используем nls=utf8

[править] Монтирование FAT флешек в UTF-8

Для монтирования Windows-отформатированных флешек ДОСТАТОЧНО добавить в /etc/fstab строку /dev/sda1 /mnt/flash vfat noauto,utf8=true,umask=000 0 0 и потом набрать команду: mount /dev/sda1 Данный вариант проверенно работает в stage3-i686-2007.0

[править] Автомонтирование

Если у вас все еще есть разделы ОС Windows на харде,то можно добавить монтирование этих разделов при загрузке.Для этого необходимо отредактировать файл /etc/fstab.

Файл: /etc/fstab

...
/dev/hda9 /mnt/win1 vfat auto,codepage=866,iocharset=koi8-r,quiet,umask=000 0 0
#/dev/hda9 /mnt/win1 vfat auto,codepage=866,iocharset=koi8-u,quiet,umask=000 0 0
/dev/hda3 /mnt/win2 ntfs auto,nls=koi8-r,umask=0,user 0 0

еще к опциям можно добавить showexec, чтобы все файлы не выглядели исполняемыми, в случае с FAT32


Посоветовать или спросить,
пожаловаться или поблагодарить
можно на странице обсуждений.
Обсуди эту статью на форуме Gentoo.ru

Личные инструменты