Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

PHÂN TÍCH MASTER BOOT RECORD

Cấu trúc Master Boot Record – MBR (Bản ghi khởi động chính)
STT Địa chỉ Số Byte
1 0000h-01BDh 446 Mã chương trình mồi khởi động
2 01BEh-01CDh 16 Phân vùng thứ nhất
3 01CEh-01DDh 16 Phân vùng thứ hai
4 01DEh-01EDh 16 Phân vùng thứ ba
5 01EEh-01FDh 16 Phân vùng thứ tư
6 01FEh-01FFh 2 Mã nhận dạng HĐH (Windows – AA55h)
Nội dung phân vùng thứ nhất (Các phân vùng tiếp theo tương tự)
STT Địa chỉ Số Byte Mô tả
1 01BEh 1 Bit 7 =1 – Khởi động (80h – khởi động được; 00h –
không khởi động được )
2 01BFh-01C1h 3 Địa chỉ CHS (Cylinder, Header, Sector) bắt đầu
Header: bit 0 – 7 (Byte 1)
Cylinder: bit 6 – 7 (Byte 2) + bit 0 – 7 (Byte 3)
Sector: bit 0 – 5 (Byte 2)
3 01C2h 1 Kiểu hệ tệp
05 – Extended partition (Phân vùng mở rộng)
06 – FAT16
07 – NTFS
0B – FAT32
1B – Hidden FAT32 (FAT32 ẩn)
4 01C3h-01C5h 3 Địa chỉ CHS (Cylinder, Header, Sector) kết thúc
Header: bit 0 – 7 (Byte 1)
Cylinder: bit 6 – 7 (Byte 2) + bit 0 – 7 (Byte 3)
Sector: bit 0 – 5 (Byte 2)
5 01C6h-01C9h 4 Địa chỉ LBA (Logical Block Address) của Sector tuyệt
đối đầu tiên của phân vùng
6 01CAh-01CDh 4 Tổng số Sector của phân vùng

Ví dụ
Cho 1 phần sector 0 của ổ đĩa cứng:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0000:01B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
0000:01C0 01 00 0B FE 3F 8B 3F 00 00 00 4D 51 22 00 00 00
0000:01D0 01 8C 1B FE 7F 0B 8C 51 22 00 80 60 1F 00 00 00
0000:01E0 41 0C 05 FE BF 09 0C B2 41 00 7E 43 3E 00 00 00
0000:01F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA

1
Trả lời các câu hỏi sau (có giải thích, trình bày quá trình tính toán):
- Đĩa cứng trên có mấy partition
- Hệ thống file sử dụng trên Partition?
- Xác định địa chỉ bắt đầu và kết thúc của mỗi partition (địa chỉ dạng CHS)
- Tính dung lượng của mỗi Partition (MB)
Giải:
- Đĩa cứng trên có 3 phân vùng
Vì giá trị tại địa chỉ từ 01EEh đến 01FDh (Phân vùng thứ 4) có giá trị bằng 0
- Hệ thống file sử dụng trong các phân vùng
Phân vùng 1: FAT32 (Vì địa chỉ 01C2h=0Bh)
Phân vùng 2: Hidden FAT32 (Vì địa chỉ 01D2h=1Bh)
Phân vùng 3: Extended partition (Vì địa chỉ 01E2h=05h)
- Địa chỉ bắt đầu và kết thúc của mỗi partition
+ Phân vùng 1:
• Địa chỉ bắt đầu
01 01 00
01 → Header 0
000001 → Sector 1
00 00000000 → Cylinder 0
• Địa chỉ kết thúc
FE 3F 8B
FE → Header = 15*16+14 = 254
3F=00111111 → Sector = 1*25 + 1*24 + 1*23 + 1*22 + 1*21+1*20 = 63
0010001011 → Cylinder =27 + 23 + 21 + 20 = 128+8+2+1= 139
+ Phân vùng 2:
• Địa chỉ bắt đầu
00 01 8C
00 → Header 0
000001 → Sector 1
00 10001100 → Cylinder 140
• Địa chỉ kết thúc
FE 7F 0B
FE → Header = 15*16+14 = 254

2
111111 → Sector = 25 + 24 + 23 + 22 + 1+20 = 63
01 10001011 → Cylinder =28 + 27 + 23 + 21 + 20 = 256+128+8+2+1= 395

