1. 程式人生 > >linux中如何備份和恢復磁碟分割槽表

linux中如何備份和恢復磁碟分割槽表

如何備份和恢復分割槽表

  • 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  

然後重啟系統就好啦。
當然也可以直接把硬碟拆下了掛載到備份的機器上,進行恢復。