Chơng 1.
Cơ chế quản lý truy nhập dữ liệu
của HĐH MS-DOS và Windows trên máy tính PC
1.1. Cơ chế quản lý phân hoạch trên đĩa cứng vật
lý
Phần này đa ra thông tin chung về các đĩa cứng (Hard Disk
Drives - HDD) và cấu trúc đĩa mức thấp.
Nội dung bao gồm:
-
Cấu trúc vật lý của đĩa cứng.
-
Cấu trúc logic của đĩa cứng.
-
Master Boot Record (MBR).
-
Việc phân hoạch đĩa và bảng Partition.
1.1.1. Cấu trúc vật lý của đĩa cứng
Một đĩa cứng là một hộp kín bên trong có nhiều lá đĩa tròn, xếp
chồng đồng tâm. Một đĩa cứng có thể đợc lắp đặt theo vị trí
nằm ngang hoặc thẳng đứng. Trong phần này mô tả đĩa cứng đợc
lắp đặt theo vị trí nằm ngang.
Các đầu đọc/ ghi điện từ đợc bố trí ở trên hoặc ở dới mỗi mặt
đĩa và gọi là các đầu từ. Các đầu từ di chuyển vào ra theo phơng
hớng tâm với lá đĩa tròn xoay. Các lá đĩa quay quanh một trục cố
định. Do vậy đầu từ có thể vơn tới mọi vị trí trên bề mặt đĩa.
1.1.1.1.
Các rãnh từ (tracks)
Trên một đĩa cứng, dữ liệu đợc lu trữ trong các rãnh tròn đồng
tâm mảnh. Một đầu từ khi ở một vị trí có thể đọc hoặc ghi một
vòng tròn hoặc rãnh gọi là một rãnh từ (track). Có thể có hơn 1000
tracks trên một đĩa cứng 3,5 inch. Một track đợc chia làm nhiều
phần bằng nhau, mỗi phần đợc gọi là một sector. Một sector là một
đơn vị lu trữ vật lý nhỏ nhất trên đĩa, và hầu nh luôn bằng 512
bytes (0.5 KB).
Hình 1.1 dới đây cho thấy một đĩa cứng với 2 lá đĩa.
1
Hình 1-1. Các phần của đĩa cứng.
Cấu trúc của các đĩa cứng trớc đây (tức là trớc khi có Windows
95) sẽ đề cập tới ký hiệu một cylinder/ head/ sector. Một cylinder là
một tập hợp bao gồm tất các tracks có cùng bán kính trên các mặt
đĩa khác nhau, với cách tổ chức này thì đĩa cứng đọc/ ghi dữ
liệu chậm hơn so với các đĩa cứng ngày nay. Tất cả các đĩa cứng
mới ngày nay liên tục đợc cải tiến bắt đầu từ khi hệ điều hành
Windows 95 ra đời để làm việc phù hợp với hệ điều hành.
Để phù hợp với các hệ điều hành hiện hành:
-
Các tracks tổ chức theo cấu trúc logic chứ không phải là cấu
trúc vật lý, và đợc thiết lập khi đĩa đợc định dạng cấp thấp.
Các tracks đợc đánh số bắt đầu từ 0 (kể từ cạnh phía ngoài
cùng đĩa) và tăng dần số hiệu lên đến số cao nhất, điển
hình là 1023 (gần tâm đĩa nhất).
-
Tơng tự có 1024 cylinder đợc đánh số từ 0 đến 1023 trên
một đĩa cứng.
2
-
Các Heads (đầu từ ) đợc đánh số từ 0 đến 255 (thông thờng đầu từ 255 không dùng cho việc truy xuất dữ liệu của ngời
sử dụng) trên một đĩa cứng.
-
Các sectors trong một track đợc đánh số từ 1 đến 63.
Các lá đĩa quay tròn đồng tâm theo một tốc độ không đổi. Do
vậy quãng đờng đi đợc của đầu từ trên bề mặt đĩa khi đầu từ ở
gần tâm đĩa sẽ nhỏ hơn khi đầu từ ở gần cạnh ngoài cùng của
đĩa trong cùng một đơn vị thời gian. Tức là số lợng dữ liệu đọc/
ghi đợc của đầu từ ở gần tâm đĩa sẽ ít hơn khi ở gần cạnh ngoài
cùng đĩa trong cùng đơn vị thời gian. Để bù lại, tức là đảm bảo số lợng dữ liệu đợc đọc/ ghi trong cùng đơn vị thời gian là nh nhau khi
đầu từ ở bất kỳ vị trí nào trên bề mặt đĩa thì mật độ c trú của
dữ liệu trên các track ở gần phía cạnh ngoài đĩa sẽ nhỏ hơn trên các
track gần tâm đĩa (tăng dần theo hớng hớng tâm đĩa).
Không gian nhớ trên đĩa đợc điền đầy theo một sơ đồ chuẩn.
Một mặt của một lá đĩa chứa khoảng không dành riêng cho việc
ghi thông tin vị trí các track phần cứng (track positioning data) và
không dành cho bất cứ một hệ điều hành nào. Nh vậy, việc lắp
đặt đĩa gồm 2 lá đĩa thì có 3 mặt đĩa dành cho việc ghi dữ
liệu. Thông tin về vị trí các track đợc ghi vào đĩa trong quá trình
lắp đặt tại nhà máy. Bộ điều khiển đĩa sẽ đọc thông tin này để
đặt đầu từ vào vị trí sector chính xác.
1.1.1.2.
Sectors and Clusters
Một sector là một đơn vị lu trữ vật lý nhỏ nhất trên đĩa, hầu nh
luôn có dung lợng là 512 bytes bởi vì 512 là một số lũy thừa của 2
(29).
Mỗi một sector trên đĩa đợc gán nhãn bởi nhà máy qua track
positioning data. Dữ liệu nhận biết sector đợc ghi ngay ở vị trí
đầu tiên của sector, trớc vùng dành để chứa dữ liệu của sector và
nó cho biết đây là địa chỉ bắt đầu của sector.
3
Phơng pháp tối u lu trữ một file trên đĩa là lu trữ theo một chuỗi
các cluster liền kề nhau. Có nhiều file có dung lợng lớn hơn 512
bytes thì hệ thống quản lý file định rõ số sectors lu trữ dữ liệu
của file này. Ví dụ nếu dung lợng file là 800 bytes sẽ có 2 sectors
(mỗi sector có dung lợng 512 bytes) đợc chỉ định cho file. Thông thờng một cluster có dung lợng bằng 1 sector, trong trờng hợp này file
có dung lợng 800 bytes sẽ đợc lu trữ trong 2 cluster.
Chúng đợc gọi là cluster bởi vì đây là một đơn vị không gian
nhớ đợc cấp phát cho việc lu trữ nội dung dữ liệu của các file, điều
này bảo vệ dữ liệu đã đợc lu không bị ghi đè. Về sau này nếu dữ
liệu ghi nối thêm vào file và giả sử dung lợng của nó tăng lên 1030
bytes, sẽ có thêm một cluster đợc chỉ định cho việc lu trữ file, tức
là toàn bộ file đợc lu trữ trong 3 cluster.
Hình 1-2. Sectors and Clusters
Nếu trên đĩa không có sẵn các cluster còn trống (cha lu trữ dữ
liệu) liền kề nhau, thì 2 cluster sau đợc chỉ định cho việc lu trữ
file có thể nằm ở đâu đó trên ổ đĩa (có thể cùng trong một
cylinder hoặc trong các cylinder khác nhau nơi mà hệ thống quản
lý file tìm ra 2 sectors còn trống. Một file đợc lu trữ trong các
clusters không liền kề nh trên thì đợc gọi là bị phân mảnh. Sự
phân mảnh dữ liệu của một file có thể làm giảm hiệu năng của hệ
4
thống nếu hệ thống quản lý file phải điều khiển đầu từ tới một số
các địa chỉ khác nhau để tìm tất cả dữ liệu của file mà ta muốn
đọc. Thời gian tăng thêm để đầu từ đi tới một số địa chỉ trên là
nguyên nhân gây nên độ trễ (làm chậm) trớc khi đọc đợc toàn bộ
nội dung file.
Dung lợng của cluster có thể thay đổi để phù hợp với thiết bị lu
trữ file. Một cluster có dung lợng lớn hơn làm giảm khả năng phân
mảnh dữ liệu của một file, nhng lại tăng khả năng lãng phí vùng nhớ
do không đợc sử dụng hết trong cluster (ví dụ, nếu file chỉ có dung
lợng 460 bytes, thì với một cluster có dung lợng 512 bytes không gian
nhớ bị lãng phí là khoảng 10%, nhng với cluster có dung lợng 1024
bytes thì không gian nhớ bị lãng phí là khoảng 55%). Việc sử dụng
cluster lớn hơn một sector làm giảm sự phân mảnh dữ liệu của một
file và cũng làm giảm dung lợng không gian đĩa cần thiết để quản
lý thông tin về các vùng nhớ trên đĩa đã đợc sử dụng hay cha đợc sử
dụng.
1.1.2. Cấu trúc logic của đĩa cứng.
Nội dung phần này nhằm mục đích minh họa một dạng cấu trúc
logic của đĩa từ, mô hình cấu trúc này áp dụng cho đĩa cứng có
các phân hoạch sử dụng hệ thống quản lý file FAT (File Allocation
Table). Hình 1-3 sau đây minh họa tổ chức của đĩa cứng vật lý
có các volume định dạng theo hệ thống file FAT. Trong đó
-
MSB (Master Boot Record) là vùng để quản lý các phân hoạch
trên đĩa vật lý.
-
Vùng bị che: không dùng đến. Vùng này cùng với MSB chiếm hết
một track 0 thuộc mặt đĩa 0 của đĩa vật lý.
-
Các phân hoạch đã định dạng theo hệ thống file FAT (các
volume), mỗi một volume có một vùng hệ thống riêng và vùng lu
trữ dữ liệu riêng và chúng độc lập với nhau nh các đĩa từ riêng
biệt.
5
Nội dung chi tiết của từng thành phần xin đợc trình bày chi tiết ở
các phần tiếp sau.
Phầ
n
bị
che
Vùng hệ
MBS
thống của
đĩa vật lý
Partition
Boot
Sector
FAT1
FAT2
(sao lu dự
phòng)
Vùng hệ thống của một
volume
Root
Folde
r
Các th mục
con và các
file
Vùng dữ liệu
của một
volume
Hình 1-3. Tổ chức của đĩa cứng với các volume định dạng hệ
thống file FAT
1.1.3. Bản ghi khởi động chính (Master Boot Record)
trên đĩa cứng
Master Boot Record, là một cấu trúc dữ liệu quan trọng trên đĩa,
đợc tạo ra khi ta thực hiện phân hoạch đĩa cứng. Nó thuộc sector
đầu tiên của mọi đĩa cứng. Vị trí này luôn là track 0 (cylinder 0),
side 0 (head 0), và sector 1.
Master Boot Record, chứa bảng Partition lu trữ thông tin về các
phân hoạch của đĩa cứng và một đoạn mã nhỏ có khả năng thi
hành, Master Boot Record không phụ thuộc vào hệ điều hành. Trên
các máy tính chạy vi xử lý x86 đoạn mã này kiểm tra bảng Partition
và xác định phân hoạch khởi động. Sau đó Master Boot Record
tìm đến vị trí bắt đầu của phân hoạch khởi động trên đĩa
cứng, và nạp bản sao của sector khởi động của phân hoạch
(Partition boot sector) này vào bộ nhớ. Sau cùng Master Boot Record
chuyển giao quyền thi hành cho mã thi hành trong boot sector của
phân hoạch khởi động.
Mọi đĩa cứng đều có một Master Boot Record, mã thi hành trong
sector này đợc sử dụng để tìm ra phân hoạch khởi động và chỉ
khởi động đợc máy tính khi đĩa có một phân hoạch khởi động
(phân hoạch hệ thống).
6
Ví dụ sau đây cho thấy nội dung của sector chứa Master Boot
Record (dữ liệu ở dạng số hệ 16), đợc hiển thị làm 2 phần:
-
Phần thứ nhất là Master Boot Record, nó chiếm 446 bytes đầu
tiên trong sector này. Chữ ký đĩa (FD 4E F2 14) đánh dấu kết
thúc của Master Boot Record.
-
Phần thứ hai là nội dung bảng Partition.
Nội dung sector vật lý có địa chỉ: Cylinder 0, head 0, Sector 1
00000000:00
00000010:BF
00000020:B3
00000030:CB
00000040:CB
00000050:56
00000060:BB
00000070:4F
00000080:55
00000090:69
000000A0:6C
000000B0:20
000000C0:6D
000000D0:69
000000E0:00
000000F0:00
00000100:00
00000110:00
00000120:00
00000130:00
00000140:00
00000150:00
00000160:00
00000170:00
00000180:00
00000190:00
000001A0:00
000001B0:00
33
00
04
75
74
BB
00
75
AA
64
65
6F
00
6E
00
00
00
00
00
00
00
00
00
00
00
00
00
00
C0
06
80
EF
1A
07
7C
ED
75
20
00
70
4D
67
00
00
00
00
00
00
00
00
00
00
00
00
00
00
8E
B9
3C
CD
80
00
B8
BE
C7
70
45
65
69
20
00
00
00
00
00
00
00
00
00
00
00
00
00
00
D0
00
80
18
3C
B4
01
A3
8B
61
72
72
73
73
00
00
00
00
00
00
00
00
00
00
00
00
00
00
BC
01
74
8B
00
0E
02
06
F5
72
72
61
73
79
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
F2
0E
14
74
CD
57
EB
EA
74
6F
74
69
73
00
00
00
00
00
00
00
00
00
00
00
00
00
00
7C
A5
80
8B
F4
10
CD
D3
00
69
72
69
6E
74
00
00
00
00
00
00
00
00
00
00
00
00
00
00
-8B
-EA
-3C
-4C
-BE
-5E
-13
-BE
-7C
-74
-20
-6E
-67
-65
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-FD
F4
1D
00
02
8B
EB
5F
C2
00
69
6C
67
20
6D
00
00
00
00
00
00
00
00
00
00
00
00
00
4E
50
06
75
8B
06
F0
73
06
00
6F
6F
20
6F
00
00
00
00
00
00
00
00
00
00
00
00
00
00
F2
07
00
1C
EE
AC
EB
0C
BF
49
6E
61
73
70
00
00
00
00
00
00
00
00
00
00
00
00
00
00
14
50
00
83
83
3C
FE
33
FE
6E
20
64
79
65
80
00
00
00
00
00
00
00
00
00
00
00
00
00
00
1F
BE
C6
C6
00
BF
C0
7D
76
74
69
73
72
45
00
00
00
00
00
00
00
00
00
00
00
00
00
00
000001C0:01
000001D0:41
000001E0:C1
000001F0:C1
00
97
2D
93
06
07
05
01
0F
0F
0F
0F
7F
FF
FF
FF
96
2C
92
A6
3F
90
30
D0
00
42
81
12
-00
-06
-0C
-0E
00
00
00
00
51
A0
A0
C0
42
3E
91
4E
06
06
01
00
00
00
00
00
FB
BE
10
10
74
05
CD
81
61
61
6E
74
61
14
00
00
00
00
00
00
00
00
00
00
00
00
00
FC
07
FE
FE
0B
00
13
3D
6C
62
67
65
74
15
00
00
00
00
00
00
00
00
00
00
00
00
00
80
00
00
00
55
01
00
00
00
AA
.3.....|..P.P..
................
...<.t..<.u.....
.u......L.......
.t..<.t.....<.t.
V.......^.......
..|...W.._s.3...
Ou...........}.=
U.u.....|..Inval
id partition tab
le.Error loading
operating syste
m.Missing operat
ing system...E..
................
................
................
................
................
................
................
................
................
................
................
................
................
.........N......
..
.....?...QB....
A....,.B...>....
.-....0.........
...........N..U.
1.1.4. Việc phân hoạch đĩa và bảng Partition.
Thông tin về các phân hoạch chính và một phân hoạch mở rộng
đợc chứa trong bảng Partition, là một cấu trúc dữ liệu gồm 64 bytes
trong cùng sector với Master Boot Record (cylinder 0, head 0, sector
1). Bảng Partition là một qui định chuẩn, không phụ thuộc vào bất
cứ một hệ điều hành nào, bao giờ cũng bắt đầu từ địa chỉ
01BEh (446). Mỗi một phần tử (bản ghi) trong bảng Partition có độ
dài 16 bytes, chia làm 8 trờng nh sau:
7
-
Trờng Boot Indicator (BI), độ rộng 1 byte, cho biết phân
hoạch nào là phân hoạch khởi động.
-
Trờng Starting Head, độ rộng 1 byte, cho biết số hiệu đầu từ
bắt đầu của phân hoạch.
-
Trờng Starting sector and cylinder, độ rộng 2 bytes, cho
biết số hiệu sector và cylinder bắt đầu của một phân hoạch.
Việc mã hóa số hiệu sector và số hiệu cylinder nh sau: sử dụng
6 bits (5 ữ 0) thấp biểu diễn số hiệu sector bắt đầu của phân
hoạch, các bit 7, 6 là 2 bit cao nhất trong 10 bits còn lại biểu
diễn số hiệu cylinder bắt đầu của phân hoạch. Cụ thể biểu
diễn theo hình ảnh trong hình 1-4:
151413121110 9 8
7
6
5 4 3 2 1 0
Cylinder Bits
Cylinder Bits 7 to 0
Sector Bits 5 to 0
9+8
cylinder
-
Hình 1-4. Sơ đồ mã hóa số hiệu sector và số hiệu
bắt
đầu
cũng
nh
kết thúc một phân hoạch.
Trờng System Indicator (SI), độ rộng 1 byte, cho biết kiểu
của phân hoạch.
-
Trờng Ending head, độ rộng 1 byte, cho biết số hiệu đầu từ
kết thúc của phân hoạch.
-
Trờng Ending sector and cylinder, độ rộng 2 bytes, cho biết
số hiệu sector và cylinder kết thúc của một phân hoạch. Việc
mã hóa số hiệu sector và số hiệu cylinder giống nh cho trờng
Starting sector and cylinder.
-
Trờng Relative Sectors (RS), độ rộng 4 bytes, cho biết tổng
số sector nằm trớc phân hoạch đang xét.
-
Trờng Total Sectors (TS), độ rộng 4 bytes, cho biết tổng số
sector thuộc phân hoạch đang xét.
Hai bytes cuối cùng trong sector là chữ ký cho sector này và luôn
luôn là 0xAA55.
8
Ví dụ tiếp sau đây là dữ liệu của bảng Partition lấy từ ví dụ về
Master Boot Record ở trên, cho ta thấy đĩa cứng này đợc chia làm
4 phân hoạch (nếu chia ít hơn 4 phân hoạch thì sẽ có từ 1 đến
3 phần tử có tất cả các tròng mang giá trị 0.
000001C0:
000001D0:
000001E0:
000001F0:
01
41
C1
C1
00
97
2D
93
06
07
05
01
0F
0F
0F
0F
7F
FF
FF
FF
96
2C
92
A6
3F
90
30
D0
00
42
81
12
-00
-06
-0C
-0E
00
00
00
00
51
A0
A0
C0
42
3E
91
4E
06
06
01
00
00
00
00
00
80
00
00
00
55
01
00
00
00
AA
..
.....?...QB....
A....,.B...>....
.-....0.........
...........N..U.
Giá trị của các trờng trong các phần tử trong bảng Partition dùng
để quản lý các phân hoạch chính, phân hoạch mở rộng và các đĩa
logic trong trong phân hoạch mở rộng.
Bảng 1-1. ý nghĩa nội dung các trờng trong bảng Partition (Giá
trị điển hình trong bảng là cho phân hoạch 1)
Byte
Offse
t
00
Độ dài
của
trờng
BYTE
Giá trị
điển
hình
80h
ý nghĩa nội dung
Boot Indicator. Cho biết phân hoạch này là
phân hoạch khởi động hay phân hoạch
bình thờng. Giá trị
00 cho biết đây là phân hoạch bình
thờng
80 cho biết đây là phân hoạch khởi
động.
01
BYTE
01h
02
16 bits 0001h
Starting Sector và Starting Cylinder. Số
hiệu sector và Số hiệu cylinder bắt đầu
của phân hoạch. Sử dụng 6 bits thấp (các
bit 0-5) để biểu diễn số hiệu sector bắt
đầu của phân hoạch. 10 bits còn lại biểu
diễn số hiệu cylinder bắt đầu của phân
hoạch, trong đó hai bits 6-7 dùng làm 2 bits
cao nhất trong 10 bits còn lại (tức là các bits
từ 8 đến 15 tơng ứng các bíts 0 đến 7 và
bit 6 tơng ứng với bit 8, bit 7 tơng ứng với
bit 9 trong số 10 bits còn lại).
04
BYTE
System ID. Cho biết kiểu hệ thống sử dụng
phân hoạch.
06h
Starting Head. Số hiệu đầu từ bắt đầu
của phân hoạch.
9
05
BYTE
0Fh
Ending Head. Số hiệu đầu từ cuối cùng của
phân hoạch.
06
16 bits 3Fh
Ending Sector. và Ending Cylinder. Số hiệu
sector và Số hiệu cylinder bắt đầu của
phân hoạch. Sử dụng 6 bits thấp (các bit 05) để biểu diễn số hiệu sector bắt đầu
của phân hoạch. 10 bits còn lại biểu diễn
số hiệu cylinder bắt đầu của phân hoạch,
trong đó hai bits 6-7 dùng làm 2 bits cao
nhất trong 10 bits còn lại (tức là các bits từ
8 đến 15 tơng ứng các bíts 0 đến 7 và
bit 6 tơng ứng với bit 8, bit 7 tơng ứng với
bit 9 trong số 10 bits còn lại).
08
4
bytes
0000003
Fh
Relative Sector. Cho biết tổng số sector
nằm trớc phân hoạch này.
12
4
bytes
0006425
1h
Total Sectors. Cho biết tổng số sector của
phân hoạch này.
Bảng 1-2. Các giá trị có thể của trờng System ID.
Giá
trị
ý nghĩa
01h
Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản
lý file FAT12. Số sector tối đa trong volume này là 32679
sectors.
04h
Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản
lý file FAT16. Số sector trong volume này từ 32680 sectors
đến 65535 (dung lợng nhỏ hơn 32MB).
05h
Cho biết đây là phân hoạch MS-DOS mở rộng.
06h
Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản
lý file BIGDOS FAT (FAT16 với dung lợng volume lớn hơn
32MB).
07h
Phân hoạch chính hoặc đĩa logic sử dụng hệ thống quản
lý file NTFS.
0Bh
Phân hoạch chính sử dụng hệ thống quản lý file FAT32,
dung lợng volume lên tới 2048 GB, sử dụng LBA (Logical
Block Addressing sử dụng ngắt 13h mở rộng đã xây
dựng trong các BIOS mới để truy nhập đĩa cứng dung lợng
lớn hơn 8GB, hoặc để truy nhập trong chế độ LBA thay
10
cho CHS (Cylinder, Head, Sector)).
0Ch
Ph©n ho¹ch më réng sö dông hÖ thèng qu¶n lý file FAT32,
dung lîng volume lªn tíi 2048 GB, sö dông LBA.
0Eh
Ph©n ho¹ch më réng sö dông hÖ thèng qu¶n lý file FAT16,
sö dông LBA.
0Fh
Ph©n ho¹ch chÝnh sö dông hÖ thèng qu¶n lý file FAT16, sö
dông LBA.
Partition type
From Wikipedia, the free encyclopedia
This article is about MBR partition types in IBM PC compatible
systems. For GPT partition types, see GUID Partition Table. For
Amiga RDB partition types, see Rigid Disk Block.
The partition type (or partition ID) in a partition's entry in the partition table inside a
Master Boot Record (MBR) is a byte value intended to specify the file system the partition
contains and/or to flag special access methods used to access these partitions (f.e. special
CHS mappings, LBA access, logical mapped geometries, special driver access, hidden
partitions, secured or encrypted file systems, etc.).
Contents
• 1 Overview
• 2 List of partition IDs
• 3 See also
• 4 Notes
• 5 References
Overview
Lists of assigned partition types to be used in the partition table in the MBR were originally
maintained by IBM and Microsoft internally, but when the market of PC operating systems and
disk tools grew and liberated and other vendors had a need to assign special partition types to
their products as well and Microsoft neither documented all partition types already assigned
by them nor wanted to maintain foreign assignments, third parties started to simply assign
partition types on their own behalf in a mostly uncoordinated trial-and-error manner. This led
to various conflictive double-assignments sometimes causing severe compatibility problems
between certain products.[1][2]
Several industry experts including Hale Landis, Ralf Brown, Matthias Paul, and Andries E.
Brouwer in the 1990s started to research partition types and published (and later
synchronized) partition type lists in order to help document the industry de facto standard and
thereby reduce the risk of further conflicts. Some of them also actively helped to maintain
software dealing with partitions to work with the updated lists, indicated conflicts, devised
additional detection methods and work-arounds for vendors, or engaged in coordinating new
non-conflictive partition type assignments as well.
While not officially maintained,[1] new assignments should be coordinated, in particular any
new temporary partition type assignments for local or experimental projects can utilize type
7Fh in order to avoid conflicts with already assigned types. This type was specially reserved
for individual use as part of the Alternative OS Development Partition Standard (AODPS)[3]
initiative since 2002.
It is up to an operating system's boot loader and/or kernel how to interpret the value. So the
table specifies which operating systems or disk-related products originally introduced an ID
and what file system or special partition type they mapped it to. Partitions with partition types
11
unknown to the software should be treated as reserved but occupied disk storage space,
which should not be dealt with by the software, except for in FDISK-like tools.
List of partition IDs
This is a list of known Master Boot Record partition types on IBM PC compatible computers:[4]
12
Partiti Occurr Acce
Bootable Type
on ID ence ss
Origin
Supporte
d
Description
00h
MBR,
N/A No
EBR
01h
x86,
MBR, CHS, 68000, File
IBM
EBR LBA 8080/Z8 system
0
02h
MBR CHS
Microsoft,
XENIX XENIX root (see 03h and FFh)[5]
SCO
03h
MBR CHS
Microsoft,
XENIX XENIX usr (see 02h and FFh)[5]
SCO
04h
FAT16 with less than 65536 sectors
x86,
(32 MB). As primary partition it must
MBR, CHS, 68000, File
DOS 3.0
Microsoft
reside in first physical 32 MB of disk,
EBR LBA 8080/Z8 system
+
or as logical drive anywhere on disk
0
(else use 06h instead).[5][6][7]
05h
Free
07h
All
Extended partition with CHS
DOS (3.2 addressing. It must reside in first
) 3.3+
physical 8 GB of disk, else use 0Fh
instead (see 0Fh, 85h, C5h, D5h)[5][6][7]
Storage
SpeedSto
Dimensio
can occur in SpeedStor MBRs
r
ns
FAT16B with 65536 or more sectors. It
must reside in first physical 8 GB of
disk, unless used for logical drives in
DOS 3.3 an 0Fh extended partition (else use 0Eh
1+
instead). Also used for FAT12 and
FAT16 volumes in primary partitions if
they are not residing in first physical
32 MB of disk.[nb 1][5][6][7]
MBR, CHS,
x86
EBR LBA
File
Compaq
system
MBR, CHS,
x86
EBR LBA
File
Microsoft, OS/2 1.2
IFS
system IBM
+
MBR, CHS,
286
EBR LBA
File
IBM
system
MBR, CHS,
386
EBR LBA
File
Windows
Microsoft
NTFS[6][7]
system
NT
MBR, CHS,
Yes
EBR LBA
Windows
File
Microsoft Embedde exFAT
system
d CE
OS/2 1.2
+,
HPFS[5]
Windows
NT
Quantum
Software QNX 2
Systems
08h
Empty partition entry
FAT12 as primary partition in first
DOS 2.0 physical 32 MB of disk or as logical
+
drive anywhere on disk (else use 06h
instead)[5][6][7]
CHS,
MBR,
Contain
(LBA No, AAP
IBM
EBR
er
)
MBR CHS
06h
IBM
MBR CHS x86
File
QNX "qnx" (7) (pre-1988 only)[8][nb 2]
Commodo Commod Logical sectored FAT12 or FAT16[9][nb 3]
13
system re
ore MSDOS 3.x
14
CHS x86
File
IBM
system
IBM
OS/2
1.0-1.3
OS/2 (FAT?)
AIX
AIX boot/split
SplitDrive
Quantum
QNX
Software
1.x/2.x
Systems
QNX "qny" (8)[8][nb 2]
Dell
partition spanning multiple drives
IBM
AIX
Quantum
QNX
Software
1.x/2.x
Systems
09h
AIX data/boot
QNX "qnz" (9)[8][nb 2]
MBR CHS 286
Mark
File
Williams Coherent Coherent file system
system
Company
MBR
File
Microwar
OS-9
system e
PowerQue
OS/2
st, IBM
0Ah
OS-9 RBF
OS/2 Boot Manager[nb 4]
Mark
Williams Coherent Coherent swap partition
Company
0Bh
MBR, CHS,
x86
EBR LBA
File
DOS 7.1
Microsoft
FAT32 with CHS addressing[6][7]
system
+
0Ch
MBR,
LBA x86
EBR
File
DOS 7.1
Microsoft
FAT32 with LBA[6][7]
system
+
Silicon
Safe
0Dh
Reserved[4]
0Eh
MBR,
LBA x86
EBR
0Fh
MBR,
Contain
DOS 7.0 Extended partition with LBA (see 05h
LBA No, AAP
Microsoft
EBR
er
+
and CFh)[6][7]
10h
File
DOS 7.0
Microsoft
FAT16B with LBA[6][7]
system
+
Unisys
MBR CHS x86
MBR
CHS,
x86
LBA
(see 0Ah)
File
Leading
system Edge
Leading
Edge
Logical sectored FAT12 or FAT16[9][nb 3]
MS-DOS
3.x
Hidden
IBM
FS
OS/2
Hidden FAT12 (corresponds with 01h)
Boot Ma [nb 4]
nager
11h
12h
OPUS
Service
Compaq
FS
configuration partition (bootable FAT)
Service EISA
configuration partition[6][7]
Hiberna Compaq
tion
15
[6][7][10]
Compaq hibernation partition[10]
Contura
MBR
x86
Service
NCR
FS
diagnostics and firmware partition
(bootable FAT)[10]
MBR
x86
Service
Intel
FS
service partition (bootable FAT)[10] (see
98h)
Service IBM
Rescue and Recovery partition[10]
14h
File
AST
system
AST MS Logical sectored FAT12 or FAT16[9][nb 3]
-DOS 3.x (see AST MBR)
x86,
68000, Hidden
IBM
8080/Z8 FS
0
OS/2
Hidden FAT16 (corresponds with 04h)
Boot Ma [nb 4]
nager
File
system
LBA
Maverick
Omega file system
OS
Hidden
No, AAP contain IBM
er
15h
OS/2
Hidden extended partition with CHS
Boot Ma
addressing (corresponds with 05h)[nb 4]
nager
Maverick
swap
OS
LBA
16h
x86,
68000, Hidden
IBM
8080/Z8 FS
0
OS/2
Hidden FAT16B (corresponds with
Boot Ma
06h)[nb 4]
nager
Hidden IFS (corresponds with 07h)[nb 4]
Hidden HPFS (corresponds with 07h)[nb
4]
OS/2
Boot Ma Hidden NTFS (corresponds with 07h)[nb
4]
nager
Hidden
IBM
FS
17h
Hidden exFAT (corresponds with 07h)
[nb 4]
18h
19h
No
Hiberna
AST
tion
AST
AST Zero Volt Suspend or SmartSleep
Windows partition
Willowte
Willow
ch
Willowtech Photon coS (see 20h)
Schlanger Photon
coS
1Bh
Hidden
IBM
FS
OS/2
Hidden FAT32 (corresponds with 0Bh)
Boot Ma [nb 4]
nager
1Ch
Hidden
IBM
FS
OS/2
Hidden FAT32 with LBA (corresponds
Boot Ma
with 0Ch)[nb 4]
nager
1Eh
Hidden
IBM
FS
OS/2
Hidden FAT16 with LBA (corresponds
Boot Ma
with 0Eh)[nb 4]
nager
16
1Fh
Hidden
contain IBM
er
MBR,
LBA
EBR
OS/2
Hidden extended partition with LBA
Boot Ma
addressing (corresponds with 0Fh)[nb 4]
nager
Microsoft
20h
MBR
21h
22h
Willow
Schlanger
Willowsoft Overture File System
(OFS1) (see 19h)
Hewlett
Packard
HP Volume Expansion (SpeedStor)[nb 5]
File
Dave
system Poirier
Oxygen FSo2 (Oxygen File System) (see 22h)
Contain Dave
er
Poirier
Oxygen
Microsoft,
IBM
23h
Yes
24h
Windows
Windows Mobile update XIP
Mobile
MBR CHS x86
Microsoft
Oxygen Extended Partition Table (see
21h)
Reserved
Windows
Windows Mobile boot XIP
Mobile
NEC MS
Logical sectored FAT12 or FAT16[9][11]
-DOS 3.3 [nb 3]
(see NEC MBR)
0
File
NEC
system
25h
Microsoft
26h
Microsoft,
IBM
Windows
Windows Mobile IMGFS[citation needed]
Mobile
Reserved
Windows Recovery Environment (RE)
Service
Microsoft Windows partition (hidden NTFS partition type
FS
07h)[12]
MBR
27h
CHS,
Yes
LBA
Service
Acer
FS
PQservic
FAT32 or NTFS rescue partition
e
MirOS
BSD
MirOS partition
RooterBOOT kernel partition (contains
RooterB
a raw ELF Linux kernel, no file
OOT
system)
2Ah
File
Kurt
system Skauen
MBR,
LBA x86
EBR
AtheOS
File
system
AtheOS file system (AthFS, AFS) (an
extension of BFS, see 2Bh and EBh)
Reserved (see CAh)
2Bh
Kristian
van der
Vliet
31h
Microsoft,
IBM
32h
Alien
Internet
Services
17
SyllableSecure (SylStor), a variant of
Syllable
AthFS (an extension of BFS, see 2Ah
OS
and EBh)
Reserved
NOS
33h
Microsoft,
IBM
Reserved
34h
Microsoft,
IBM
Reserved
35h
MBR, CHS,
No
EBR LBA
OS/2
Warp
JFS (OS/2 implementation of AIX
Server /
Journaling File system)
eComSta
tion
File
IBM
system
36h
Microsoft,
IBM
38h
Timothy
THEOS THEOS version 3.2, 2 GB partition
Williams
Reserved
Contain
Bell Labs Plan 9
er
39h
Plan 9 edition 3 partition (subpartitions described in second sector of
partition)
Timothy
THEOS THEOS version 4 spanned partition
Williams
3Ah
Timothy
THEOS THEOS version 4, 4 GB partition
Williams
3Bh
Timothy
THEOS THEOS version 4 extended partition
Williams
3Ch
PowerQue Partition PqRP (PartitionMagic or DriveImage
st
Magic in progress)[13]
3Dh
Hidden PowerQue Partition
Hidden NetWare
FS
st
Magic
3Fh
OS/32
PICK
Systems
40h
PICK
VenturCo
Venix
m
Venix 80286
Personal
Personal RISC Boot
RISC
Yes
41h
Linux
PowerPC
Linux
PowerPC PowerPC
Secured Peter
SFS
FS
Gutmann
42h
PICK R83
No
Linux
Linux
Old Linux/Minix (disk shared with DR
DOS 6.0) (corresponds with 81h)
PPC PReP (Power PC Reference
Platform) Boot
Secure File system (SFS)
Old Linux swap (disk shared with DR
DOS 6.0) (corresponds with 82h)
Windows
Contain
Microsoft 2000,
Dynamic extended partition marker[6][7]
er
XP, etc.
43h
Yes
File
Linux
Linux
18
Old Linux native (disk shared with DR
system
DOS 6.0) (corresponds with 83h)
19
44h
Wildfile
GoBack
Priam
Norton GoBack, WildFile GoBack,
Adaptec GoBack, Roxio GoBack
Priam (see also 5Ch)
MBR CHS Yes
Boot-US Boot-US boot manager (1 cylinder)
45h
Jochen
Liedtke,
GMD
EUMEL/
EUMEL/ELAN (L2)
ELAN
46h
Jochen
Liedtke,
GMD
EUMEL/
EUMEL/ELAN (L2)
ELAN
47h
Jochen
Liedtke,
GMD
EUMEL/
EUMEL/ELAN (L2)
ELAN
48h
Jochen
Liedtke,
GMD
EUMEL/
EUMEL/ELAN (L2), ERGOS L3
ELAN
Nick
Roberts
AdaOS
MBR
4Ah
Yes
MBR, CHS,
No
EBR LBA
Aquila (see 7Fh)
File
Mark
ALFS/T ALFS/THIN advanced lightweight file
system Aitchison HIN
system for DOS
4Ch
ETH
Zürich
ETH
Oberon
4Dh
Quantum QNX
Primary QNX POSIX volume on disk
Software 4.x,
(77)[8][nb 2]
Systems Neutrino
4Eh
Quantum QNX
Secondary QNX POSIX volume on
Software 4.x,
disk (78)[8][nb 2]
Systems Neutrino
Aos (A2) file system (76)
Quantum QNX
Tertiary QNX POSIX volume on disk
Software 4.x,
(79)[8][nb 2]
Systems Neutrino
4Fh
Yes
ETH
Oberon
boot / native file system (79)
ETH
Zürich
ETH
Oberon
Alternative native file system (80)
Disk
OnTrack Manager Read-only partition (old)
4
No
50h
ETH
Zürich
LynxOS Lynx RTOS
Novell
Novell
51h
52h
Disk
OnTrack Manager Read-write partition (Aux 1)
4-6
No
MBR CHS
File
Digital
20
CP/M-80 CP/M-80
system Research
21
System
Microport V/AT,
V/386
53h
Disk
OnTrack Manager Auxiliary 3 (WO)
6
54h
Disk
OnTrack Manager Dynamic Drive Overlay (DDO)
6
55h
MicroHou
se /
EZ-Drive, Maxtor, MaxBlast, or
EZ-Drive
StorageSo
DriveGuide INT 13h redirector volume
ft
AT&T M
S-DOS 3 Logical sectored FAT12 or FAT16[9][nb 3]
.x
AT&T
MicroHou
se /
Disk Manager partition converted to
EZ-Drive
StorageSo
EZ-BIOS
ft
56h
Golden
Bow
VFeature VFeature partitionned volume
MicroHou
se /
DrivePro
StorageSo
ft
57h
Novell
Contain
Priam
er
5Ch
64h
EDISK
CHS
File
system
Unix
66h
SCO Unix, ISC, UnixWare, AT&T
System V/386, ix, MtXinu BSD 4.3 on
Mach, GNU HURD
Storage
SpeedSto
Dimensio
r
ns
File
Novell
system
Solomon
65h
Priam EDisk Partitioned Volume (see
also 45h)
Storage
SpeedSto
Dimensio
r
ns
61h
63h
VNDI partition
NetWare NetWare File System 286/2[5]
PC-ARMOUR
File
Novell
system
NetWare NetWare File System 386
File
Novell
system
NetWare NetWare File System 386
Novell
22
NetWare Storage Management Services (SMS)
67h
Novell
NetWare Wolf Mountain
68h
Novell
NetWare
Novell
NetWare
5
Novell
NetWare Novell Storage Services (NSS)
69h
6Eh
Unknown[4]
70h
DiskSecu
DiskSecure multiboot
re
Microsoft,
IBM
71h
72h
MBR,
CHS x86
EBR
APTI
conforma APTI alternative FAT12 (CHS, SFN)
nt
(corresponds with 01h)
systems
Policy
FS
Nordier
73h
74h
Reserved
Unix
V7/x86
Microsoft,
IBM
Reserved
Microsoft,
IBM
Reserved
Secured
Scramdisk
75h
IBM
76h
Microsoft,
IBM
77h
V7/x86
PC/IX
[5]
Reserved
File
Novell
system
VNDI, M2FS, M2CS
File
Geurt Vos
system
XOSL bootloader file system
78h
Yes
79h
MBR,
CHS x86
EBR
Policy
FS
APTI
conforma APTI alternative FAT16 (CHS, SFN)
nt
(corresponds with 04h)
systems
7Ah
MBR,
LBA x86
EBR
Policy
FS
APTI
conforma APTI alternative FAT16 (LBA, SFN)
nt
(corresponds with 0Eh)
systems
7Bh
MBR,
CHS x86
EBR
Policy
FS
APTI
conforma APTI alternative FAT16B (CHS, SFN)
nt
(corresponds with 06h)
systems
7Ch
MBR,
LBA x86
EBR
Policy
FS
APTI
conforma APTI alternative FAT32 (LBA, SFN)
nt
(corresponds with 0Ch)
systems
7Dh
MBR, CHS x86
Policy
APTI
23
APTI alternative FAT32 (CHS, SFN)
EBR
conforma
nt
(corresponds with 0Bh)
systems
FS
24
7Eh
7Fh
F.I.X.
MBR, CHS,
Yes
EBR LBA
AODPS
Varies
File
Andrew T Minix
Minix file system (old)
system anenbaum 1.1-1.4a
80h
File
Andrew T Minix
system anenbaum 1.4b+
81h
Linux
No
82h
Alternative OS Development Partition
Standard[3] - reserved for individual or
local use and temporary or
experimental projects
x86
GNU/Linu
x
MINIX file system (corresponds with
41h)
Mitac Advanced Disk Manager
Linux swap space (corresponds with
42h)
Sun
Contain
Microsyst
er
ems
Solaris x86 (for Sun disklabels up to
2005) (see BFh)
Prime
83h
No
84h
85h
No, AAP
File
GNU/Linu
system x
Any native Linux file system (see 93h,
corresponds with 43h)
Hiberna
Microsoft
tion
APM hibernation (suspend to disk,
S2D)[7][10][14]
Hidden
IBM
FS
OS/2
Hiberna
Intel
tion
Windows
Rapid Start technology[15]
7
Hidden C: (FAT16)
Linux extended[16] (corresponds with
05h)
Contain GNU/Linu
er
x
Windows Fault-tolerant FAT16B mirrored
File
Microsoft NT 4
volume set (see B6h and C6h,
system
Server corresponds with 06h)[6][7]
86h
GNU/Linu
Linux
x
Linux RAID superblock with autodetect (old) (see FDh)
Windows Fault-tolerant HPFS/NTFS mirrored
File
Microsoft NT 4
volume set (see B7h and C7h,
system
Server corresponds with 07h)[6][7]
87h
88h
GNU/Linu
x
8Ah
Martin
Kiewitz
Linux plaintext partition table
AiRBOOT
Linux kernel image
8Bh
Windows Legacy fault-tolerant FAT32 mirrored
File
Microsoft NT 4
volume set (see BBh and CBh,
system
Server corresponds with 0Bh)[6]
8Ch
Windows Legacy fault-tolerant FAT32 mirrored
File
Microsoft NT 4
volume set (see BCh and CCh,
system
Server corresponds with 0Ch)[6]
8Dh
MBR, CHS, x86,
Hidden FreeDOS Free
25
Hidden FAT12 (corresponds with 01h)