LINUX.ORG.RU

Срочно! HELP! Помогите с swap -> ext3!!!


0

0

Народ! Помогите! По своей глупости сдуру выполнил команду: mkswap /dev/sda3 4000000 (создал своп файл на 4ГБ на разделе с данными)

где "/dev/sda3" - это был диск ext3 со всеми файлами (включая операционку).

Теперь не могу туда никак попасть, как можно вернуть разделу тип ext3? Горю! :(

anonymous

Для начала образ диска сохрани полностью, потом на нём и экспериментируй.

anonymous
()
Ответ на: комментарий от isden

ничего не покойся. mkswap записывает только небольшой заголовок чуть дальше от начала файла. Провёл эксперемент:

-------------------->8-------------------------
debian:~# dd if=/dev/zero bs=1M count=50 | sed 'y/\x00/\xFF/' > /tmp/swap
debian:~# mkswap /tmp/swap
debian:~# hexdump /tmp/swap
0000000 ffff ffff ffff ffff ffff ffff ffff ffff
*
0000400 0001 0000 31ff 0000 0000 0000 7af2 dc96
0000410 78f2 7b4d 1ead 39b6 49cd 1657 0000 0000
0000420 0000 0000 0000 0000 0000 0000 0000 0000
*
0000ff0 0000 0000 0000 5753 5041 5053 4341 3245
0001000 ffff ffff ffff ffff ffff ffff ffff ffff
*
3200000
--------------------8<-------------------------
Как видно mkswap затёр только с 0x0400 до 0x0FFF
Если раздел больше, то может ещё что-то запишет, хз.
(ксати какая есть вменяемая команда для заполнения файла символоми отличными от 0x00? =) )

Осталось ещё куча копий суперблока. Как их найти можно прочитать допустим здесь:
http://edseek.com/archives/2004/02/25/ext3-filesystem-bad-superblock-recovery/

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

Вменяемая команда для создания большого файла, заполненного нулями и не занимающего места на диске:

~$ time dd if=/dev/zero count=1 bs=1024 seek=1000000000 of=test.txt
1+0 входных записей
1+0 выходных записей

real 0m0.059s
user 0m0.000s
sys 0m0.000s

~$ ls -lh test.txt
-rw-r--r-- 1 ... ... 954G Окт 4 2007 test.txt

~$ du -h test.txt
112K test.txt

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

Надо создать устройсво /dev/0xFF ???

anonymous
()
Ответ на: комментарий от ftor

Дык а как извращенно файл с нулями человек создает - то?

gena2x ★★★
()

По существу:
СНАЧАЛА СДЕЛАТЬ БЭКАП НА ВСЯКИЙ: dd if=/dev/sda3 of=/куда-нибудь
$dd if=/dev/zero count=1 bs=1 seek=17592000000 of=test.txt
$mkdir t
$sudo mount -o loop test.txt t
$cp -r Compile/xxdiff-3.2/ t
$ls t
lost+found xxdiff-3.2
$sudo umount t
$mkswap test.txt
$ sudo mount -o loop test.txt t
/dev/loop0 looks like swapspace - not mounted
mount: you must specify the filesystem type
$e2fsck test.txt
...
yes
yes
$sudo mount -o loop -t ext3 test.txt t
$ ls t
lost+found xxdiff-3.2


Заменить test.txt на /dev/sda3.

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

> не. конкретными. допустим 0xFF

yes $'\xff' | head -c размер > файл

Работать, скорее всего, будет медленнее, чем dd, но будет.

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