首页 > 代码库 > linux中的磁盘的MBR记录详解
linux中的磁盘的MBR记录详解
在硬盘中,硬盘的0柱面0磁头第一个1扇区称为主引导扇区,也叫主引导记录-MBR(main boot record),其中MBR是以下三个部分组成
1、Bootloader,主引导程序---446个字节
2、Dpt(Disk Partition table),硬盘分区表---64个字节
3、扇区结尾标志(55aa)--2个字节
总共512字节,前446个字节是主引导记录,是bios加电自检后要运行的代码,中间64字节为分区表。
简单的来说MBR=bootloader+dpt(64)+结尾标志(55aa)。其中dpt磁盘分区表(64字节,每16个字节为一组,一共4组),
那么在linux系统中我们如果取得一个磁盘的MBR呢?其实不难、我们可以通过dd命令取得,如下图所示:
当我们在linux系统中取得了磁盘的MBR之后,我们可不可以去查看呢,在这里笔者介绍三种查看mbr内容的方法
方法一、使用hexdump命令进行查看
[root@5201351 ~]# hexdump -C mbr.bin //共33行,32行*16字节,以55aa结尾
-c 每单元以字节为单位,显示出对应的ASCII码
-C 每单元以字节为单位,同时显示十六机制和ASCII码
----------------------------------------------------------------------------------------------------
方法二、在vim命令模式下输入:%!xxd 即是将前文本转换为16进制格式。
此方法55aa结尾后面还有一行,内容为0a,对于内容笔者表示不清楚
----------------------------------------------------------------------------------------------------
方法三、使用od命令进行查看
[root@5201351 ~]# od -x mbr.bin //共33行,32行*16字节
但是这个和和前面2种方法输出显示不一样、因为他是以aa55结尾,注意这种方法看的时候要把每一组两个字节调换位置来看
如aa55在硬盘上存储的实际是55aa了,经上网查询说是little-endian的原因,这里也就不多探究了。
linux中的磁盘的MBR记录详解