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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 宽字节注入(一)_低字节在前高字节在后

    宽字节注入(一)_低字节在前高字节在后在PHP中有这样一个函数:magic_quotes_gpc它的作用就是将你输入的特殊字符前面统统加一个\符号如下图前2句话在看下面这条语句之前,我们首先需要知道。\’只能和\’进行闭合下面这个语句,显然不能将1进行闭合。而是将\当成了一个字符串。后面的单引号把后面的给后面的给闭合了。不能闭合,就显然不能进行SQL注入。这就是magic_quotes_gpc函数的作用了。select*fromadminwhereid=’1\’unionselect–+

    2022年10月14日
    3
  • 【Redis】集群

    【Redis】集群【Redis】集群

    2022年4月25日
    36
  • MFC控件 — 进度条【案例】「建议收藏」

    MFC控件 — 进度条【案例】「建议收藏」打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉。对于MFC进度条的使用,下面用一个案例介绍一下。案例:进度条单步加载和自动连续加载步骤:1.按下图在对话框中添加一个进度条,一个编辑框,和3个按钮,并为进度条添加一个控件变量进度条变量:m_Progress2.在初始化函数中对进度条进行初始化,代码如下:BOOLCSpinDlg::OnInitDia…

    2022年7月16日
    20
  • SAP Fiori refreshSecurityToken

    SAP Fiori refreshSecurityTokenCreatedbyWang,Jerry,lastmodifiedonMar26,2015要获取更多Jerry的原创文章,请关注公众号”汪子熙”:

    2025年7月11日
    6
  • linux命令看文件或文件夹个数[通俗易懂]

    linux命令看文件或文件夹个数

    2022年2月11日
    78
  • OJ错误提示类型

    OJ错误提示类型答案正确(Acepted,AC)  恭喜你!所提交的代码通过了数据!这个评测结果应该是大家最喜欢见到的,也非常好理解。如果是单点测试,那么没通过一组数据,就会返回一个Accepted;如果是多点测试,那么只有当通过了所有数据时,才会返回Accepted。编译错误(CompileError,CE)  很显然,如果代码没有办法通过编译,那么就会返回CompileError。这是要…

    2022年6月24日
    24

发表回复

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

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