在之前的文章 Windows存储管理之磁盘结构详解 中介绍了Windows的磁盘结构和MBR。本文将对Windows Basic Disk中的MBR的结构进行介绍,帮助读者更好的了解Windows系统中的磁盘存储。

更多信息

Windows Basic Disk中的MBR:

Master Boot Record作为磁盘中最重要的数据结构,在磁盘分区的时候会被创建。MBR中包括几个部分,一段可执行的代码叫做Master Boot Code,Disk Signature以及磁盘的分区表。在MBR的末端还有一直为0x55AA值大小为两个字节的Sector Marker的签名字段。这个字通常还标注了extend boot record(EBR)和启动扇区(boot sector)的结束。

Master Boot Code代码主要完成下列几项活动。

  1. 扫描活动分区的分区表

  2. 找到活动分区的起始扇区位置

  3. 将一个启动扇区的拷贝从活动分区载入到内存

  4. 将控制权转移到启动扇区上的执行代码

如果Master Boot Code不能完成这些功能,Windows系统就会抛出一些错误,比如“Invalid partition table”、“Error loading operating system”、“Missing operating system”从而提示相应的步骤中发生了错误。

Basic Disk中的分区表:

在Basic Disk中的Partition Table是一个64个字节的数据结构用来定义物理磁盘上的分区类型与位置的,独立于操作系统。每个分区表的记录是16个直接长度,最大包括四条记录,每条记录从预先定义的起始位置。下面的例子显示一段MBR的记录,其中包括显示了一个三个分区记录,起始位置分别是0x01BE、0x01CE、0x01DE。图中还显示了,分区记录中几个关键的字段。0x01C2是System ID,用来定义逻辑卷的类型,图中07就是表示Installable File System(NTFS)。0x01C6开始的四个字节是Relative
Sectore,表示了逻辑卷的起始位置。0x01CA开始的四个字节显示了整个逻辑卷的扇区总数。Boot Indictor显示了是否分区为活动分区。

Windows磁盘MBR结构详解的更多相关文章

  1. 磁盘分区对齐详解与配置 – Linux篇

    在之前一篇<磁盘分区对齐详解与配置 – Windows篇>中,我介绍了磁盘分区对齐的作用和适用于MBR和GPT的两种磁盘类型的配置,以及Windows平台设置磁盘分区对齐的方法. 本文作为 ...

  2. [转帖]Windows注册表内容详解

    Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...

  3. Windows注册表内容详解

    Windows注册表内容详解 http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html (2011-04-05 10:46:17)   第一课  注册表 ...

  4. Redis for Windows(C#缓存)配置文件详解

    Redis for Windows(C#缓存)配置文件详解   前言 在上一篇文章中主要介绍了Redis在Windows平台下的下载安装和简单使用http://www.cnblogs.com/aehy ...

  5. Android系统目录结构详解

    Android系统基于linux内核.JAVA应用,算是一个小巧精致的系统.虽是开源,但不像Linux一般庞大,娇小可亲,于是国内厂商纷纷开发出自己基于Android的操作系统.在此呼吁各大厂商眼光放 ...

  6. Linux文件系统的目录结构详解

    Linux文件系统的目录结构详解   一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件 ...

  7. Windows WMIC命令使用详解2

    Windows WMIC命令使用详解(附实例) https://blog.csdn.net/aflyeaglenku/article/details/77878525 第一次执行WMIC命令时,Win ...

  8. Linux目录结构(目录结构详解是重点)

    1.Linux目录与Windows目录对比 1.Windows目录结构 2.Linux目录结构 深刻理解Linux 树状文件目录是非常重要的,只有记住他们,你才能在命令行中任意切换,想去哪里去哪里 2 ...

  9. BS模式的模型结构详解

    编号:1004时间:2016年4月12日16:59:17功能:BS模式的模型结构详解 URL:http://blog.csdn.net/icerock2000/article/details/4000 ...

随机推荐

  1. Android中Activity的生命周期图

  2. TP框架中/ThinkPHP/Library/Think/Storage/Driver/File.class.php 错误

        /ThinkPHP/Library/Think/Storage/Driver/File.class.php LINE: 48错误 这是一个将windows下运行正常的ThinkPHP框架移到L ...

  3. react-navigation + react-native-vector-icons

    1.安装 yarn add react-navigation react-native-vector-icons 2.创建 root.js import React, {Component} from ...

  4. LeetCode题目:Minimum Path Sum

    原题地址:https://leetcode.com/problems/minimum-path-sum/ 大意:给出一个二维数组(int类型),求出从左上角到右下角最短的路径. 解决方法:动态规划 c ...

  5. Shiro学习小结

    1. What is Shiro? Apache旗下一个开源的Java权限框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架 ...

  6. 修改pip源为国内网站

    import os,sys,platformini="""[global]index-url = https://pypi.doubanio.com/simple/[in ...

  7. block知识点

    1.block引用局部变量的时候,该变量会作为常量编码到block中,在block中不能被修改. 2.使用 __block修饰的局部变量,不会作为常量被编码到block中,故而在block中可以被修改 ...

  8. yarn-1.12.3.msi 下载地址 百度网盘

    yarn-1.12.3.msi 下载地址 百度网盘 链接:https://pan.baidu.com/s/1-JEO1as0Jtp1a1pAqW-mzg 提取码:lbz0

  9. java网络编程(2)InetAddress 类及udp协议

    InetAddress 类 JDK中为开发网络应用程序提供了java.net包,该包下的类和接口差点儿都是为网络编程服务的. InetAddress:用于描写叙述IP地址的对象 InetAddress ...

  10. Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python

    Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python 1.1. Sql语法树 ast 如下图锁死1 2. SQL语句解析的思路和过程3 ...