Linux
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 不在物理扇區邊界開始
所以我從我的 live 棒上嘗試了 Disk Image Writer,但它說圖像太大了 41 kB。
這怎麼會發生,我該如何解決?除了購買新的 SSD 之外,還有其他方法可以恢復系統嗎?
fdisk -l 備份.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
您的圖像文件比磁碟大 40KB(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”退出/取消。