dd образ слишком большой для восстановления

dd образ слишком большой для восстановления

Я сделал изображение с помощью dd

sudo dd if=/dev/sda of=/path_to_external_drive/backup.img

Теперь я хотел восстановить систему после того, как монтирование всех разделов прошло гладко. Когда я делаю

sudo dd if=backup.img of=/dev/sda

Я не получаю никаких сообщений об ошибках, пока не пытаюсь загрузить систему.

Я получаю следующее сообщение об ошибке, sudo fdisk -lпотому что хочу узнать, почему BIOS не находит ни одного раздела.

Раздел 1 не начинается на физической границе сектора

Поэтому я попробовал Disk Image Writer со своего флеш-накопителя, но он сказал, что образ на 41 КБ больше, чем нужно.

Как это может произойти и как это исправить? Есть ли другой способ, кроме покупки нового SSD, восстановить систему?

fdisk -l backup.img:

fdisk -l из backup.img fdisk -l /dev/sda:

GPT PMBR size mismatch (976773247 != 976773167) will be corrected by w(rite).

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x635f93a2

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1           1 976773247 976773247 465.8G ee GPT

Partition 1 does not start on physical sector boundary.

gdisk -l /dev/sda:

GPT fdisk (gdisk) version 1.0.1

Warning! Disk size is smaller than the main header indicates! Loading
secondary header from the last sector of the disk! You should use 'v' to
verify disk integrity, and perhaps options on the experts' menu to repair
the disk.
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.

Warning! One or more CRCs don't match. You should repair the disk!

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

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

Disk /dev/sda: 976773168 sectors, 465.8 GiB  
Logical sector size: 512 bytes  
Disk identifier (GUID): 8DC2A4AA-C369-4ED8-B876-DCE0418A1BD0  
Partition table holds up to 128 entries  
First usable sector is 34, last usable sector is 976773214  
Partitions will be aligned on 2048-sector boundaries

Total free space is 4157 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name  
   1            2048          923647   450.0 MiB   2700  Basic data partition  
   2          923648         1128447   100.0 MiB   EF00  EFI system partition  
   3         1128448         1161215   16.0 MiB    0C01  Microsoft reserved ...  
   4         1161216       669571071   318.7 GiB   0700  Basic data partition  
   5       669571072       960290815   138.6 GiB   8300  
   6       960290816       976771071   7.9 GiB     8200  

решение1

Ваш файл образа на 40 КБ больше, чем диск (976773248 - 976773168 секторов). Он не может работать со ddвсем образом на диске. Я думаю, ваша команда dd показывала какие-то предупреждения, типа "нет места" или что-то в этом роде.

Но вам повезло. Последний (6-й) раздел — это просто раздел подкачки. Вы можете использовать gdisk and mkswapдля изменения размера последнего раздела и исправления таблицы разделов:

$ gdisk /dev/sda

  1. удалить последний раздел
  2. восстановить таблицу разделов gpt (должно быть сделано автоматически)
  3. пересоздайте последний раздел (будет немного меньше, чем раньше)

Затем отформатируйте новый раздел подкачки:

$ mkswap /dev/sda6

Примечания относительно интерактивного gdiskиспользования:

Я не могу предсказать, что gdisk /dev/sdaвам покажется. Введите "h" для справки. Введите "d" и затем "6", чтобы удалить последний раздел. "n" и "6", чтобы заново создать последний раздел. Выйдите и запишите изменения с помощью "w". gdisk ничего не записывает, если вы не выйдете с помощью "w". Если вы не уверены, вы всегда можете выйти/отменить с помощью "q" или "ctrl-c".

Связанный контент