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

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

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

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

备份

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

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

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

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

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

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

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

恢复

用户想整体恢复mbr

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

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

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

用户只想恢复分区表结构

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

清空

清空整个mbr

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

只清空引导记录

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

只清空分区表

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

分区表,启动项硬盘工具

1、cfdisk

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

2、fdisk

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

3、gparted

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

等等一些工具有很多很多

MBR,boot loader, partition table, backup, recovery, clean 硬盘引导记录,分区表备份,恢复,清空的更多相关文章

  1. 解决linux分区提示doesn't contain a valid partition table

    目前 partition table 大概有叁种: 最传统的 mbr.大容量的 gpt.小设备的 无; 遇上最后那种就会出现 "doesn't contain a valid partiti ...

  2. BIOS、UEFI、Boot Loader都是些什么

    BIOS.UEFI.Boot Loader都是些什么 目录 BIOS.UEFI.Boot Loader都是些什么 什么是BIOS 基本的输入输出是什么 自检程序"检"了什么 系统自 ...

  3. MIT 6.828 JOS学习笔记7. Lab 1 Part 2.2: The Boot Loader

    Lab 1 Part 2 The Boot Loader Loading the Kernel 我们现在可以进一步的讨论一下boot loader中的C语言的部分,即boot/main.c.但是在我们 ...

  4. boot loader:grub入门[转]

    Boot Loader: Grub 在看完了前面的整个启动流程,以及核心模块的整理之后,你应该会发现到一件事情, 那就是『 boot loader 是加载核心的重要工具』啊!没有 boot loade ...

  5. GUID Partition Table (GPT)

    https://en.wikipedia.org/wiki/GUID_Partition_Table https://zh.wikipedia.org/wiki/全局唯一标识分区表 GUID Part ...

  6. Linux学习-Boot Loader: Grub2

    boot loader 的两个 stage 在 BIOS 读完信息后,接下来就是会到第一个开机装置 的 MBR 去读取 boot loader 了.这个 boot loader 可以具有选单功能.直接 ...

  7. 【转载】How to develop your own Boot Loader【怎么样开发自己的bootloader】

    How to develop your own Boot Loader 怎么样开发自己的bootloader Table of content[目录] 1. Who may be interested ...

  8. MIT 6.828 JOS学习笔记4. Lab 1 Part 2.1: The Boot Loader

    Part 2: The Boot Loader 对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区.一个扇区是一次磁盘操作的最小粒度.每一次读取或者写入操作都必须是一个或多个 ...

  9. MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

随机推荐

  1. 使用微软 URL Rewrite Module 开启IIS伪静态

    原文 使用微软 URL Rewrite Module 开启IIS伪静态 在IIS5和IIS6时代,我们使用URL REWRITING可实现URL重写,使得WEB程序实现伪静态,但默认情况下只能实现.A ...

  2. MVC验证06-自定义错误信息

    原文:MVC验证06-自定义错误信息 本文体验自定义错误信息.   系统默认的错误信息 在"MVC验证02-自定义验证规则.邮件验证"中,我们自定义了一个验证Email的类.如果输 ...

  3. sql点滴42—mysql中的时间转换

    原文:sql点滴42-mysql中的时间转换 UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UNIX时 ...

  4. SQL点滴20—T-SQL中的排名函数

    原文:SQL点滴20-T-SQL中的排名函数 提到排名函数我们首先可能想到的是order by,这个是排序,不是排名,排名需要在前面加个名次序号的,order by是没有这个功能的.还可能会想到ide ...

  5. Java程序员应该知道的10个Eclipse调试技巧

    Eclipse是众多Java程序员实用的开发工具,其中开发技巧也是繁多,但作为优秀的Java程序员,需要掌握最起码的调试技巧. 1 条件断点 2 异常断点 3 监视点 4 评估/检查 5 修改变量值 ...

  6. 移动端App混合开发问题 汇总

    1.IOS系统,双击页面,页面会向上移动一节,无法滑动复原. //阻止用户双击放大 var agent = navigator.userAgent.toLowerCase(); //检测是否是ios ...

  7. [译]JDK 6 and JDK 7中的subString()方法

    (说明,该文章翻译自The substring() Method in JDK 6 and JDK 7) 在JDK 6 and JDK 7中的substring(int beginIndex, int ...

  8. 在openwrt上编译最简单的一个ipk包文件

    1 什么是opkg Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准.常用于路由.交换机等嵌入式设备中,用来管理软件包的安装升级与下载. opkg updat ...

  9. 【分布式存储系统sheepdog 】

    Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...

  10. Just a complaint about the college examinations

    Well , you know. As a college student who want to find a good job after graduating  like me , scores ...