Mở menu

BIOS và UEFI khác nhau như thế nào?

Giải thích sự khác nhau giữa Legacy BIOS và UEFI theo góc nhìn firmware, boot flow và khả năng mở rộng hệ thống.

Cập nhật 5 phút đọc
BIOS / UEFI cover

1. Vấn đề

Khi mới học firmware PC, ta thường nghe hai khái niệm: BIOSUEFI.

Nhiều người hiểu đơn giản rằng:

BIOS là cái cũ
UEFI là cái mới

Cách hiểu này không sai, nhưng chưa đủ.

Để đọc hiểu source code firmware, debug boot issue hoặc làm việc với platform initialization, ta cần hiểu rõ hơn BIOS và UEFI khác nhau ở đâu.

2. BIOS là gì?

BIOS là viết tắt của Basic Input/Output System.

Legacy BIOS là firmware truyền thống trên PC, có nhiệm vụ khởi tạo phần cứng cơ bản và chuyển quyền điều khiển cho bootloader.

Luồng đơn giản có thể hình dung:

Power On

BIOS initialization

POST

Find boot device

Load boot sector

Bootloader

Operating System

BIOS thường gắn với mô hình boot cũ, ví dụ MBR boot.

3. UEFI là gì?

UEFI là viết tắt của Unified Extensible Firmware Interface.

UEFI không chỉ là một firmware thay thế BIOS. Nó là một kiến trúc firmware hiện đại hơn, có driver model, service, protocol và boot manager rõ ràng hơn.

Luồng tổng quan:

Power On

SEC

PEI

DXE

BDS

UEFI Boot Manager

OS Bootloader

Operating System

UEFI được thiết kế để dễ mở rộng hơn, có cấu trúc rõ hơn và hỗ trợ các hệ thống hiện đại tốt hơn.

4. Khác nhau về kiến trúc

Legacy BIOS thường có kiến trúc đơn giản hơn và phụ thuộc nhiều vào cơ chế cũ.

UEFI có kiến trúc chia phase rõ ràng:

PhaseVai trò
SECKhởi tạo cực sớm
PEIKhởi tạo memory và platform cơ bản
DXELoad driver và tạo service
BDSChọn boot device

Điểm khác biệt lớn là UEFI giống một môi trường firmware có service và driver, không chỉ là đoạn code khởi tạo rồi nhảy sang bootloader.

5. Khác nhau về boot

Legacy BIOS thường boot bằng cách đọc boot sector từ thiết bị boot.

UEFI thường boot bằng cách chạy file bootloader dạng EFI application, ví dụ:

\EFI\BOOT\BOOTX64.EFI

hoặc bootloader được đăng ký trong boot option.

Điều này giúp UEFI boot linh hoạt hơn và dễ quản lý nhiều hệ điều hành hơn.

6. Khác nhau về khả năng mở rộng

UEFI có khái niệm:

  • Protocol.
  • Handle.
  • Driver.
  • Boot Services.
  • Runtime Services.
  • EFI application.

Nhờ vậy, firmware có thể tổ chức thành nhiều module rõ ràng.

Ví dụ, một driver có thể publish protocol để driver khác sử dụng:

gBS->InstallProtocolInterface(
    &Handle,
    &gMyProtocolGuid,
    EFI_NATIVE_INTERFACE,
    &MyProtocol
);

Driver khác có thể tìm protocol đó bằng:

gBS->LocateProtocol(
    &gMyProtocolGuid,
    NULL,
    (VOID **)&MyProtocol
);

Đây là một trong những điểm khiến UEFI giống một hệ thống firmware có kiến trúc dịch vụ.

7. Bảng so sánh nhanh

Tiêu chíLegacy BIOSUEFI
Kiến trúcCũ, đơn giản hơnChia phase, có driver model
BootBoot sector / MBREFI application / Boot Manager
Mở rộngHạn chế hơnProtocol, driver, service
Disk supportGắn nhiều với MBRHỗ trợ GPT tốt hơn
Giao diệnThường đơn giảnCó thể hỗ trợ UI hiện đại hơn
Source structureKhó hệ thống hóa hơnModule hóa rõ hơn

8. Lỗi hiểu nhầm thường gặp

Hiểu nhầm 1: UEFI chỉ là BIOS giao diện đẹp hơn

Không đúng.

Giao diện chỉ là phần bên ngoài. Khác biệt chính nằm ở kiến trúc firmware, boot flow, driver model và service.

Hiểu nhầm 2: BIOS và UEFI hoàn toàn không liên quan

Cũng không hẳn.

Trong thực tế, nhiều người vẫn dùng từ “BIOS” để chỉ firmware setup hoặc firmware hệ thống, dù bên trong là UEFI.

Hiểu nhầm 3: Học UEFI chỉ cần học boot flow

Boot flow là bước đầu, nhưng muốn đọc source UEFI cần học thêm:

  • Protocol.
  • Handle.
  • GUID.
  • Driver model.
  • Boot Services.
  • Runtime Services.
  • HOB.
  • PCD.
  • INF/DEC/DSC.

9. Cách nhớ ngắn gọn

BIOS:
Firmware truyền thống, boot theo cơ chế cũ, ít module hóa hơn.

UEFI:
Kiến trúc firmware hiện đại, chia phase rõ ràng, có driver/service/protocol.

10. Bài liên quan nên đọc tiếp

Sau khi hiểu sự khác nhau giữa BIOS và UEFI, bạn nên đọc tiếp:

11. Kết luận

BIOS và UEFI khác nhau không chỉ ở việc cái nào cũ hơn hay mới hơn.

Điểm quan trọng hơn là UEFI cung cấp một kiến trúc firmware có tổ chức hơn, dễ mở rộng hơn và phù hợp hơn với hệ thống hiện đại.

Nếu muốn học BIOS/UEFI nghiêm túc, nên bắt đầu từ:

  • Boot flow.
  • SEC/PEI/DXE/BDS.
  • Protocol và handle.
  • Driver model.
  • Cách đọc source code firmware.

Thấy nội dung này hữu ích?

Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.

Nội dung liên quan

Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.

Đọc thêm về BIOS/UEFI

Khám phá các bài viết về BIOS/UEFI, embedded firmware, debugging và system-level thinking.