LINUX.ORG.RU

Непонятная проблема с dd

 ,


0

2

Ситуация: нужно сделать посекторную резервную копию жесткого диска в ноутбуке на переносной жесткий диск.

Сделал ее с помощью команды:

sudo dd if=/dev/sda conv=noerror|pigz -1 -c -p 2 >/dev/sdb1/backup.gz

sda - диск в ноутбуке; sdb - переносной.

pigz использовал из-за его многопоточности.

При копировании обнаружился один сбойный блок на sda (резервную копию я делал в том числе для того, чтобы разобраться с бэдами и, по возможности, замаскировать их с помощью MHDD).

Потом я восстановил резервную резервную копию назад:

pigz -d -c -p 2 </dev/sdb1/backup.gz|sudo dd of=/dev/sda

И наступил песец! Таблица разделов запорчена. Старые разделы не восстанавливаются никак (пробовал Acronis Recovery Expert). Смотрел диск в редакторе Acronis Disk Director - вроде все на своих местах (по крайней мере, MBR и загрузочные сектора разделов). Что мне делать, и в какую сторону начинать копать? (хотя бы)

Ситуация: нужно сделать посекторную резервную копию жесткого диска в ноутбуке на переносной жесткий диск.

Смотри в сторону clonezilla, если ты что-то и с ней сумеешь напортачить, то я даже не знаю.
Да, как тут отмечали она идеально работает только с Debian-based, так что проверяй бэкапы, там есть такая опция.

anonymous_sama ★★★★★ ()

Таблица разделов запорчена.
на своих местах (по крайней мере, MBR и загрузочные сектора разделов)

Можно поподробнее? fdisk -l показывает разделы, но они не монтируются, или что? file -s /dev/sdXY показывает «data» или бредятину?

В интернете говорят, что dd with conv=noerror writes nothing in the image in case of a bad block. Не уверен, что это правда, но если да, то там, где на диске были бэд-блоки, в бекап не записалось вообще ничего (даже нули). Надо было делать conv=sync,noerror.

Возможно, данные можно восстановить, если прогнать по диску badblocks в режиме теста только чтения (по-умолчанию), получить список бэд-блоков, а потом, начиная с конца, сдвинуть содержимое диска вправо. Но с другой стороны, по диску уже прошла запись нового содержимого, и он мог перемапить все бэд-блоки. Или могли вырасти новые.

На будущее, проблемы с бэд-блоками, которые не размножаются, решаются при помощи e2fsck -c.

/dev/sdb1/backup.gz

Опечатка?

AITap ★★★★★ ()
Последнее исправление: AITap (всего исправлений: 1)

Раз диск (возможно) с бедблоками, то лучше бы взял ddrescue, оно как раз предназначено для того, чтобы с ними правильно управляться.

/dev/sdb1/backup.gz

Ты уверен, что так правильно? Или это опечатка?

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

dd with conv=noerror writes nothing in the image in case of a bad block.

Слов нет. Не знал о таком милом приколе от dd.

/dev/sdb1/backup.gz

Не опечатка. Вывод dd подается на архиватор. Просто sdb по обему меньше sda (320 Гб против 500). А что не так?

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

/dev/sdb1 - это файл-дырка, а не директория-точка монтирования. Наверное, имелось в виду нечто вроде /mnt/sdb1/.

AITap ★★★★★ ()

а ну кой хер именно дд? ну молодец чо. не преступил свои принципы лентяя, цп +граб-инсталл ведь не наш путь!

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

Ты уверен, что так правильно? Или это опечатка?

Ой блин! /mnt/sdb1/backup.gz, конечно же. Это я здесь опечатался :-)

Wildscliss ()

Если есть куда разжать образ, то можно losetup и kpartx попробовать примонтировать образ, чтоб данные вытащить

ss_ash ★★★ ()

А все от того что про dd_rescue не читали..

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

Слов нет. Не знал о таком милом приколе от dd.

Оно вообще-то описано в документации, а также описано, что тебе нужен был conv=noerror,sync

no-dashi ★★★★★ ()
Ответ на: комментарий от ss_ash

Если есть куда разжать образ, то можно losetup и kpartx попробовать примонтировать образ, чтоб данные вытащить

А что там «пробовать», если у него неизвестная часть FS съехала в неизвестный момент на неизвестное количество блоков вперёд? П...да у него данным

no-dashi ★★★★★ ()

Что мне делать, и в какую сторону начинать копать? (хотя бы)

photorec или чем-то проприетарным вытаскивай файлы (если есть что-то уникальное без бэкапа) и переустанавливайся. Нечего тут больше ловить.

Лично я, отношусь к ноутбуку как к тонкому клиенту, на нем ничего ценного не хранят, все на удаленных системах. Поломался, потерялся, ... да и хер с ним

sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от no-dashi

А что там «пробовать», если у него неизвестная часть FS съехала в неизвестный момент на неизвестное количество блоков вперёд? П...да у него данным

FS «съехала» на один блок вперед (один сбойный блок был). «Съехала», начиная с загрузочного раздела Windows (то, что там лежало, можно хоронить, да).

Планирую найти жесткий диск подходящей емкости, развернуть на него образ из backup.gz, смонтировать через losetup. Потом чем-то (чем, еще не решил) отыскать уцелевшие разделы (один - standard partition, NTFS, еще один - logical, ext4 /home), переписать их в отдельные файлы, смонтировать и вытащить важное.

Ну, и будет мне наука - dd без заморачивания мозгов документацией хороша только на устройствах без сбойных блоков. Обидно - Linux испольую уже лет 7, и так наколоться...

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