Спасение FAT раздела

Здесь обсуждаются все вопросы, не попадающие под другие категории
Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Спасение FAT раздела

Сообщение leikind »

Привет всем.

Для начала: Товарищи модераторы, может быть, это немного и оффтопик, но спасением FAT раздела я занимаюсь из-под Linux, так как в нем есть прямой доступ к дискам и удобные утилиты dd, biew, file, etc., :)


Есть primary FAT раздел, начало которого какая-то гадость, предположительно виндозный вирус, затер ерундой. Раздел соответственно не монтируется ни Линуксом, ни Виндой. MBR в порядке.

Вот начало моего первого FAT раздела:

Код: Выделить всё

00000000: EB 58 90 77  61 73 20 68  65 72 65 00  02 08 20 00           КX.was here ..
00000010: 02 00 00 00  00 F8 00 00  3F 00 FF 00  3F 00 00 00           .    Ь  ? Ъ ?
00000020: 3A 93 3E 00  9D 0F 00 00  00 00 00 00  02 00 00 00           :?> ..      .
00000030: 01 00 06 00  00 00 00 00  00 00 00 00  00 00 00 00           . .
00000040: 80 00 29 27  25 F9 19 43  5F 4E 45 57  20 20 20 20           ? )'%Ы.C_NEW
00000050: 20 20 46 41  54 33 32 20  20 20 FA 33  C9 8E D1 BC             FAT32   З3и.я?
Как видно, в начале идет тип файловой системы FAT32 и метка диска C_NEW. Кстати, строка was here еще больше наводит меня на мысль, что нечто зловредное гадит мне прямо на диск, но тем не менее этот раздел читается.

А вот пострадавший раздел:

Код: Выделить всё

00000000: EA 07 3C 41  B1 3B D3 62  F8 11 1A 6B  0E 71 C4 42           Й.<A?;сbЬ..k.qдB
00000010: 2B 7A 53 06  5B 15 D3 F3  13 A8 E1 9A  B3 EA ED CB           +zS.[.сС.?А.ЁЙМк
00000020: 58 9D EB 09  EA 68 D3 B4  21 8B 10 E3  A6 74 6B 42           X.К.Йhс?!?.Ц?tkB
00000030: 9F 8D 76 71  EB BC 1F 96  CA DC FC A4  23 3C 81 86           ..vqК?..йэЭ?#<??
00000040: 58 C5 20 01  4C 66 89 05  01 02 AD AD  AD 24 7E DB           Xе .Lf?...???$~ш
00000050: 2F F3 CC 2C  6E 25 12 0D  DA 5A 3B B3  0C 12 20 86           /Сл,n%..зZ;Ё.. ?
Никаких меток и типов файловых систем. И утилита file также не распознает его, в отличие от первого раздела:

Код: Выделить всё

[root@localhost root]# file -s /dev/hda1 && echo && file -s /dev/hda2
/dev/hda1: x86 boot sector, code offset 0x58, OEM-ID "was here", sectors/cluster 8, Media descriptor 0xf8, heads 255, hidden sectors 63, sectors 4100922 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 3997, reserved3 0x800000, serial number 0x19f92527, label: "C_NEW      "

/dev/hda2: data
Я попробовал запустить fsck.vfat на раздел, но получил вот что:

Код: Выделить всё

[root@localhost root]#  fsck.vfat /dev/hda2
dosfsck 2.9, 15 May 2003, FAT32, LFN
Currently, only 1 or 2 FATs are supported, not 43.
Хм, явно у меня не 43 таблицы ;-). Но fsck.vfat явно менее интеллектуальный, чем fsck.ext2.

Я надеюсь, что вторая FAT таблица жива, а может, жива и первая, и их можно найти каким-нибудь инструментом, линуксовым или виндозным, и восстановить файлы? Кто что посоветует?
Изображение

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

43 - потому что в том поле просто мусор, вместо цифры два

я развлекался три месяца назад удивительнейшей утилитой norton diskeditor (для dos), в режиме редактирования заголовка раздела в подобной ситуации (сдуру пометил раздел как unused в win2k , он всё затёр нулями).

и потом долгий итеративный цикл сравнить живой/мёртвый заголовки, прописать данные, перегрузить/запустить fsck.vfat, отсосать, повторить сначала.

в конце концов я получил рабочий vfat, на который мне и дышать страшно.
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Foxx
Неотъемлемая часть форума
Сообщения: 435
Зарегистрирован: 03 апр 2004, 17:05
Контактная информация:

Сообщение Foxx »

Если знакомо начало и конец раздела, порой помогает простой fdisk или parted. Просто вбиваешь их руками+метку ФС, инфа то от этого не теряется. Указать 2 фата. Таким образом получается рабочий хидер ФС без потери данных. На журналируемых срабатывает хуже, но таки срабатывает. Думаю, в твоем случае после этого можно будет fsck вернуть первый фат из бэкапного.

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Foxx писал(а):Если знакомо начало и конец раздела, порой помогает простой fdisk или parted. Просто вбиваешь их руками+метку ФС, инфа то от этого не теряется. Указать 2 фата. Таким образом получается рабочий хидер ФС без потери данных. На журналируемых срабатывает хуже, но таки срабатывает. Думаю, в твоем случае после этого можно будет fsck вернуть первый фат из бэкапного.
Разве fdisk пишет хидер самого раздела? По-моему, он только меняет MBR, а уже структура самого раздела создается форматированием.
Изображение

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Aleksey Kondratenko писал(а): После баckup'a раздела напускаем mkdosfs на него
на сам backup файл?
(не забывая делать fat32), и затем берем оттуда начало bootsector'a (до надписи FAT32).

Остальная часть берется с любого другого загрузочного раздела (при условии что он грузит ту же ось).
От надписи FAT32 и докуда?

И еще, потерянный раздел - незагрузочный
Изображение

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

Сообщение leikind »

Понятно. В результате имеем первый сектор от mkdosfs, все остальное как было, оригинальное. Попробую вечером.
Изображение

Foxx
Неотъемлемая часть форума
Сообщения: 435
Зарегистрирован: 03 апр 2004, 17:05
Контактная информация:

Сообщение Foxx »

мна, пардон, облажался после вчерашнего с fdisk...
Aleksey Kondratenko походу прав тут...

Sineex
Увлекающийся
Сообщения: 114
Зарегистрирован: 21 апр 2004, 18:32
Откуда: БГУ
Контактная информация:

Сообщение Sineex »

Есть тут одна приятная утилка - Special FDISK 2000, кажись. Из всех Fdisk'ов, что я видел, - самый толковый. И ничего, что 2000 - у него опций мама не горюй!! В том числе и копирование одной таблицы FAT в другую. Правда, не ковырял я запорченые разделы эой штукой - ничего про бажность и интеллектуальность не могу сказать, но может и поможет. Найти можно или так в Инете, или на UBCD & Hiren's Boot CD 6.0.
man - первая комманда для изучения...

Ответить