Как клонировать диск 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, а затем восстановить разделы.