zoukankan      html  css  js  c++  java
  • Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程

    Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程

    最近奶牛一直在折腾linux下的grub跟grub2,因为前阵子用ghost恢复windows的时候出现错误,导致分区表被破坏,无法进入系统。今天给大家介绍下如何备份跟还原我们的硬盘主引导扇区。首先我来介绍下这个硬盘主引导扇区,因为对于这个主引导记录MBR跟这个硬盘分区表DPT的关系,可能有的朋友还不是那么清晰。

    硬盘主引导扇区(硬盘的前512字节) = 硬盘主引导记录(MBR,硬盘的前446字节)+ 硬盘分区表(DPT,MBR后面的66字节)

    MBR 446字节(0000–01BD),DPT 64字节(01BE–01FD),结束标志2字节(55 AA)

    其中的这个结束标志很重要,如果缺失的话会导致系统无限次重启。

    这个主引导记录MBR呢就是我们通常所说的引导程序的一部分,不管是windows还是linux系统,都要在这里写入一部分引导程序。但是这部分引导程序仅仅只是引导程序的一部分,就拿grub的最新版本grub2来说吧,通过mbr引导grub2,然后grub2的引导程序会通过引导来继续到硬盘上的/boot/grub/目录下继续进行引导,这里奶牛会在硬盘或者U盘安装grub的时候说明。

    说过MBR,我们再来说说分区表,分区表DPT是在MBR之后的66个字节,最多可以有四个主分区或者三个主分区加一个逻辑分区。而逻辑分区的信息会写在扩展分区开始扇区上。所以,一般只要分区表DPT没出问题,逻辑分区一般不会出问题。

    硬盘的主引导扇区都介绍过了,下面说说具体的备份与还原的方法。

    这里奶牛是用ubuntu linux下的dd命令来完成的。

    备份硬盘的主引导扇区:

    dd if=/dev/sda of=./mbr.bak bs=512 count=1
    

    说明if是输入设备,我们这里把第一块硬盘作为输入设备,这里大家需要注意下,有些硬盘不是sda而是hda,大家可以通过

    sudo fdisk -l
    

    来查看自己是sd的硬盘还是hd的硬盘。

    of为输出的文件名,这里我们输出到了当前目录下的mbr.bak文件中了,大家可以通过pwd命令来查看当前目录的位置。

    我们也可以规定它的输出位置为/boot/下,命令为

    dd if=/dev/sda of=/boot/mbr.bak bs=512 count=1

    还原也用同样的方法

    dd if=/boot/mbr.bak of=/dev/sda bs=512 count=1
    

    如果你仅仅要恢复分区表DPT

    dd if=/boot/mbr.bak of=/dev/sda bs=1 skip=446 count=66
    

    判断我们备份是否正确的方法是查看备份文件mbr.bak是否为512字节,且结束字节为55 AA。

    这里奶牛建议各位经常用ghost还原的朋友,最好将备份文件多存几处备份,因为想一下,如果分区表错误了,我们的分区信息可能都无法读出,所以存在硬盘内的分区表备份可能也就无法拿来还原了。所以嘛,多存网上或者U盘内一份备份奶牛觉得是有必要的。希望本文对大家有所帮助。

  • 相关阅读:
    python字符串操作
    python学习【一】基础入门
    markdown 编辑器
    jenkins学习笔记-安装
    算法
    python 修改文件内容
    python基础,python第四课
    python基础,python第三课
    python基础,python第二课
    python基础,python第一课
  • 原文地址:https://www.cnblogs.com/motoyang/p/6160820.html
Copyright © 2011-2022 走看看