主引导记录(Master Boot Record,MBR),位于一个硬盘的0柱面、0盘面、1扇区,共512字节。具体划分依次为:引导代码区440字节、磁盘签名4字节、空白(Ox0000)2字节、MBR分区表(Disk Partition Table,DPT)64字节、结束标志(Ox55AA)2字节。其中的MBR分区表(DPT)区别于另一种“全局唯一标识分区表(GUID Partition Table,GPT)”。本文今天仅讨论MBR及DPT。

废话不多说了,下面先介绍如何备份、恢复MBR及DPT:

备份与恢复MBR、分区表DPT:

以下命令均以sda号硬盘举例。

备份/恢复硬盘MBR(全部512字节):

#备份#  dd if=/dev/sda of=./mbr.bak bs=512 count=1
#恢复# dd if=./mbr.bak of=/dev/sda bs=512 count=1

仅备份/恢复硬盘的分区表DPT(后66字节):

#备份#  dd if=/dev/sda of=./dpt.bak bs=1 skip=446 count=66
#恢复# dd if=./dpt.bak of=/dev/sda bs=1 seek=446 count=66

仅恢复硬盘MBR的引导代码部分(前446字节):

#恢复#  dd if=./mbr.bak of=/dev/sda bs=446 count=1

用od查看

od -Ax -x ./mbr.bak

linux命令:od
  功能说明:输出文件内容。

  语  法:od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>][-t <输出格式>][-w <每列字符数>][--help][--version][文件...]

  补充说明:od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。

  参  数

  -a  此参数的效果和同时指定"-ta"参数相同。

  -A<字码基数>  选择要以何种基数计算字码。

  -b  此参数的效果和同时指定"-toC"参数相同。

  -c  此参数的效果和同时指定"-tC"参数相同。

  -d  此参数的效果和同时指定"-tu2"参数相同。

  -f  此参数的效果和同时指定"-tfF"参数相同。

  -h  此参数的效果和同时指定"-tx2"参数相同。

  -i  此参数的效果和同时指定"-td2"参数相同。

  -j<字符数目>或--skip-bytes=<字符数目>  略过设置的字符数目。

  -l  此参数的效果和同时指定"-td4"参数相同。

  -N<字符数目>或--read-bytes=<字符数目>  到设置的字符数目为止。

  -o  此参数的效果和同时指定"-to2"参数相同。

  -s<字符串字符数>或--strings=<字符串字符数>  只显示符合指定的字符数目的字符串。

  -t<输出格式>或--format=<输出格式>  设置输出格式。

  -v或--output-duplicates  输出时不省略重复的数据。

  -w<每列字符数>或--width=<每列字符数>  设置每列的最大字符数。

  -x  此参数的效果和同时指定"-h"参数相同。

  --help  在线帮助。

  --version  显示版本信息。

转自linux系统运维
http://www.linuxyw.com/a/wenjianguanli/20130505/191.html

首先以二进制的方式打开它:
vim mbr.bak -b
再在vim 命令模式下输入:
:%!xxd            #参数%指当前所编辑的文件 
此时MBR文件会以十六进制显示,现在就可以编辑它了。

编辑完了以后,我们需要还原为二进制文件:
:%!xxd -r                                    #参数-r是指将当前的十六进制转换为二进制

保存退出:

Linux下dd和od命令备份查看硬盘mbr,并用vim修改!的更多相关文章

  1. linux下hexdump和od命令:显示文件十六进制格式

    Linux指令: od 示例用法:  od -c hello Linux指令:      od od命令用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进 ...

  2. Linux下文件搜索、查找、查看命令

    Linux下文件搜索.查找.查看命令 1.最强大的搜索命令:find 查找各种文件的命令 2.在文件资料中查找文件:locate 3.搜索命令所在的目录及别名信息:which 4.搜索命令所在的目录及 ...

  3. linux下mysql操作的命令

    最近在学习mysql,还是只菜鸟,找到下面篇文章对初学者挺有用的,所以共享下 1.linux下启动mysql的命令:   mysqladmin start /ect/init.d/mysql star ...

  4. linux下软件的更新命令

    linux下软件的更新命令   在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区 ...

  5. 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。(转)

    在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示).如:# cp ...

  6. linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库

    linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库   创建静态库:ar -rcs test.a *.o查看静态库:ar -tv test.a解压静态库:ar -x test.a 查 ...

  7. 终端的乐趣--Linux下有趣的终端命令或者工具【转】

    转自:https://blog.csdn.net/gatieme/article/details/52144603 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  8. linux下如何使用sftp命令【转】

    linux下如何使用sftp命令 from:   http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html sftp 是一个 ...

  9. 【转】Linux下patch打补丁命令

    [转]Linux下patch打补丁命令 转自:http://www.cnblogs.com/noaming1900/archive/2010/10/28/1863282.html 此命令用于为特定软件 ...

随机推荐

  1. VMware vSphere(虚拟化平台)

    VMware vSphere 是业界领先且最可靠的虚拟化平台.vSphere将应用程序和操作系统从底层硬件分离出来,从而简化了 IT操作.您现有的应用程序可以看到专有资源,而您的服务器则可以作为资源池 ...

  2. LINUX时间服务器搭建

    一. 因 为工作需要,偶需要将搭建一个NTP服务器来进行时间同步的测试,在公司里一直以为非常的难搭建,也是刚刚工作的缘故,就等正导师给帮着弄一台服务器,结 果导师给了我一个系统叫Fedora,让我偶自 ...

  3. python中对列表元素大小排序(冒泡排序法和选择排序法)

    前言:排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列.本文主要讲述python中经常用的两种排序算法,选择排序法 ...

  4. appium 链接真机后,运行代码,但是APP并没有启动

    要淡定,链接真机后,问题一下多出来这么多,还没有启动程序,就碰到接二连三的问题. 爽到家了.慢慢解决吧. 具体问题是这样的: # coding=utf-8from appium import webd ...

  5. Raft Paper 简译

      本文是对 Raft Paper 核心部分的意译,不包括原文中的如下章节:<3 Paxos 的优缺点论述>.<4 Raft 的易理解性介绍>.<9 Raft 算法的易理 ...

  6. select下拉框选中其中一个值

    function LoadList123() { var param = { action: "SelectShopType1"};//参数拼接 var Resultstr = & ...

  7. 实验报告(七)&第九周课程总结

    班级 计科二班 学号 20188425 姓名 IM 完成时间2019/10/24 评分等级 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: ...

  8. Cocos2d-x之String

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 在Cocos2d-x中能够使用的字符串constchar*.std::string和cocos2d::__String等,其中const ...

  9. Oracle数据库(一)--Oracle简介及安装

    一.Oracle简介 Oracle是美国一家著名的软件公司,也是世界上排名前三的软件公司(微软,Oracle,Adobe).Oracle数据库是一个大型的关系型数据库,在一些大型的企业之中使用的会比较 ...

  10. python的三种创建字典的方法

    #创建一个空字典 empty_dict = dict() print(empty_dict) #用**kwargs可变参数传入关键字创建字典 a = dict(one=,two=,three=) pr ...