zoukankan      html  css  js  c++  java
  • 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的原因,这里也就不多探究了。

  • 相关阅读:
    pydbg系列[1]
    内核参与方式
    Debugging with GDB阅读[6]
    宏技巧解读
    右键-发送到-邮件接收者没有了的解决方法
    获得文件版本信息
    解决动态生成的SQL中特殊字符的问题 QuotedStr function
    CreateFileMapping的MSDN翻译和使用心得
    关闭Windows自动播放功能
    清凉明目茶
  • 原文地址:https://www.cnblogs.com/5201351/p/4206328.html
Copyright © 2011-2022 走看看