电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

Windows是如何在注册表里记录盘符分配的


发布日期:2019/3/28
 

windows在加载一个之前从未加载过的分区时首先要将这个分区的设备序号信息记录在注册表里如果对这个分区进行了盘符(或路径)分配那么在下次加载这个分区的时候就不用再次指定盘符(或路径)了

这些信息记录在[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]键值下内容大致为(从我的电脑里导出的)附件1

这里面重要的是这几个

\\DosDevices\\R:=hex:ebfbe

上面的R:表示盘符为R后面的HEX值中分成两个部分第一部分是前4个HEX值表示R分区所属硬盘的序号后面8个HEX表示R分区在这个硬盘的偏移起始位置以字节为单位对照上面的R看一下R分区所属的硬盘的0扇区

Offset A B C D E F

C E D BC C FB F FC BE B C

BF B B E F A CB BD BE B

E C C E F CD B F

C C F A B B B

F AC C FC BB B E CD EB F

E E A FE E B B

E C A B D

A E A B EB

BC E FE D AA B E C A

B EB A B FC E B F CB BF A

A B CD A C F A DE A FC

B F E B D D B D EE F E

C A C B BB C

D B E B CD F E E A

E CD EB E A BB AA B CD

F FB AA F C B

A A FF A FF A C A

A B B F CD E F B

E A CD EB D F C E

C F E

C F C F E

F E

D D E F

E D

A

B C EB F B

C FE FF FF F F F F C

D

E

F AA

图中偏移为xB~xBB内容为HEX:EB F B 就是注册表中记录的R分区的硬盘序号而从偏移xbe~xce中的第一组分区表可以看出唯一的分区起始位置为xF以扇区为单位换成字节就是xF*x=xE如果用8字节的64位值表示HEX就是 E 就是注册表中记录的键值的后半部分

上一篇:超高速RAMOS把Windows7放进内存

下一篇:我看Windows XP