2.2.2 主引导记录扇区MBR(3)
(3) 0x04~0x04:1个字节,分区类型标志。
分区类型标志表明其所描述的分区的类型,如FAT、NTFS、Linux或者FreeBSD等,不同的操作系统可能会使用不同的分区类型。利用分区类型值,可以达到隐藏某些分区的目的。例如,将NTFS的类型值由0x07改为0x17,重新进入Windows后,Windows将不再为其分配盘符,也就无法在"我的电脑"中看到这个分区。
分区标志类型值及其含义如表2.3所示。
表2.3 分区标志类型值及其含义
类型值 (十六进制) |
含 义 |
类型值 (十六进制) |
含 义 |
00 |
空,DOS或Windows 不允许使用,视为非法 |
5C |
Priam Edisk |
01 |
FAT12 |
61 |
Speed Stor |
02 |
XENIX root |
63 |
GNU HURD or Sys |
03 |
XENIX usr |
64 |
Novell Netware |
06 |
FAT16分区小于32M时为0x04 |
65 |
Novell Netware |
07 |
HPFS / NTFS |
70 |
Disk Secure Mult |
08 |
AIX |
75 |
PC/IX |
09 |
AIX bootable |
80 |
Old Minix |
0A |
OS/2 Boot Manage |
81 |
Minix/Old Linux |
续表
类型值 (十六进制) |
含 义 |
类型值 (十六进制) |
含 义 |
0B |
Win95 FAT32 |
82 |
Linux swap |
0C |
Win95 FAT32 |
83 |
Linux |
0E |
Win95 FAT16 |
84 |
0s/2 hidden C: |
0F |
Win95 Extended(大于8GB) |
85 |
Linux extended |
10 |
OPUS |
86 |
NTFS volume set |
11 |
Hidden FAT12 |
87 |
NTFS volume set |
12 |
Compaq diagmost |
93 |
Amoeba |
14 |
Hidden FAT16<32MB |
94 |
Amoeba BBT |
16 |
HiddenFAT16 |
A0 |
IBM Thinkpad hidden |
17 |
Hidden HPFS/NTFS |
A5 |
BSD/386 |
18 |
AST Windows swap |
A6 |
Open BSD |
1B |
Hidden FAT32 |
A7 |
NextSTEP |
1C |
Hidden FAT32 partition (using LBA-mode INT 13 extensions) |
B7 |
BSDI fs |
B8 |
BSDI swap |
||
1E |
Hidden LBA VFAT partition |
BE |
Solaris boot partition |
24 |
NEC DOS |
C0 |
DR-DOS/Novell DOS secured partition |
3C |
Partition Magic |
C1 |
DRDOS/sec |
40 |
Venix 80286 |
C4 |
DRDOS/sec |
41 |
PPC Perp Boot |
C6 |
DRDOS/sec |
42 |
NTFS动态分区 |
C7 |
Syrinx |
4D |
QNX4.x |
DB |
CP/M/CTOS |
4E |
QNX4.x 2nd part |
E1 |
DOS access |
4F |
QNX4.x 3rd part |
E3 |
DOS r/0 |
50 |
OnTrack DM |
E4 |
Speedstor |
51 |
OnTrack DM6 Aux |
EB |
BeoS fs |
52 |
CP/M |
F1 |
SpeedStor |
53 |
OnTrack DM6 Aux |
F2 |
DOS 3.3+secondary partition |
54 |
OnTrack DM6 |
F4 |
SpeedStor |
55 |
EZ-Drive |
FE |
LAN step |
56 |
Golden Bow |
FF |
BBT |
Microsoft对某些相同的文件系统使用了不同的类型值。这是因为,Microsoft操作系统根据类型值的不同确定使用哪种方式对分区内的数据进行读写操作–使用基本Int 13H( BIOS Int 13H)还是扩展Int 13H(Extended Int 13H)。
基本Int 13H调用是BIOS提供的磁盘基本输入输出中断调用,它可以完成磁盘(包括硬盘和软盘)的复位、读写、校验、定位、诊断、格式化等功能。它使用的就是CHS寻址方式,因此最大只能访问8 GB左右的硬盘。虽然现代硬盘都已经采用了线性寻址,但是由于基本Int 13H的制约,使用BIOS Int 13H接口的程序,如DOS 等则只能访问8GB以内的硬盘空间。
为了打破容量访问限制,Microsoft等几家公司制定了扩展Int 13H标准(Extended Int 13H),采用线性寻址方式存取硬盘,所以突破了8GB的限制,而且还加入了对可拆卸介质(如移动硬盘)的支持。
(4) 0x05~0x07:分区结束CHS地址。与分区起始CHS地址结构相同。
(5) 0x08~0x0B:4个字节,分区起始LBA地址,使用Little-endian顺序。这是非常重要的参数,如果该参数遭到破坏,操作系统将无法找到文件系统分区或扩展分区的起始位置。
(6) 0x0C~0x0F:4个字节,分区大小扇区数,使用Little-endian顺序。
注意:实践表明,在手工重写分区表时,在其他参数正确的情况下,分区大小扇区数稍有偏差对导出数据不会产生什么影响。当然,不能偏差太多。不过需要注意,虽然填入的某个分区大小扇区数稍微大于原分区实际大小不会影响本分区内的数据,但如果该分区后还有分区,则可能会因为产生分区交错而导致系统无法正常加载各个分区,甚至造成死机现象的发生。