zoukankan      html  css  js  c++  java
  • MBR,boot loader, partition table, backup, recovery, clean 硬盘引导记录,分区表备份,恢复,清空

    linux/unix系统的分区表结构位于硬盘开始的MBR上。MBR上大小为512bytes。

    MBR=446B启动信息+64B分区表+2B分隔符=512字节

    前面的446bytes作为启动信息,启动信息跟分区表相关。启动信息会告诉BIOS在启动的时候,按照启动信息去找分区表里面的相关分区加载文件。

    在如果修改的分区表结构不影响启动信息的分区的情况下(比如,启动分区没有做修改,只是修改增加改动了其他非启动信息的分区表结构在64B的分区表里面),则不会影响用户启动系统。

    备份

    所以,如果用户想备份mbr的话,可以这样

    dd if=/dev/sda /path/to/mbr bs=512 count=1

    然后,我们想单独备份mbr中的引导结构可以这样

    dd if=/dev/sda /path/to/bootstrap bs=446 count=1

    我们像单独备份mbr中的分区表结构可以这样

    dd if=/dev/sda /path/to/partition_table bs=512 skip=446 count=66

    上面的 bs=512 skip=446 count=66 是为了略过446个字节,定位其后的66个字节,用来保存到文件 /path/to/partition_table 里。

    恢复

    用户想整体恢复mbr

    dd if=/path/to/mbr of=/dev/sda bs=512 count=1

    用户只想恢复引导记录信息

    dd if=/path/to/mbr of=/dev/sda bs=446 count=1

    用户只想恢复分区表结构

    dd if=/path/to/mbr of=/dev/sda bs=512 skip=446 count=66

    清空

    清空整个mbr

    dd if=/dev/zero of=/dev/sda bs=512 count=1

    只清空引导记录

    dd if=/dev/zero of=/dev/sda bs=446 count=1

    只清空分区表

    dd if=/dev/zero of=/dev/sda bs=512 skip=446 count=66 # 66 还是64 由用户本身需求而定,由于mbr最后2个字节是用来做分隔符的。当在保存的mbr 为512 位(含有最后2位分隔符)的时候,建议count=66

    分区表,启动项硬盘工具

    1、cfdisk

    命令行下,可视化的选择工具

    2、fdisk

    命令行下,略显专业的硬盘工具

    3、gparted

    带UI的分区工具,鼠标操作

    等等一些工具有很多很多

  • 相关阅读:
    关于UI设计的文章汇总
    Linq 中不爽之处
    难题autoconf、automake、libtool
    静态构造函数线程安全的几个版本[转载]
    Window Live Writer
    Guid、Int、BigInt编号的速度和存储空间的比较
    MVP模式中的P和V关系
    LR 剖析器
    快速软件开发 学习笔记 之七
    快速软件开发 学习笔记 之六
  • 原文地址:https://www.cnblogs.com/spaceship9/p/3852506.html
Copyright © 2011-2022 走看看