linux中如何備份和恢復磁碟分割槽表
阿新 • • 發佈:2018-12-30
如何備份和恢復分割槽表
- 0磁軌的0扇區512位元組包含
- 主載入程式佔446位元組
- 主分割槽表佔64位元組
- 和結束位(2位元組)
- 如果0扇區損壞或者破壞能造成很嚴重的後果,我們備份一下0扇區。
備份扇區
[[email protected] ~]# dd if=/dev/sda of=/app/mbr bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00279983 s, 183 kB/s
[[email protected] app]# ll mbr
-rw-r--r--. 1 root root 512 Dec 2 17:04 mbr
- mbr是備份的扇區檔案,當然絕對不要存在本機,因為當分割槽表被破壞是完全看不見分割槽的,也檢視不了檔案,所以我們把分割槽放在另一 臺裝置上。
將備份檔案傳到另一臺機器上
[[email protected] app]# scp mbr 192.168.27.128:/app/
[email protected]192.168.27.128's password:
mbr 100% 512 315.4KB/s 00:00
- 這樣就把備份檔案傳到192.168.27.128 上的/app目錄下了。
破壞主分割槽表
[[email protected] app]# dd if=/dev/zero of=/dev/sda bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00105923 s, 483 kB/s
- 我們用零填充sda第0扇區的512個位元組
- 這樣我們用fdisk -l 命令檢視一下sda分割槽資訊和用二進位制查詢命令查一下
[[email protected] app]# hexdump -C -n 512 /dev/sda
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
[[email protected] app]# fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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
- 我們現在看到已經沒有分割槽資訊了,重啟一下機器
- 開機進入求援模式,然後可以把之前備份好的檔案放u盤上掛載到系統上,然後用命令恢復
# dd if=./mbr of=/dev/sda bs=1 count=512
然後重啟系統就好啦。
當然也可以直接把硬碟拆下了掛載到備份的機器上,進行恢復。