Работа с NTFS с помощью утилит из пакета ntfsprogs
Цитата | Quote
Многие пользователи, использующие на своих компьютерах одновременно Windows и Linux, сталкиваются с проблемой доступа к разделам NTFS из Linux. Сейчас для решения этой проблемы обычно используют популярный драйвер ntfs3g, работающий в пространстве пользователя через fuse. Однако есть ещё утилита ntfsmount из пакета ntfsprogs, разработанного в рамках проекта linux-ntfs.
Основным преимуществом ntfsmount перед ntfs3g является поддержка чтения зашифрованных и сжатых файлов. В остальном эти два драйвера очень схожи. Но в пакете ntfsprogs кроме собственно ntfsmount есть ещё ряд полезных утилит, таких как ntfsresize, ntfsundelete, ntfslabel, ntfsfix и других.
Рассмотрим установку и использование пакета ntfsprogs на примере дистрибутива Gentoo.
Итак. Если вы используете стабильную ветку Gentoo то вам нужно размаскировать версию ntfsprogs из нестабильной ветки. Для этого добавьте строчку:
В файл /etc/portage/package.keywords. Кроме того, независимо от используемой ветки, нужно явно указать необходимость сборки ntfsprogs с поддержкой fuse. Для этого нужно дописать в файл /etc/portage/package.use строчку:
Устанавливаем пакет:
Проверяем загружен ли модуль fuse:
Если нет - загружаем и настраиваем его автоматическую загрузку:
Всё. Теперь мы можем легко подмонтировать ntfs раздел:
Если мы хотим чтобы раздел автоматически монтировался при загрузке, то нужно дописать в /etc/fstab строку:
Для получения метки раздела нужно ввести команду:
Для смены метки используется команда:
Нужно помнить что ntfslabel работает только с отмонтированными разделами. Если у вас появились какие-то ошибки на файловой системе, то раздел можно проверить с помощью команды ntfsfix:
Если вы ошибочно удалили какой-то файл, то расстраиваться не надо. Положение может спасти команда ntfsundelete. Для получения списка доступных для восстановления файлов воспользуйтесь командой:
Она выведет примерно вот такой список:
Далее находим в первом столбике Inode нужного файла (например если нам нужен файл edb.log то это 16208) и выполняем команду:
Всё. Файл восстановлен.
Более подробно узнать об утилитах из пакета ntfsprogs можно на официальном сайте проекта linux-ntfs (http://linux-ntfs.org/)
Основным преимуществом ntfsmount перед ntfs3g является поддержка чтения зашифрованных и сжатых файлов. В остальном эти два драйвера очень схожи. Но в пакете ntfsprogs кроме собственно ntfsmount есть ещё ряд полезных утилит, таких как ntfsresize, ntfsundelete, ntfslabel, ntfsfix и других.
Рассмотрим установку и использование пакета ntfsprogs на примере дистрибутива Gentoo.
Итак. Если вы используете стабильную ветку Gentoo то вам нужно размаскировать версию ntfsprogs из нестабильной ветки. Для этого добавьте строчку:
Code
sys-fs/ntfsprogs ~x86
В файл /etc/portage/package.keywords. Кроме того, независимо от используемой ветки, нужно явно указать необходимость сборки ntfsprogs с поддержкой fuse. Для этого нужно дописать в файл /etc/portage/package.use строчку:
Code
sys-fs/ntfsprogs fuse
Устанавливаем пакет:
Code
emerge --ask sys-fs/ntfsprogs
Проверяем загружен ли модуль fuse:
Code
lsmod | grep fuse
Если нет - загружаем и настраиваем его автоматическую загрузку:
Code
echo fuse >> /etc/modules.autoload.d/kernel-2.6
modprobe fuse
modprobe fuse
Всё. Теперь мы можем легко подмонтировать ntfs раздел:
Code
ntfsmount /dev/sda1 /mnt/windows
Если мы хотим чтобы раздел автоматически монтировался при загрузке, то нужно дописать в /etc/fstab строку:
Code
/dev/hda1 /mnt/windows ntfs-fuse umask=0,rw,force 0 0
Для получения метки раздела нужно ввести команду:
Code
ntfslabel /dev/sda1
Для смены метки используется команда:
Code
ntfslabel /dev/sda1 Windows
Нужно помнить что ntfslabel работает только с отмонтированными разделами. Если у вас появились какие-то ошибки на файловой системе, то раздел можно проверить с помощью команды ntfsfix:
Code
ntfsfix /dev/sda1
Если вы ошибочно удалили какой-то файл, то расстраиваться не надо. Положение может спасти команда ntfsundelete. Для получения списка доступных для восстановления файлов воспользуйтесь командой:
Code
ntfsundelete -f /dev/sda1
Она выведет примерно вот такой список:
Code
WARNING: Dirty volume mount was forced by the 'force' mount option.
Inode Flags %age Date Size Filename
--------
16 F..! 0% 1970-01-01 0 <none>
17 F..! 0% 1970-01-01 0 <none>
18 F..! 0% 1970-01-01 0 <none>
19 F..! 0% 1970-01-01 0 <none>
20 F..! 0% 1970-01-01 0 <none>
21 F..! 0% 1970-01-01 0 <none>
22 F..! 0% 1970-01-01 0 <none>
23 F..! 0% 1970-01-01 0 <none>
12249 FR.. 100% 2007-11-19 9 <none>
15741 FN.. 100% 2007-03-19 1056768 tmp.edb
16208 FN.. 100% 2007-03-19 1048576 edb.log
16210 FN.. 100% 2007-03-19 1048576 res2.log
16211 FN.. 100% 2007-03-19 1048576 res1.log
16213 FN.. 100% 2007-03-19 8192 edb.chk
16305 FR.. 100% 2007-03-19 512 ~DFEDD9.tmp
16307 FR.. 100% 2007-03-19 166 h2r21.tmp
16327 FN.. 100% 2007-03-19 5253 h2r22.tmp
16328 FR.. 100% 2007-03-19 0 ms2159.tmp
16329 F..! 0% 1970-01-01 0 <none>
16330 F..! 0% 1970-01-01 0 <none>
16331 F..! 0% 1970-01-01 0 <none>
16332 F..! 0% 1970-01-01 0 <none>
16333 F..! 0% 1970-01-01 0 <none>
16334 F..! 0% 1970-01-01 0 <none>
16335 F..! 0% 1970-01-01 0 <none>
Inode Flags %age Date Size Filename
--------
16 F..! 0% 1970-01-01 0 <none>
17 F..! 0% 1970-01-01 0 <none>
18 F..! 0% 1970-01-01 0 <none>
19 F..! 0% 1970-01-01 0 <none>
20 F..! 0% 1970-01-01 0 <none>
21 F..! 0% 1970-01-01 0 <none>
22 F..! 0% 1970-01-01 0 <none>
23 F..! 0% 1970-01-01 0 <none>
12249 FR.. 100% 2007-11-19 9 <none>
15741 FN.. 100% 2007-03-19 1056768 tmp.edb
16208 FN.. 100% 2007-03-19 1048576 edb.log
16210 FN.. 100% 2007-03-19 1048576 res2.log
16211 FN.. 100% 2007-03-19 1048576 res1.log
16213 FN.. 100% 2007-03-19 8192 edb.chk
16305 FR.. 100% 2007-03-19 512 ~DFEDD9.tmp
16307 FR.. 100% 2007-03-19 166 h2r21.tmp
16327 FN.. 100% 2007-03-19 5253 h2r22.tmp
16328 FR.. 100% 2007-03-19 0 ms2159.tmp
16329 F..! 0% 1970-01-01 0 <none>
16330 F..! 0% 1970-01-01 0 <none>
16331 F..! 0% 1970-01-01 0 <none>
16332 F..! 0% 1970-01-01 0 <none>
16333 F..! 0% 1970-01-01 0 <none>
16334 F..! 0% 1970-01-01 0 <none>
16335 F..! 0% 1970-01-01 0 <none>
Далее находим в первом столбике Inode нужного файла (например если нам нужен файл edb.log то это 16208) и выполняем команду:
Code
ntfsundelete -f -u -i 16208 /dev/sda1
Всё. Файл восстановлен.
Более подробно узнать об утилитах из пакета ntfsprogs можно на официальном сайте проекта linux-ntfs (http://linux-ntfs.org/)
Источник_http://ylsoftware.com/