DOS分区表(Boot Sector引导扇区)[通俗易懂]

DOS分区表(Boot Sector引导扇区)[通俗易懂]>>DOS分区体系的硬盘也叫MBR硬盘,0号扇区是主引导记录MBR,DOS分区体系的硬盘用分区表记录每个分区的类型起始位置和分区的大小。其中,分区表就在0号扇区内,所以0号扇区如果损坏,那么这个硬盘就不能正确识别分区。>>DOS分区的使用范围:windows系统,Linux系统以及基于IA32平台FreeDBS和OpenDBS等操作系统都使用DOS分区体系。&g…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 

>>DOS分区体系的硬盘也叫MBR硬盘,0号扇区是主引导记录MBR,DOS分区体系的硬盘用分区表记录每个分区的类型起始位置和分区的大小。其中,分区表就在0号扇区内,所以0号扇区如果损坏,那么这个硬盘就不能正确识别分区。

>>DOS分区的使用范围:windows系统,Linux系统以及基于IA32平台FreeDBS和OpenDBS等操作系统都使用DOS分区体系。

>>Boot Sector(引导扇区)
Boot Sector也就是硬盘的第一个扇区,它由 MBR(Master Boot Record),DPT (Disk Partition Table)Boot Record ID三部分组成。

1)主引导记录MBR 占用Boot Sector的前446个字节( 0 to 0x1BD ),存放系统主引导程序(它负责从活动分区中装载并运行系统引导程序)。
2)DPT 即主分区表 占用64个字节 (0x1BE to 0x1FD),记录了磁盘的基本分区信息,主分区表分为四个分区项,每项16字节,分别记录了每个主分区的信息(因此最多可以有四个主分区)。
3)Boot Record ID 即引导区标记 占用两个字节(0x1FE and 0x1FF),对于合法引导区,它等于0xAA55,这是判别引导区是否合法的标志。

DOS分区表(Boot Sector引导扇区)[通俗易懂]

winhex打开如下图:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

 

下面研究分区表和Boot Record ID:

1、分区表:
首先,我的虚拟机磁盘结构如下:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

>分区表结构如下:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

下面用winhex看看分区表:
> 04 (分区类型):
00   未使用分区项
01    DOS12一种fat表为12位的分区主要用于早期小硬盘和部分软盘
05    EXTEND扩展分区的一种
06    BIGDOS即FAT16分区分区表为16位,每簇最大为32K,最大分区为2G
07    NTFS分区
0B    FAT32分区分区表为32位
0C    FAT32X分区与FAT32基本相同
0E    BIGDOSX即FAT16分区扩展分区表为16位,每簇最大可以超过32K
0F    EXTENDX扩展分区的一种
82    Linux主分区
83   Linux交换分区

>08-0B:分区的起始扇区号,
我打开虚拟机里的C盘后,发现我的第一分区不是63扇区开始,而是2048,

 DOS分区表(Boot Sector引导扇区)[通俗易懂]

DOS分区表(Boot Sector引导扇区)[通俗易懂]

DOS分区表(Boot Sector引导扇区)[通俗易懂]

原因如下:
win7系统对硬盘的分区管理有所改变了。很多时候会在硬盘起始部分占用部分扇区数。这就造成了这种情况的出现。如果系统正常,不用太在意。不过如果出现问题。一定不要随意使用修复工具修复。因为很多修复工具是按照以前的63扇区起始来计算修复的。错误的操作会破坏数据的。

>0C-0F(分区大小):

 DOS分区表(Boot Sector引导扇区)[通俗易懂]

打开C盘,查看C盘大小:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

>再来看看第4个分区(扩展分区):

DOS分区表(Boot Sector引导扇区)[通俗易懂]

转到该扇区:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

可以看到主扩展分区表(即记录逻辑分区的表)(关于主分区,扩展分区,逻辑分区可看上一篇随笔):

DOS分区表(Boot Sector引导扇区)[通俗易懂]

 其中有一条表项,分区类型是07–>NTFS,第一个扇区2048

 DOS分区表(Boot Sector引导扇区)[通俗易懂]

