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的分区工具,鼠标操作

    等等一些工具有很多很多

  • 相关阅读:
    我的数学之美(一)——RANSAC算法详解
    机器学习经典算法之-----最小二乘法(zz)
    基于大数据的餐饮推荐系统总结
    Hive 数据错位修复方案
    Python 2.x 判断 Excel 是否包含指定的 sheet
    Shell脚本判断目录是否为空
    MySQL启动报错 The server quit without updating PID file 解决方案
    DolphinScheduler 1.3.2集群版(基于CDH5.13.1)安装手册
    添加 Shell 脚本的启动用户限制
    CentOS 7 离线安装 MySQL 5.7
  • 原文地址:https://www.cnblogs.com/spaceship9/p/3852506.html
Copyright © 2011-2022 走看看