среда, 23 декабря 2009 г.

Восстановление данных и файловых систем

Восстановление разделов (елси они не видятся fdisk) testdisk & hdparm (http://man-linux.ru/notes/solve/testdisk/, http://rlab.ru/forum/topic,405.0
scalpel - также программа для восстановления данных
1). ext3
сначала отмонтировать раздел (пакет ext3grep)
# ext3grep /dev/sda1 --dump-names - список файлов для восстановления
# ext3grep /dev/sda1 --restore-file /home/user/work/file.txt - файла
# ext3grep /dev/sda1 --restore-file /home/user/work/ - каталога
# ext3grep /dev/sda1 --restore-all --after=1231543545 - всех с момента (секунды с начала эпохи Unix)
2). ntfs (http://man.linux-ntfs.org/ - описание всех утилит)
пакет ntfsprogs
# ntfsundelete /dev/sda5
6006 FN.. 21% 2007-07-11 152579024 Dd705
6013 FR.. 100% 2007-03-29 574 make
3 колонка - % сохранности файла, если 100% можно восстановить
# ntfsundelete -p 100 /dev/sda5 - вывести только с 100% сохранностью
# ntfsundelete /dev/sda5 -p 100 -t 2d - тоже + удаленные за последние 2 дня
востановим файл с inode (1 колонка) 6013 в каталог /undelete
# ntfsundelete /dev/sda5 -u -i 6013 -d /undelete
# ntfsundelete /dev/sda5 -u -m "*.doc" - восстановление по маске
# ntfsundelete /dev/sda5 -S 5k-6m - восстановление по длине
# ntfsundelete /dev/sda5 -u -m "*" -d /undelete - все файлы
3). FAT, UFS, EXT3
# photorec - выбирает диск, потом выбираем пункт меню Intel, раздел, тип файловой системы, каталог восстановления, Y
Недостатки - имена не восстанавливает, дает сбои (битые файлы), вдобавок к нему нужно комплект утилит Sleuth Kit:
Просмотр удаленных файлов
# fls -rd /dev/sda7 (-r - рекурсивно по каталогам, -d - показывать только удаленные файлы)
r/r * 1214015(realloc): andrey/.xauthFPV1Nv-n
d/r * 4472833: test
4472833 - номера инод, а realloc - означает что файл можно восстановить (3 строка),
Пример использования:
# fls -rd /dev/sda7 | grep -v '(realloc)' | less (конкретный файл grep 1.jpg)
Восстановление файла
# icat -r /dev/sda7 1213725 >/home/vova/Downloads/1.doc
Восстановление всех файлов:
# for i in 'fls -rd /dev/sda7 | grep -v '(realloc)' | awk {'print $3'} | tr -d [:]'; do icat -r -f fat /dev/sdb1 $i > /home/andrey/tmp/inode-$i ; done
4). Починка файловых систем
fsck.vfat - FAT12, FAT16, FAT32
fsck.ufs - UFS, UFS2, FFS
ntfsfix - NTFS
К сожалению, ntfsfix не способна полностью вылечить NTFS. Она лишь исправляет некоторые из ее проблем и устанавливает флаг принудительной проверки файловой системы, так что следующая перезагрузка в Windows повлечет за собой запуск chkdsk для полной проверки ФС. Используя виртуальную машину, мы можем избежать необходимости перезагрузки в Windows. Для ЭТОГО:
1. Запускаем виртуальную машину и устанавливаем винду на виртуальный жесткий диск.
2. Отмонтируем раздел, содержащий файловую систему NTFS.
3. Запускаем виртуальную машину, в качестве первого жесткого диска которой указываем виртуальный диск с Windows, а второго — наш настоящий жесткий диск.
4. С помощью стандартных средств Windows запускаем проверку NTFS-раздела.
5). Копирование разделов
на новом диске создается раздел, идентичный по размерам источнику, и выполняется команда «dd if=раздел1 of=раздел2 bs=1m». Таким же образом можно скопировать и NTFS-раздел, но в пакете ntfsprogs для этой цели есть более подходящая утилита. Программа ntfsclone идентична по функциональности команде dd за исключением двух особенностей. Во-первых, она не копирует незанятые участки файловой системы, и перемещение происходит быстрее, а образ раздела (если ты создаешь образ) занимает меньше места. Во-вторых, ntfsclone способна хранить образ в специальном сжатом файле, который удобно передавать на другие машины. Для клонирования раздела:
# ntfsclone --overwrite /dev/hda1 /dev/hdb1
А для создания образа:
# ntfsclone --save-image --output backup.img /dev/hda1
Утилита ntfsclone особенно удобна, если ты решил скопировать установленный Windows на целый парк других машин (учебный класс или офис). Для этого достаточно установить Windows на одну машину и создать образ, который затем можно выложить в шару и с помощью Linux LiveCD залить на другие машины. Чтобы они смогли загружаться, придется также скопировать MBR-запись диска:
# sfdisk -d /dev/sda > /share/sda-sfdisk.dump
# dd if=/dev/sda bs=512 count=1 of=/share/sda-mbr.dump
А затем записать ее на диск всех машин:
# sfdisk /dev/sda < /share/sda-sfdisk.dump
# dd if=/share/sda-mbr.dump of=/dev/sda
6). Перенос данных
Если ты решил полностью перейти на Linux, но не хочешь использовать различные ухищрения и ntfs-3g для доступа к своим старым данным, расположенным на NTFS-разделе? Ведь этот раздел может занимать большую часть диска, и нет никакой возможности просто скопировать его содержимое на новый раздел, отформатированный в ext3/ext4. В этом случае тебе на помощь опять придут утилиты из пакета ntfsprogs, а точнее одна из них — ntfsresize, которая позволит копировать данные небольшими порциями в новую файловую систему с последующим уменьшением размера NTFS-раздела и увеличением ехt3/ехt4-раздела. Для этого тебе понадобится какой-нибудь LiveCD, содержащий ntfsprogs и e2fsprogs версии не ниже 1.41 (для поддержки ext4, если ты, конечно, собираешься переносить данные на нее). Также очень желательно, чтобы LiveCD содержал свеженький gparted, потому что изменять размер вручную трудно и опасно (кроме изменения размера самой ФС, предстоит менять размер раздела с помощью fdisk, одна ошибка и всю операцию придется начинать сначала). Загружаемся с LiveCD и монтируем разделы жесткого диска. Допустим, его размер составляет 120 Гб. Из них 80 Гб — под завязку набитый NTFS-раздел, а остальные 30 Гб (да, именно 30, после перевода маркетинговых гигабайт в настоящие объем диска оказывается равным примерно 111 Гб) — это раздел с установленным Linux, занятость которого составляет 5 Гб. Значит, наше «окно» равно примерно 25 Гб. Перемещаем файлы с NTFS-раздела на ext3/ext4- раздел до тех пор, пока их совокупный размер не станет равен размеру окна. В результате последний оказывается полностью заполненным, а первый «худеет» на 25 Гб. Отмонтируем оба раздела и запускаем gparted. Выбираем NTFS-раздел, жмем вторую кнопку мыши, выбираем Resize/Move и уменьшаем раздел на размер окна, выбираем ехt3/ехt4-раздел и увеличиваем его на тот же размер окна (раздел придется сдвинуть к началу диска, а затем увеличить). Так мы получаем еще 25 Гб освободившегося места, что позволит нам скопировать часть файлов, а затем вновь изменить размер. Четыре таких прохода, и мы полностью удаляем NTFS-раздел, а раздел ext3/ext4 расширяем на весь диск.

