LINUX.ORG.RU

Как восстановить таблицу файлов на флешке?


0

1

По своей глупости запорол файловую систему на флешке:
dd if=/dev/fd0 of=~/boot.floppy count=1 bs=512
dd if=~/boot.floppy of=/dev/sdb count=1 bs=512
Теперь гиговая флешка определяется размером 1,44М и
как неотформатированая. Как я понял, я угробил FAT-таблицу.
Сделал так:
cat /dev/sdb > ~/flash.img
и получил файл размером почти гиг. Данные сохранились, и ето хорошо.
Как-то можно восстановить таблицу файлов?

testdisk/photorec (можно и нужно работать с образом, а лучше с его копией)

Чтобы флешка не определялась как 1,44M-ная, нужно забить первые её 512 байт нулями:
dd if=/dev/zero of=/dev/sdb bs=512 count=1

AITap ★★★★★
()

Блин, флешка не монтируется... Пишет как неотформатированая...

KERNEL_PANIC ★★★
() автор топика
Ответ на: комментарий от fedor

Спс, но там предлагают данные затереть. Мне их нужно наоборот спасти.

KERNEL_PANIC ★★★
() автор топика

Хм. А точно таблицу файлов? Попробуй скормить testdisk'у.

x3al ★★★★★
()

Ты угробил только mbr на флешке
Скорми её fdisk-у
Сделай там один раздел на всю флешку с типом fat32

Lumi ★★★★★
()
Ответ на: комментарий от KERNEL_PANIC

Ты правда такой или прикидываешься? Создай проклятый раздел уже. Он определяется в MBR и ничего не затронет в области данных.

GotF ★★★★★
()
Ответ на: комментарий от KERNEL_PANIC

если уж так боишься, то слей с помощью dd бекап всей флешки, и сделай так как тебе посоветовал Lumi выше

Deleted
()
Ответ на: комментарий от KERNEL_PANIC

Ты точно сделал только один лишь раздел?
Некоторые программы, считающие себя умнее человека, заодно раздел и форматируют.
Ты пробовал на флешке, или образе?
Пока есть бэкап ничего страшного не случится.
Попробуй скормить флешку программе testdisk

Lumi ★★★★★
()

Кстати еще один вопрос. Давно у меня была еще досовская утилита - scan.exe. Суть ее работы слеущая:
натравливаешь ее на файл, она его сканирует на магические символы и вытягивает эти файлы наружу.
Я так музыку с игровых бинарникоы вытягивал. Так вот, никто не встречал аналога под Линукс?

KERNEL_PANIC ★★★
() автор топика
Ответ на: комментарий от Lumi

[keed'0'@localhost ~]$ sudo fdisk /dev/sdb
Пароль:
Пристрій не містить ані правильної DOS таблиці розділів, ані Sun, SGI чи OSF етикетки диску
Building a new DOS disklabel with disk identifier 0x9dc7b8a9.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Попередження: неправильна ознака 0x0000 таблиці розділів 4 буде виправлена при w(запису)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Команда (m - довідка): m
Команда дія
a перемикнути ознаку завантаження
b редагувати bsd етикетку диску
c перемикнути ознаку сумісності з dos
d видалити розділ
l перелік відомих типів розділів
m вивести це меню
n додати новий пристрій
o створити нову порожню DOS таблицю розділів
p вивести таблицю розділів
q вийти без збереження змін
s створити нову порожню Sun етикетку диску
t змінити системний ідентифікатор розділу
u змінити одиниці відображення/вводу
v перевірити таблицю розділів
w записати таблицю на диск та вийти
x додаткова функціональність (для фахівців)

Команда (m - довідка): o
Building a new DOS disklabel with disk identifier 0xf78329d7.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Попередження: неправильна ознака 0x0000 таблиці розділів 4 буде виправлена при w(запису)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Команда (m - довідка):

What's next?

KERNEL_PANIC ★★★
() автор топика
Ответ на: комментарий от KERNEL_PANIC

Вдохновитесь здесь
Вы дамп слили предварительно? Сделайте дамп всей флешки
# dd if=/dev/sdb of=/mnt/flash.img
Если слили, то сделайте его копию, отрезав от начала копии сначала 63 сектора (до сектора в котором присутствует записи «FAT32» в ASCII где-то в начале сектора и 0x55AA в самом конце)
dd if=/dev/sdb of=/mnt/test_dump.img bs=512 skip=63 conv=sync,noerror
и пробуйте смонтировать на петлевом устройстве
# mount -t vfat /mnt/test_dump.img /mnt/loop -o ro,loop
Если получится смонтировать, то воспользуйтесь hexedit и впишите в 0 сектор флешки границы раздела.

adriano32 ★★★
()

Ну вобщем, если не фанат никсов (кидайте в меня помидорами), но проще действительно затереть MBR на флешке и воспользоваться чем-то вроде EasyRecovery в режиме raw.

cadaber ★★
()
Ответ на: комментарий от adriano32

[keed'0'@localhost ~]$ dmesg | tail
sd 5:0:0:0: [sdb] Attached SCSI removable disk
sd 5:0:0:0: [sdb] Adjusting the sector count from its reported value: 1930241
sd 5:0:0:0: [sdb] 1930240 512-byte logical blocks: (988 MB/942 MiB)
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Adjusting the sector count from its reported value: 1930241
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
gvfsd-metadata[27682]: segfault at bf11dffc ip b7604113 sp bf11e000 error 6 in libc-2.11.1.so[b7595000+14b000]
FAT: invalid media value (0x3e)
VFS: Can't find a valid FAT filesystem on dev loop2.

KERNEL_PANIC ★★★
() автор топика
Ответ на: комментарий от KERNEL_PANIC

Выложите первые 64 сектора куда-нибудь. Я посмотрю, если вы не создали заново файловую таблицу fdisk'ом, то вопрос решается без всяких RecStudi'й дописыванием нужного в 0 сектор.

adriano32 ★★★
()

Таблицу ты уже спасти не сможешь, но можно спасти файлы.

Сними полный образ с флешки через dd, а потом используй photorec или testdisk.

coper
()

>Сделал так:
cat /dev/sdb > ~/flash.img
Т.е. бэкап у тебя уже есть.
Ну и вытягивай из него свои файлы с помощью testdisk и photorec.

unikoid ★★★
()
Ответ на: комментарий от KERNEL_PANIC

а и пусть крякозябли, вытягивать файлы НЕ НАДО, потыкайте по кнопочкам, сейчас не вспомню последовательность, testdisk (уверен на 100%) восстановит сам раздел!

backbone ★★★★★
()
Ответ на: комментарий от KERNEL_PANIC

>Выше я выложил скриншот, что мне тестдиск выдал когда я ему образ скормил. Крякозябры да только...
Ну как бы да, имена файлов ни testdisk, ни photorec не восстанавливают. Ну и testdisk'ом, судя по всему, можно восстановить сам раздел целиком.

unikoid ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.