linux dd實現磁盤完整全盤鏡像備份backup,恢復recover(restore)


1,dd操作就是簡單的按字節復制,什么分區表啊,MBR(master boot record)啊統統照搬;

1. 磁盤克隆
也就是把整個硬盤復制一份。當然你首先需要在計算機上在接上一塊新硬盤,並讓系統識別。例如這塊硬盤可能被識別為/dev/sdb,原有硬盤叫/dev/sda. 然后你可以在linux命令行上簡單地執行:
dd if=/dev/sda of=/dev/sdb
對就這么簡單,此命令完成后,你的第二塊硬盤上將有一個和第一塊硬盤一模一樣的副本,也是可以啟動的。因為dd操作就是簡單的按字節復制,什么分區表啊,MBR啊統統照搬。
當然你也可以做一些微調,來定制一下克隆操作。例如你可能希望把硬盤上的內容全部備份到一個磁盤文件中,而不是另一塊新硬盤,你可以
dd if=/dev/sda of=~/disk1.img
之后,disk1.img就是備份好的磁盤映像文件,你可以復制或轉移到其他介質也可以壓縮一下:
gzip disk1.img #generates disk1.img.gz
或者在創建磁盤映像文件的同時就執行壓縮:
dd if=/dev/sda | gzip > disk.img.gz
dd if=/dev/sda | bzip2 > disk.img.bz2

不錯吧!ghost的功能都有了。

2.分區克隆
如果我們不想克隆整塊磁盤,只想把某些存放數據的分區備份一下,你會需要克隆一個分區。正如預備知識所述,分區在linux下也是一個文件。例如
dd if=/dev/sda1 of=~/part1.img
將把第一塊磁盤的第一個分區備份到名為part1.img的文件中。
也可以進行分區復制:
dd if=/dev/hda1 of=/dev/hda3
將把分區一原樣復制到分區3.

3. 從鏡像文件恢復磁盤或分區
很簡單,把上面命令中,of和if指向的文件名互換一下即可實現恢復。例如
dd if=disk1.img of=/dev/sda
把保存在disk1.img中的映像恢復到第一塊磁盤
dd if=part1.img of=/dev/hda2
把保存在part1.img中的映像恢復到第一塊硬盤的第二個分區

最后,需要注意一點是,無論備份還是恢復,都需要保證 of 指向的文件或磁盤空間要大於 if 指向的內容,因為是按字節復制 如果沒有足夠的空間去存儲內容,備份自然會失敗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM