Как клонировать диск PMBR с поврежденными секторами?

Я пытаюсь клонировать диск объемом 1 ТБ с разделом PMBR и поврежденными секторами. На нем есть рабочие разделы Windows, и он загружается через MBR.
blkidне распознает разделы

      /dev/sdc: PTTYPE="PMBR"

gdisk /dev/sdc

          GPT fdisk (gdisk) version 1.0.7

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

Caution! After loading partitions, the CRC doesn't check out!
Warning: Invalid CRC on main header data; loaded backup partition table.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.

Warning! One or more CRCs don't match. You should repair the disk!
Main header: ERROR
Backup header: OK
Main partition table: ERROR
Backup partition table: ERROR

Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: damaged

Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
 1 - MBR
 2 - GPT
 3 - Create blank GPT

Your answer: 

я попробовал вgdiskс (2) (r) (b) (w) но результат писать не хотел

       Warning! Main partition table overlaps the first partition by 34 blocks!
You will need to delete this partition or resize it in another utility.

Warning! Secondary partition table overlaps the last partition by
17599083851618035976 blocks!
You will need to delete this partition or resize it in another utility.

Problem: partitions 121 and 119 overlap:
  Partition 121: 925735787758310161 to 13474437941687892909
  Partition 119: 11147454187938441805 to 15638604846186930334

Problem: partitions 121 and 120 overlap:
  Partition 121: 925735787758310161 to 13474437941687892909
  Partition 120: 3391649715396322562 to 7297187905800799496

Problem: partitions 122 and 120 overlap:
  Partition 122: 3391649715396322562 to 7297187905800799496
  Partition 120: 3391649715396322562 to 7297187905800799496

Problem: partitions 122 and 121 overlap:
  Partition 122: 3391649715396322562 to 7297187905800799496
  Partition 121: 925735787758310161 to 13474437941687892909

Problem: partitions 123 and 119 overlap:
  Partition 123: 925735787758310161 to 13474437941687892909
  Partition 119: 11147454187938441805 to 15638604846186930334

Problem: partitions 123 and 120 overlap:
  Partition 123: 925735787758310161 to 13474437941687892909
  Partition 120: 3391649715396322562 to 7297187905800799496

Problem: partitions 123 and 121 overlap:
  Partition 123: 925735787758310161 to 13474437941687892909
  Partition 121: 925735787758310161 to 13474437941687892909

Problem: partitions 123 and 122 overlap:
  Partition 123: 925735787758310161 to 13474437941687892909
  Partition 122: 3391649715396322562 to 7297187905800799496

Problem: partitions 124 and 119 overlap:
  Partition 124: 10336404087008029236 to 15113227714779688721
  Partition 119: 11147454187938441805 to 15638604846186930334

Problem: partitions 124 and 121 overlap:
  Partition 124: 10336404087008029236 to 15113227714779688721
  Partition 121: 925735787758310161 to 13474437941687892909

Problem: partitions 124 and 123 overlap:
  Partition 124: 10336404087008029236 to 15113227714779688721
  Partition 123: 925735787758310161 to 13474437941687892909
Aborting write operation!
Aborting write of new partition table.

клонезилла не распознает разделы, я попробовал gparted иRescue system partitionsно он сканировал всю ночь и ничего.
с использованием:cfdisk /dev/sdcработает отлично

                                                                                    Disk: /dev/sdc
                                                        Size: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
                                                                    Label: dos, identifier: 0x9f9fd106

    Device                 Boot                              Start                   End               Sectors              Size            Id Type
>>  /dev/sdc1                                                    1                206846                206846              101M            ee GPT                        
    /dev/sdc2              *                                206848             617201663             616994816            294.2G             7 HPFS/NTFS/exFAT
    /dev/sdc3                                            617201664            1916342271            1299140608            619.5G             7 HPFS/NTFS/exFAT
    /dev/sdc4                                           1916342272            1953316862              36974591             17.6G            c0 unknown
    Free space                                          1953316864            1953525167                208304            101.7M     

                                 

Как мне смонтировать разделы в Fedora или PartedMagic Live? Спасибо

