Đối với ổ đĩa thuộc loại basic, chúng ta có thể chia ra làm 4 phân vùng (Partition). Làm sao biết mỗi phân vùng chiếm những sector nào trên ổ đĩa? Làm cách nào mà ổ cứng biết được hệ điều hành được cài đặt ở phân vùng nào để nạp vào bộ nhớ khi khởi động hệ thống?

Sector đầu tiên (sector 0) của ổ cứng sẽ đảm nhận vai trò này. Sector này được gọi là Master Boot Sector hay Master Boot Record (MBR).

Master boot record structure

Ba thông tin quan trọng là:

  • Bootloader (hay boot code): đoạn mã khởi động hệ thống.
  • Partition table: bảng thông tin phân vùng.
  • MBR signature: dấu hiệu nhận diện MBR. Cụ thể, khi sector có 16 bit (2 byte) cuối cùng là 0xAA55 (dạng thập lục phân), ta biết được rằng sector này là MBR.

Các thông tin còn lại là các thông số vật lý của đĩa.

Partition Table

Bao gồm bốn phần tử, mỗi phần tử tương ứng với một phân vùng, có giá trị là 16 bytes. Gồm các thông tin sau:

OffsetLengthDescription
0x001Trạng thái của phân vùng
0x013Địa chỉ sector vật lý đầu tiên, có định dạng được mô tả trong 3 bytes tiếp theo.
0x011Chỉ số head
0x021Chỉ số sector chiếm các bits 5 - 0 (little endian nên cần đảo ngược), các bits 9 - 8 của chỉ số cylinder (track) chiếm các bits 7 - 6.
0x031Các bits 7 - 0 của chỉ số cylinder (track).
0x041Loại phân vùng
0x053Chỉ số sector vật lý kết thúc, format tương tự offset 0x01.
0x084Chỉ số sector logic đầu tiên của phân vùng.
0x0C4Số lượng blocks có trong phân vùng, định dạng little endian

Trong 16 byte đó, các thông tin quan trọng là:

  • Offset 0x00 (1 byte): trạng thái của phân vùng. Nếu giá trị của byte này là:
    • 0x80 cho biết phân vùng sẽ được khởi động cùng với hệ thống.
    • 0x00 cho biết phân vùng sẽ không được khởi động cùng với hệ thống.
  • Offset 0x04 (1 byte): cho biết loại phân vùng. Có nhiều loại phân vùng, chẳng hạn như
    • 0x07 phân vùng NTFS chứa Windows.
    • 0x83 phân vùng chứa Linux.
    • 0x00 trống (không được sử dụng).
  • Offset 0x0C (4 bytes): cho biết tổng số sector có trong phân vùng. Được viết dưới dạng little endian.

Ví dụ minh họa: