linux系統如果想做備份還原,使用ghost的時候經常出現問題,后來發現可以直接使用dd命令完成硬盤的克隆和還原.
當拷貝完硬盤后,就可以拿這個硬盤放到其它設備上跑了。
也就是完成了“燒寫”了。
用U盤制作ubuntu14.04的啟動盤,在livecd模式中進行修復,步驟如下:
1.開機u盤啟動,進入ubuntu安裝程序,圖形界面出來后,選擇try ubuntu,不要選擇install ubuntu。
2.之后便進入了ubuntu的體驗環境。
打開命令行,執行:
sudo fdisk -u -l /dev/sda
結果
$fdisk -l /dev/sda Disk /dev/sda: 32.0 GB, 32017047552 bytes 255 heads, 63 sectors/track, 3892 cylinders, total 62533296 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 Disk identifier: 0x0006d236 Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 501758 62531583 31014913 5 Extended /dev/sda5 501760 62531583 31014912 8e Linux LVM
查看硬件的分區情況,記住命令中最大的end數為N。
#全盤拷貝的命令
dd if=/dev/sdb of=/dev/sdc
#分區拷貝
dd bs=512 count=N+1 if=/dev/sdb of=/media/usb/ghost.img
只打包sda就可以!!!
拷貝有兩種方式,壓縮和不壓縮
#不壓縮
--------------------------------------------------------*
#備份系統盤到/media/usb/下面
dd bs=512 count=N+1 if=/dev/sda of=/media/usb/ghost.img
#可以不加count
#dd bs=512 if=/dev/sda of=/media/usb/ghost.img
#系統恢復
dd if=ghost.img of=/dev/sda
--------------------------------------------------------+
#壓縮(系統打完的鏡像不能超過4G,可能會報錯https://www.cnblogs.com/sea-stream/p/10938792.html )
--------------------------------------------------------*
#備份系統盤到/media/usb/下面
dd bs=512 count=250068999 if=/dev/sda | gzip -9 > /media/usb/ghost.img.gz
#可以不加count
#dd bs=512 if=/dev/sda | gzip -9 > /media/usb/ghost.img.gz
#系統恢復
gzip -c -d ghost.img.gz | dd of=/dev/sda
#補充
gzip參數:
-c 表示輸出到stdout
-d 表示解壓縮
-l 對每個壓縮文件,顯示下列字段:壓縮文件的大小,未壓縮文件的大小,壓縮比,未壓縮文件的名字。
-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
-1 表示最快壓縮
-9 表示最好壓縮
-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比),默認使用的是-6壓縮級別。
--------------------------------------------------------+
這樣,就可以把我需要的分區數據全部copy到ghost.img文件中。
鏡像制作完成了!
#燒寫程序
這一步,是安裝鏡像到目標機器上,把U盤插到其他系統上,用U盤啟動,進入UbuntuLiveCD,打開命令行,執行如下命令:
#沒有壓縮過的
dd if=ghost.img of=/dev/sda
#壓縮過的
gzip -c -d ghost.img.gz | dd of=/dev/sda
完成后,拔掉U盤,啟動計算機,就可以看到我們的Linux系統已經安裝完畢了!
在上面的拷貝過程中,並不知道拷貝了多少,只有最終結束時才顯示出時間、拷貝速度。為了查看進度,可以在另一個終端輸入(記得用root):
watch -n 5 killall -USR1 dd
注意:
不要直接在計算機上用本地磁盤啟動系統后執行dd命令生成本地磁盤的鏡像,而應該使用livecd啟動計算機。
因為計算機運行時會對系統盤產生大量寫操作。
直接對運行中的系統盤生成的鏡像,在恢復到其他硬盤上時,很可能會無法啟動!
PS:使用dd命令,可以讀取硬盤的mbr扇區,示例如下:
dd if=/dev/sdb of=mbr.bin bs=512 count=1
查看整個磁盤占用情況
$fdisk -l Disk /dev/sda: 32.0 GB, 32017047552 bytes 255 heads, 63 sectors/track, 3892 cylinders, total 62533296 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 Disk identifier: 0x0006d236 Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 501758 62531583 31014913 5 Extended /dev/sda5 501760 62531583 31014912 8e Linux LVM Disk /dev/mapper/xxx--vg-root: 27.6 GB, 27573354496 bytes 255 heads, 63 sectors/track, 3352 cylinders, total 53854208 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 Disk identifier: 0x00000000 Disk /dev/mapper/xxx--vg-swap_1: 4181 MB, 4181721088 bytes 255 heads, 63 sectors/track, 508 cylinders, total 8167424 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 Disk identifier: 0x00000000 Disk /dev/sdb: 16.0 GB, 16005464064 bytes 255 heads, 63 sectors/track, 1945 cylinders, total 31260672 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 Disk identifier: 0xcad4ebea Device Boot Start End Blocks Id System /dev/sdb4 * 256 31260671 15630208 c W95 FAT32 (LBA)
參考:
https://blog.csdn.net/Blaider/article/details/50434043
https://forum.ubuntu.org.cn/viewtopic.php?t=30149
https://blog.csdn.net/Rocarrot/article/details/80446840
https://blog.csdn.net/qq_19004627/article/details/80683789
https://blog.csdn.net/imliuqun123/article/details/81707414
https://blog.csdn.net/wangcg123/article/details/79236441
http://blog.chinaunix.net/uid-26729093-id-5469034.html
https://blog.csdn.net/xtggbmdk/article/details/82706380
https://blog.csdn.net/github_34965845/article/details/80734400
https://blog.csdn.net/enweitech/article/details/48173713