2 ответа

В итоге воспользовался советами Никиты и сделал эмуляцию
qemu-img create -f qcow2 -b /dev/sdc -F raw /tmp/snap.qcow2
dnf install nbd
modprobe nbd
qemu-nbd -c /dev/nbd0 /tmp/snap.qcow2
gdisk /dev/ndb0
Затем я использовал2,r(восстанавливаться),l(загрузите MBR и создайте GPT - раздел GPT был поврежден),w(записать на диск)
clonezillaне хотел работать, так как новый диск был меньше, и хотя они предлагают использовать-Cпропустить проверку размера целевого диска в командной строке, но это не работает. Итак, командная строка для прямого зеркала будет (с клонезиллой)
sbin/ocs-onthefly -g auto -e1 auto -e2 -j2 -r -rescue -icds -C -v -sfsck -k -pa choose -f nbd1 -t sdb

Пришлось вручную создавать разделы на новом диске, форматировать их,mountих и использоватьrsync
Последний шаг — загрузка Windows с установкой USB в режиме восстановления. Идти кcommand prompt
diskpart
внутри выбрать
list vol- Чтобы перечислить тома
sel vol X- Выберите том первого раздела FAT32 для загрузки UEFI.
assign letter b:- Назначьте букву, чтобы иметь возможность писать загрузочный efi boot.
bcdboot c:\Windows /l en-us /s c: /f Allнапишите запись MBR, если вам нужна устаревшая загрузка (при условии, что системный диск находится под C:)
bcdboot c:\Windows /s b: /f UEFI- Запишите загрузочную запись EFI в раздел EFI, чтобы можно было загружаться на новых машинах.

Это нужно делать вручную, но на самом деле это будет быстрее, чем играть с клонезиллой, ddrescue, пытаться сохранить/копировать разделы. Так что, если вы столкнетесь с подобной проблемой, вы сможете сэкономить время.
С уважением

Всегда начинайте с создания резервной копии диска на уровне секторов. Сделайте это, например, или даже что-то вродеdd conv=noerror,notrunc,syncили что-то еще, что вы считаете уместным. Предпочтительнее использовать инструменты низкого уровня, поскольку они дают вам гораздо больше контроля над происходящим.

Я подозреваю, что некоторые из ведущих секторов диска неисправны. Вот почему восстановление GPT не работает. Если это так (вы можете проверить это, прочитавdmesgили изучение результатовddили файл журналаddrescueпосле создания резервной копии), вы можете добиться успеха следующим образом: сбросить эту резервную копию на уровне сектора на устройство точно такого же размера, как и неудачная. Затем попробуйте восстановить таблицу разделов на клонированном устройстве.

Кроме того, если таблица разделов, которую вы получили с помощьюcfdiskверно, вы можете попробовать настроить устройства блокировки разделов в ядре «вручную» с помощьюpartxилиkpartx(пожалуйста прочтиman partxподробности).


Перспективный способ выполнить все операции восстановления без использования дополнительного устройства такого же размера — использовать виртуальный диск qemu. Вы настраиваете наложение образа резервного устройства, которым будет ваш неисправный диск или, лучше, его файл резервного образа:

      qemu-img create -f qcow2 -b /dev/sdX -F raw /tmp/snap.qcow2

/tmpдолжно быть достаточно места для размещения всех «обновляемых» секторов, в зависимости от масштаба сбоя, который может варьироваться от десятков мегабайт до нескольких гигабайт.sdXваше неисправное устройство.

Теперь прикрепите образ к системе как сетевое блочное устройство:

      qemu-nbd -c /dev/nbd0 /tmp/snap.qcow2

Возможно, вам придется загрузить модульnbdпервый.

Пишет в будет в конечном итоге вsnap.qcow2, и чтение будет осуществляться из него, если такой сектор есть, и с серверного устройства, если такого сектора в образе еще нет. Теперь выполните все операции восстановления на/dev/nbd0Например, попробовать исправить на нем GPT, а затем восстановить разделы.

Другие вопросы по тегам