
Я сделал изображение с помощью 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:
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
- удалить последний раздел
- восстановить таблицу разделов gpt (должно быть сделано автоматически)
- пересоздайте последний раздел (будет немного меньше, чем раньше)
Затем отформатируйте новый раздел подкачки:
$ mkswap /dev/sda6
Примечания относительно интерактивного gdisk
использования:
Я не могу предсказать, что gdisk /dev/sda
вам покажется. Введите "h" для справки. Введите "d" и затем "6", чтобы удалить последний раздел. "n" и "6", чтобы заново создать последний раздел. Выйдите и запишите изменения с помощью "w". gdisk ничего не записывает, если вы не выйдете с помощью "w". Если вы не уверены, вы всегда можете выйти/отменить с помощью "q" или "ctrl-c".