Làm thế nào để BIOS biết vị trí của bộ tải khởi động?


2

Trên một hệ thống đa khởi động có khả năng một bộ tải khởi động được cài đặt cho mỗi HĐH được cài đặt, làm thế nào để bios biết bộ tải khởi động nào sẽ vượt qua sự kiểm soát? Làm thế nào được chỉ định bộ tải khởi động nào là hoạt động?

Hãy để chúng tôi lấy nhiều cài đặt linux chẳng hạn. Tôi đoán bạn có thể chỉ định một phân vùng mới và duy nhất (hoặc đĩa cứng) cho / boot sẽ được gắn vào cho mỗi hệ điều hành linux mà bạn quyết định cài đặt. Điều này sẽ để lại một bộ tải khởi động cho mỗi hệ điều hành tôi giả sử.

Câu trả lời:


3

Trong một máy tính tương thích IBM / DOS, BIOS đọc bất cứ thứ gì ở khu vực đầu tiên của ổ cứng (Boot sector) và điều này được sao chép vào bộ nhớ.

Chỉ có thể có một Khu vực khởi động cho mỗi ổ đĩa và đây là điều khiển bộ tải khởi động nào được tải.

Khi bộ tải khởi động được tải, nó chỉ là mã thực thi - bộ tải khởi động có thể tải các bộ tải khởi động khác từ các khu vực khác của ổ đĩa.

Trong ví dụ của bạn, bạn sẽ cài đặt grub (bộ tải khởi động) ở đâu đó trên ổ đĩa - cái này sẽ có một tập lệnh cấu hình có một danh sách các hệ điều hành khác nhau mà bạn có thể khởi động (hoặc các bộ tải khởi động khác mà bạn có thể chuyển sang - chẳng hạn như Windows bộ tải khởi động). Một hướng dẫn nhỏ được viết cho khu vực khởi động sẽ cho máy biết vị trí của grub và tải thẳng sau khi máy khởi động.


Được rồi, vì vậy tất cả các ổ đĩa cứng có một khu vực khởi động. Bất kỳ ổ cứng nào được chỉ định là 'lần khởi động đầu tiên' trong BIOS sẽ được mã vùng khởi động được sao chép vào bộ nhớ nơi nó được thực thi. Mã trong khu vực khởi động này sẽ được thực thi sau đó xác định bộ tải khởi động nào sẽ trỏ tới (để nó có thể được sao chép vào bộ nhớ và tiếp quản). Vì vậy, về cơ bản nó đi đến bộ tải khởi động nào là kẻ lừa đảo cuối cùng để viết vị trí của riêng nó cho bộ khởi động?
Wuhtzu

Đúng, về cơ bản là vậy.
David Schwartz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.