четверг, 12 января 2012 г.

Linux: востановление файлов с NTFS

Для начала определяем устройсво с которого необходимо востановить данные

sudo fdisk -l
Disk /dev/sda: 250 GB, 250056737280 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1        1216     9767488   83  Linux
/dev/sda2            1216       30402   234436545    5  Extended
/dev/sda5            1216        1583     2947927   82  Linux swap
/dev/sda6            1584       30402   231480585   83  Linux

Disk /dev/sdb: 8 GB, 8029962240 bytes
248 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 15376 * 512 = 7872512 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sdb1   *           1        1020     7841729    b  HPFS/NTFS

Соответсвенно, нам нужен /dev/sdb1

Теперь, когда мы знаем устройство, с которого необходимо востановить данные, мы будем сканировать его, чтобы увидеть, какие файлы мы можем востановить.

sudo ntfsundelete /dev/sdb1

Сдесь мы получаем вывод со списком файлов

Имена файлов, которые могут восстановленные появляются в правой колонке.

Процент в третьей колонке рассказывает нам, какая часть этого файла может быть восстановлена.

Далее мы можем востановить файлы указав маску:

например, мы будм востанавливать все файлы с расширением jpg

Это делается следующим образом:

sudo ntfsundelete /dev/sdb1 –u –m *.jpg

Файлы будут сохранены в теущем каталоге

Так же мы можем востановить файл указав его Inode, который отображается в первом столбце

Например, нам необходимо востановить файл, у которого Inode 666.

Делаем следующее:

sudo ntfsundelete /dev/sdb1 –u –i 666

Итак, мы востановили все необходимые файлы с устройства.

Теперь мы смотрим список этих востановленых файлов коммандой:

ls –l

Мы видем, что права на все востановленные файлы -rw-------

И владельцем является root

Исправляем это следующей командой:

sudo chown имя_пользователя *