Ubuntu

使用 dd 恢復映像後的 Initramfs 錯誤

  • February 9, 2018

我需要以一種可以輕鬆恢復數據和系統的方式創建 Ubuntu 系統的備份,因為它完全處於準備就緒狀態。所以,我決定一起dd創建一個完整的 HHD 圖像。

我創建的圖像如下:

dd if=/dev/current_drive of=/dev/backup_drive/backup.img conv=sync status=progress

圖像完成沒有錯誤。之後,我決定將映像恢復到測試新驅動器:

dd if=/backup_drive/backup.img of=/dev/new_drive conv=sync status=progress

到現在為止還挺好。圖像恢復沒有錯誤。但是當我嘗試從恢復圖像的新硬碟啟動時,我遇到了initramfs錯誤: 在此處輸入圖像描述

因此,手動fsck清除錯誤後,我可以從新硬碟啟動。但是我嘗試了幾次將映像還原到驅動器的過程,每次都遇到啟動問題。根據我的原始系統驅動器和新的系統驅動器完全相同

sudo fdisk -l:

/dev/sda/是新硬碟。

/dev/sdb/是創建圖像的原始圖像。

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

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 455024639 455022592  217G 83 Linux
/dev/sda2       455026686 488396799  33370114 15.9G  5 Extended
/dev/sda5       455026688 488396799  33370112 15.9G 82 Linux swap / Solaris


Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf11c2eb5

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdb1  *         2048 455024639 455022592  217G 83 Linux
/dev/sdb2       455026686 488396799  33370114 15.9G  5 Extended
/dev/sdb5       455026688 488396799  33370112 15.9G 82 Linux swap / Solaris

那麼,有什麼想法我做錯了什麼以及為什麼在映像還原後出現啟動錯誤?我不希望在實際情況下必須修復最終的新硬碟,以防原始硬碟出現故障。

順便說一句,原來的驅動器是 SSD,而新的驅動器是 HDD,如果這很重要的話。

dd的,無法對生命系統做出連貫的形象。在圖像開頭複製的字節與結束字節的時間不同。換句話說,它不是快照。這就是fsck抱怨的原因。

我在這裡看到了使用最簡單工具的策略,這很好,因為您可以更好地預測結果。我建議準備相同的文件系統並使用rsync -aHAXE --delete-during source destination

它也不是快照,但至少fsck不會抱怨。

為了保持 rsync 的可引導性,您grub-install需要一個新磁碟,強制執行新的根位置。粗略地說,它將新的引導扇區與新的內容連結起來/boot/

引用自:https://serverfault.com/questions/896379