EFI System Partition là gì?
Quicknote EFI System Partition là gì?
EFI System Partition, thường gọi là ESP, là phân vùng chứa EFI boot loader, driver hoặc application. Trên hệ thống UEFI, OS loader thường nằm trong thư mục như \EFI\Microsoft\Boot\ hoặc \EFI\BOOT.
Vai trò chính
- Chứa OS loader dạng .efi.
- Hỗ trợ removable media boot.
- Là nơi Boot#### device path thường trỏ tới.
Ví dụ thực tế
Khi đọc một khái niệm firmware, hãy luôn đặt nó vào flow boot: nó xuất hiện ở phase nào, do module nào tạo ra, module nào consume, và nếu sai thì log/debug sẽ biểu hiện ra sao.
Checklist nhanh
Ghi nhớ nhanh
ESP là nơi firmware tìm file .efi để boot OS.
Cách mình thường đọc nó
Khi học EFI System Partition, mình không muốn chỉ dừng ở định nghĩa. Mình thường tự hỏi ba câu: nó được tạo ra ở đâu, ai sẽ đọc nó, và nếu nó sai thì lỗi sẽ biểu hiện ở tầng nào. Cách nhìn này giúp biến một thuật ngữ khô khan thành một điểm kiểm tra cụ thể trong flow debug.
Một tình huống thực tế
Một lỗi boot đôi khi không nằm ở boot loader, mà nằm ở metadata dẫn đường: boot option, device path, variable hoặc thứ tự thử boot. Khi gặp trường hợp máy từng boot được nhưng sau update BIOS, đổi disk hoặc clear CMOS lại boot sai, EFI System Partition là một trong những điểm nên kiểm tra trước.
Khi gặp trong thực tế
Với EFI System Partition, đừng chỉ đọc như một biến độc lập. Hãy đặt nó vào chuỗi: Boot Manager đọc NVRAM → chọn Boot option → parse Device Path → mở file .efi → chuyển quyền cho loader. Khi boot sai thiết bị, lỗi thường nằm ở metadata dẫn đường trước khi nằm ở bản thân boot loader.
Một cách debug nhanh là dump các biến boot từ UEFI Shell hoặc OS tool, rồi kiểm tra xem giá trị đang trỏ tới option nào, option đó còn active không, và device path bên trong còn đúng với disk/partition hiện tại không.
Bài liên quan
- EFI_LOAD_OPTION là gì?
- Removable Media Boot là gì?
- Fallback Boot Path là gì?
- BootOrder là gì?
- BootNext là gì?
Nguồn tham khảo public
- UEFI Specification 2.11 - Boot Manager
- EDK II - UefiBootManagerLib/BmBoot.c
- EDK II - UefiBootManagerLib.h
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.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.