+ Phân vùng 3:
• Địa chỉ bắt đầu
00 41 0C
00 → Header 0
000001 → Sector 1
01 00001100 → Cylinder 28 + 23 + 22 = 256+8+4=268
• Địa chỉ kết thúc
FE BF 09
FE → Header = 15*16+14 = 254
111111 → Sector = 25 + 24 + 23 + 22 + 21+20 = 63
10 00001001 → Cylinder =29 + 23 + 20 = 512+8+1= 521

- Tính dung lượng của mỗi Partition (MB)


(Theo phương pháp lưu trữ Little Endian: Byte cao chứa giá trị cao, byte thấp chứa giá
trị thấp)
Phân vùng 1
Địa chỉ theo đề bài 4D 51 22 00 Dung lượng phân vùng
Địa chỉ thực tế 00 22 51 4D 2249037*512 (Byte)=1098MB

Phân vùng 2
Địa chỉ theo đề bài 80 60 1F 00 Dung lượng phân vùng
Địa chỉ thực tế 00 1F 60 80 2056320*512(Byte)=1024MB

Phân vùng 3
Đại chỉ theo đề bài 7E 43 3E 00 Dung lượng phân vùng
Địa chỉ thực tế 00 3E 43 7E 4080510*512(Byte)=1992MB

3
PHÂN TÍCH BOOT SECTOR
Một số thành phần chính trong cấu trúc Boot Sector

STT Thành phần chính Tên tiếng anh Viết Địa chỉ
tắt
1 Loại FAT FAT type FT 34h-3Bh
2 Số byte cho Sector Size of Sector SS 0Bh-0Ch
3 Số Sector cho 1 cluster Sectors for Cluster NC 0Dh
4 Số Secter dành cho Boot sector Sectors for Boot sector SB 0Eh-0Fh
5 Số bảng FAT(NF) Number of FAT NF 10h
6 Số Sector cho bảng ROOT(SR) Sectors for Root SR 11h-12h
7 Tổng Sector đĩa Sectors for Volume SV 13h-14h
8 Số Sector cho 1 FAT(SF) Sectors for FAT SF 16h-17h
9 Sector đầu tiên của bảng FAT1 FAT1 Address FA SB
10 Sector đầu tiên của bảng RDET RDET Address RA SB+NF*SF
11 Sector đầu tiên của vùng DATA Data Address DA SB+NF*SF+SR
Một số từ viết tắt:
FAT – File Allocation Table – Bảng định vị file
RDET - Root Directory Entry Table – Bảng điểm vào thư mục gốc
Quy định về lưu trữ giá trị
- Địa chỉ cao lưu trữ byte cao, địa chỉ thấp lưu trữ byte thấp (Little Endian)

Địa chỉ: 00000013h 00000014h


Giá trị: E0h 3Fh
 Giá trị thực tế là 3F E0h = (3*163 + 15*162 + 14*161 + 0*160) = 16352

Ví dụ:
Cho đoạn thông tin đọc được trên Boot Sector như sau:

4
Điền các thông tin vào bảng sau:

Địa chỉ Giá trị ban Giá trị


STT Nội dung
đầu

1 Loại FAT 34h-3Bh FAT 16 FAT 16


2 Số byte cho 1 sector 0Bh-0Ch 0200h 512
3 Số sector cho 1 cluster 0Dh 02h 2
4 Số sector dành riêng (số sector dành cho 0Eh-0Fh 0008h 8
Bootsector) <SB>
5 Số bảng FAT <NF> 10h 02h 2
6 Số sector cho bảng Root Directory <SR> 11h-12h 0200h 512
7 Tổng số sector trên đĩa 13h-14h 3FE0h 16352
8 Số sector cho 1 bảng FAT <SF> 16h-17h 0020h 32
9 Sector đầu tiên của bảng FAT1 SB 08h 8
10 Sector đầu tiên của bảng RDET SB+NF*SF 8+2*32 72
11 Sector đầu tiên của vùng Data SB+NF*SF+SR 8+2*32+512 584

Cột “địa chỉ” và “giá trị ban đầu” được thêm vào để tham khảo. Trong bài làm chỉ ghi giá trị
theo yêu cầu của đề bài.

You might also like