live cd с данными утилитами можно взять www.sysresccd.org

источник http://forum.http-soft-soft.ru/vosstanavlivaem-dannye-s-t52.html

Другие утилиты
1). Magic Rescue (magicrescue-1.1.9)
Папка восстановления должна быть на другом диске (флешка например)
рецепты восстановления в папке recipes (или искать в инете)
hdparm -d1 -c -u1 /dev/device - включения прямого доступа к устройству (делается сначала - можно обойтись без нее но время восстановления увеличится)
минимальный запуск указываем рецепт и директорию восстановления
magicrescue -d directory -r recipe device 
magicrescue -d /mnt/external -r /usr/local/share/magicrescue/recipes/zip /dev/sda2 (можно обойтись без полного пути просто zip)
Можно задать поиск для многих форматов указанием директории что содержит все рецепты для этих форматов. Дополнительные ключи
-M io - выводит результаты работы в консоль
-b blocksize - ограничение результатов в файлы, которые начинаются на разных размерах блоков (стандартный 512)
Если прервали Ctrl+c (ниже пример вывода утилиты где она это подсказывает) то можно продолжить с этого места
magicrescue: killed by signal 2 at offset 0x95D334D68 in file /dev/sda2
Use the -O option to resume from this offset later
пример
-O = 0x95D334D68 (-O [+|-|=][0x]offset, где - до позиции + после нее)
В папке /usr/local/share/magicrescue/tools/ для подальшей организации найденных файлов есть утилиты.
2). File Ripper - file formats: PNG, HTML, GIF, ZIP, LBM, PBM, ANM, BAT, BAS, RTF, HLP, WAV, WRI, JPG, ARJ, EXE, ANS, ZZT, FRM, text BAS, BMP, MZB, FLI, MSP, DOC, MZX, GDM, IT, S3M, SAV, BRD, LZH/LHA, MOD, XM, VOC, SVX, ABM, QUETZAL, and certain obscure MBBS-related formats corresponding to the files CALLERS, USERS.DAT and CONFIG
http://home.minlos.no/~peter.munsterhjelm/km
даже если дисковый образ или файловая система повреждены.
3). http://www.cgsecurity.org/wiki/PhotoRec общее ознакомление
качаем http://www.cgsecurity.org/wiki/TestDisk_Download
использование оригинальное
http://www.cgsecurity.org/wiki/PhotoRec_Step_By_Step
переведенное
http://www.cgsecurity.org/wiki/PhotoRec_Шаг_за_шагом

Комментариев нет:

Отправить комментарий