Chính xác thì điều gì khiến BIOS quyết định xem một ổ đĩa có khả năng khởi động hay không?
BIOS quyết định xem một ổ đĩa có khả năng khởi động hay không dựa trên bản ghi phân vùng 16 byte, xuất hiện sau vùng mã MBR (được giữ trong một bảng bắt đầu từ byte thứ 4 ). Byte đầu tiên trong mỗi bản ghi phân vùng biểu thị trạng thái khởi động của ổ đĩa (và được đặt thành 0x80
nếu có khả năng khởi động hoặc 0x00
nếu không). Một số BIOS có thể kiểm tra các phần khác của MBR (ví dụ: các loại phân vùng, tổng kiểm), nhưng yêu cầu cơ bản là cờ khởi động.
Làm thế nào để trình tự khởi động bỏ qua ổ đĩa số 1 và tiến hành thử khởi động từ ổ đĩa số 2 nếu có nhiều hơn một ổ đĩa được cài đặt trong hệ thống?
Điều này phụ thuộc vào việc triển khai và là lý do tại sao bạn cần chọn đúng thứ tự khởi động. Trong hầu hết các trường hợp, BIOS sẽ xem xét từng phương tiện lưu trữ theo thứ tự bạn đặt và xác định xem nó có thể khởi động từ thiết bị đó hay không (thông qua dữ liệu MBR). Nếu có thể, nó sẽ - nếu không, nó tiếp tục lặp qua các thiết bị khác (một lần nữa, theo thứ tự bạn đã chọn).
Sau khi BIOS chuyển điều khiển sang bộ tải khởi động trên ổ đĩa số 1 mà không có phân vùng "có khả năng khởi động" - chính xác thì bộ nạp khởi động trên ổ đĩa thứ hai được gọi như thế nào?
Khi tìm thấy thiết bị khởi động hợp lệ (nghĩa là cờ có thể khởi động được đặt và các kiểm tra bổ sung khác sẽ vượt qua), BIOS sẽ sao chép cung MBR vào RAM. Sau đó, BIOS sẽ di chuyển con trỏ lệnh đến đầu vị trí này (sử dụng một JUMP
lệnh), nơi đặt đoạn mã MBR và sau đó máy tính sẽ khởi động.
Nếu BIOS hỗ trợ Đặc tả khởi động BIOS , mã MBR có thể trả lại quyền điều khiển cho BIOS theo một hướng dẫn nhất định, báo hiệu lỗi không khởi động và nhắc nó thử thiết bị tiếp theo. BIOS cũ hơn chỉ in một thông báo lỗi mặc dù. Một thông tin tốt nếu BIOS của bạn hỗ trợ nó là liệu bạn có thể khởi động từ USB hay không.
Tôi hiểu rằng điều duy nhất mà BIOS thường kiểm tra trên MBR là chữ ký của nó ở cuối phần 512 byte, và sau đó nó chỉ chuyển điều khiển sang bộ tải khởi động ban đầu nằm trong 446 byte đầu tiên của khu vực khởi động.
Điều này là chính xác, mặc dù cần lưu ý rằng hầu hết các BIOS hiện đại cũng sẽ tìm Bảng phân vùng GUID cũng như bảng kiểu MBR thông thường cũ hơn.
Liệu nó có ngụ ý rằng 446 byte đầu tiên của khu vực khởi động PHẢI chứa một số mã bộ nạp khởi động có ý nghĩa ngay cả khi đĩa không có khả năng khởi động?
Không , nhưng ổ đĩa phải có bảng phân vùng MBR hoặc GUID hợp lệ - nếu không, nó sẽ không được máy tính phát hiện. Mặc dù phần mã của MBR thực sự có thể trống, khu vực đầu tiên của ổ đĩa phải có MBR / GPT được hình thành tốt.