使用 dd 恢復映像後的 Initramfs 錯誤
我需要以一種可以輕鬆恢復數據和系統的方式創建 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/