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= 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 硬盘引导记录,分区表备份,恢复,清空的更多相关文章
- 解决linux分区提示doesn't contain a valid partition table
目前 partition table 大概有叁种: 最传统的 mbr.大容量的 gpt.小设备的 无; 遇上最后那种就会出现 "doesn't contain a valid partiti ...
- BIOS、UEFI、Boot Loader都是些什么
BIOS.UEFI.Boot Loader都是些什么 目录 BIOS.UEFI.Boot Loader都是些什么 什么是BIOS 基本的输入输出是什么 自检程序"检"了什么 系统自 ...
- 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.但是在我们 ...
- boot loader:grub入门[转]
Boot Loader: Grub 在看完了前面的整个启动流程,以及核心模块的整理之后,你应该会发现到一件事情, 那就是『 boot loader 是加载核心的重要工具』啊!没有 boot loade ...
- GUID Partition Table (GPT)
https://en.wikipedia.org/wiki/GUID_Partition_Table https://zh.wikipedia.org/wiki/全局唯一标识分区表 GUID Part ...
- Linux学习-Boot Loader: Grub2
boot loader 的两个 stage 在 BIOS 读完信息后,接下来就是会到第一个开机装置 的 MBR 去读取 boot loader 了.这个 boot loader 可以具有选单功能.直接 ...
- 【转载】How to develop your own Boot Loader【怎么样开发自己的bootloader】
How to develop your own Boot Loader 怎么样开发自己的bootloader Table of content[目录] 1. Who may be interested ...
- MIT 6.828 JOS学习笔记4. Lab 1 Part 2.1: The Boot Loader
Part 2: The Boot Loader 对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区.一个扇区是一次磁盘操作的最小粒度.每一次读取或者写入操作都必须是一个或多个 ...
- MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)
未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...
随机推荐
- 多线程编程 (2) -NSOperation
一.NSInvocationOperation 二.NSBlockOperation 三.NSOperation的其他用法 四.自定义NSOperation 1.上一讲简单介绍了NSThread的使用 ...
- Spring Resource之作为依赖的资源
如果一个bean自己能够通过一些动态的过程来决定和提供一些资源路径,那么通过ResourceLoader接口来加载资源会是更有效的.考虑作为一个例子的加载模板,需要的指定的资源取决于用户的角色.如果资 ...
- c#之冒泡排序的三种实现和性能分析
冒泡排序算法是我们经常见到的尤其是子一些笔试题中. 下面和大家讨论c#中的冒泡排序,笔者提供了三种解决方案,并且会分析各自的性能优劣. 第一种估计大家都掌握的,使用数据交换来实现,这种就不多说了,园子 ...
- QT5.4 vs2013静态加载插件的sqlite静态编译
1. 非常多同学在静态编译QT5完毕后, sqlite的驱动老是载入不进去, 原因可能是由于你没有例如以下操作: #include <QtPlugin> Q_IMPORT_PLUGIN(Q ...
- 深入理解javascript new的机制
我们在使用对象的时候,除了一些浏览器内置的单体对象可以直接使用外,都会new一个出来使用. 1.最简单的莫过于如下获取一个Object对象实例 var obj = new Object(); 说明:此 ...
- MVC4中使用Ninject
MVC4中使用Ninject 1.NuGet获取Ninject.dll .NET技术交流群 199281001 .欢迎加入. 2.全局注册 Global.asax.cs RegisterNinje ...
- iis处理请求随记回顾
----http是无状态的, 每次http请求户不影响,都是独立的:不会记的上次请求: -------iis原理:输入地址--socket封装请求体报文--发送---iis解析封装响应体---返回: ...
- MVC 控制器激活
MVC 控制器激活 ASP.NET MVC 控制器激活(三) 前言 在上个篇幅中说到从控制器工厂的GetControllerInstance()方法来执行控制器的注入,本篇要讲是在GetControl ...
- 一个自己给自己挖的MVC的坑
事情是这样的,我前几天突然想起没用过MVC提交之后刷新当前页面的方式更新View(一般情况是不会有人这么做的吧),我这人手快,就试了下,结果出现了个我想不明白的结果,Action代码如下: [Http ...
- .NET MVC学习之模型绑定
ASP.NET MVC学习之模型绑定(2) 继ASP.NET MVC学习之模型绑定继续 3.手工调用模型绑定 很多情况下我们都是通过形参的方式接收来自http流中的数据,这看似是完美的,但是缺少了 ...