分区大小:20480:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

顺便计算一下,一个扇区是512Byte(即0.5M),20480个扇区就是10240Byte(即10M)。正确对上实际值。

2、Boot Record ID
如果引导区标志不是0xAA55,将出现严重后果。
用winhex打开之前建立的虚拟磁盘,修改标志为0A55,然后保存

 DOS分区表(Boot Sector引导扇区)[通俗易懂]

打开设备管理器,刷新设备(先卸载虚拟磁盘然后扫描)

DOS分区表(Boot Sector引导扇区)[通俗易懂]

然后打开磁盘管理界面就发现,显示虚拟磁盘没有初始化:

DOS分区表(Boot Sector引导扇区)[通俗易懂]

最后修改回0xAA55,重复上述步骤,虚拟磁盘变回可用的了。

DOS分区表(Boot Sector引导扇区)[通俗易懂]

 

转载于:https://www.cnblogs.com/yxqxx/p/8972301.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204009.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 51单片机:LED流水灯(仿真+代码)

    51单片机:LED流水灯(仿真+代码)这次用单片机做个简单的流水灯。先给大家看一下仿真软件的电路(软件为Proteus)上图就是用仿真软件制作的线路原理图AT89C51RC2:单片机BUTTON:按键CAP:电容CRYSTAL:晶振LED-GERRN:LED灯(绿色)RES:电阻接下来是程序部分(软件为keil)#include”reg51.h” //此文件中定义了单片机的一些特殊功能寄存器#include…

    2022年5月26日
    59
  • 操作系统中进程调度算法详解及例题解释「建议收藏」

    操作系统中进程调度算法详解及例题解释「建议收藏」文章目录1.先来先服务(FCFS,firstcomefirstserve)1.1算法思想1.2算法规则1.3用于作业/进程调度1.4是否可抢占1.5优缺点1.6是否会导致饥饿2.短作业优先(SJF,shortestjobfirst)2.1算法思想2.2算法规则2.3用于作业/进程调度2.4是否可抢占2.5优缺点2.6是否会导致饥饿3.高响应比优先(HRRN)…

    2022年9月29日
    2
  • 新的博客-随记地址webooxx.com[通俗易懂]

    新的博客-随记地址webooxx.com[通俗易懂]虽然博客还没有完工,但是开了一个新的随记地址。webooxx.comMarkdocsOnline。是在百度的BAE上实现的,但是想弄到SAE上去,不过搞不定SAE的REWRITE,话说,其实我连本机

    2022年7月3日
    21
  • JS数组转字符串(3种方法)和字符串转数组(2种)

    JS数组转字符串(3种方法)和字符串转数组(2种)一 数组转字符串 3 种方法 同样是数组转字符串 toString toLocaleStri join join 的区别是什么 JavaScript 允许数组与字符串之间相互转换 其中 Array 方法对象定义了 3 个方法 可以把数组转换为字符串 如表所示 数组方法说明 toString 将数组转换成一个字符串 toLocaleStri 把数组转换成本地约定的字符串 join 将数组元素连接起来以构建一个字符串 1 join 方法

    2025年7月30日
    3
  • CouchBase_couchbase数据库

    CouchBase_couchbase数据库1.CouchBase是什么简单来说CouchBase是一款开源的,分布式的nosql数据库,主要用于分布式缓存和数据存储领域。能够通过managecache提供快速的亚毫米级别的k-v存储操作,

    2022年8月2日
    8
  • Vue substring截取字符串报错

    Vue substring截取字符串报错这是我查出来的订单信息对象,当我只需要显示用户电话的前三位和后四位时,就需要对订单进行截取。可是当我这样截取之后,效果是出来了,只是控制台依然报错;原因:因为数据是异步加载的,当数据还没出来的时候,数据是空的,所以会报错解决办法:这是我一开始用来保存查出来的数据对象。但是这样依然会报错。我们只需要把这个对象需要截取的那个属性一开始赋值为空,这样就不会报错了。…

    2022年5月23日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号