Điều gì làm cho phương tiện truyền thông có khả năng khởi động?


10

Vì tò mò, điều gì làm cho phương tiện truyền thông có thể khởi động? Liên kết đến giải thích sẽ được đánh giá cao.

Câu trả lời:


5

Có thể một vài chi tiết về cách tổ chức phương tiện có thể khởi động có thể giúp xác định "điều gì làm cho phương tiện có thể khởi động được".

Quy trình khởi động khác nhau tùy thuộc vào kiến ​​trúc, vì vậy tôi sẽ chỉ sử dụng PC tiêu chuẩn (tức là kiến ​​trúc x86).

Đầu tiên, để được "khởi động" một cách hiệu quả, một phương tiện cần phải được BIOS chọn sau khi tự kiểm tra bật nguồn (POST) sau này. Để điều này xảy ra, phương tiện phải được đánh dấu là có khả năng khởi động , có nghĩa là nó phải có chữ ký khởi động trong khu vực đầu tiên của nó. Đây là điều đầu tiên làm cho một khả năng khởi động trung bình.

Sau đó, BIOS tải và đưa tay cho khu vực khởi động này (bất cứ thứ gì được lưu trữ ở đó ... vì vậy nó có thể trực tiếp là một chương trình chế độ thực phù hợp, nhưng hãy sử dụng sơ đồ "bình thường"). Vì vậy, để có thể khởi động, một phương tiện phải có khu vực khởi động chức năng như vậy .

Nếu phương tiện được phân vùng, thì Bản ghi khởi động chính (MBR) được cài đặt trong khu vực này. Mã này sẽ chịu trách nhiệm kiểm tra bảng phân vùng và tìm phân vùng với bộ cờ khởi động được đặt . Sau đó, MBR sẽ tải khu vực đầu tiên của phân vùng này, nơi chứa cái được gọi là Bản ghi khởi động âm lượng (VBR). Lưu ý rằng trong trường hợp môi trường không liên kết, VBR được đặt trong khu vực đầu tiên của phương tiện và do đó được gọi trực tiếp bởi BIOS.

Một VBR chứa chương trình bootstrapping . Chương trình này phải khởi tạo máy (tức là kích hoạt bộ nhớ mở rộng qua Cổng A20, chuyển từ chế độ thực sang chế độ được bảo vệ, v.v.) để đặt môi trường phù hợp cho mã "hiện đại" để chạy, tải mã này vào bộ nhớ và sau đó "nhảy" "Với nó. Mã được đề cập ở trên có thể là nhân hệ điều hành trong trường hợp chương trình bộ nạp khởi động hoặc hệ thống multiboot (ví dụ GRUB, LILO) trong trường hợp tải chuỗi. Dù sao, cuối cùng, một số mã thực thi để chạy là cần thiết cho phương tiện để khởi động.

Những gì tiếp theo (ví dụ giải nén kernel, gắn ramdisk ban đầu, tải mô-đun trong trường hợp hạt nhân lai hoặc máy chủ bắt đầu cho microkernels, v.v.) không liên quan chặt chẽ từ quan điểm của tổ chức phương tiện có thể khởi động.

Lưu ý: Những gì tôi mô tả là quá trình cho đĩa cứng và đĩa mềm. Trường hợp của đĩa CD rất giống nhau mặc dù. Ngoài ra, để có thể khởi động, CD phải tuân theo thông số kỹ thuật của El-Torito, đây là phần mở rộng của tiêu chuẩn ISO9660. Ban đầu, CD được yêu cầu phải chứa hình ảnh đĩa mềm có thể khởi động (thực tế là hình ảnh 1,44M), được BIOS coi là đĩa mềm và được khởi động tương ứng. Phần cứng gần đây hơn cho phép khởi động trực tiếp mà không cần cách giải quyết này.


9

Điều gì làm cho một phương tiện có khả năng khởi động là

  • các tiêu chuẩn cho phương tiện có thể khởi động xác định những thứ như:
    • nền tảng phần cứng mà bộ tải khởi động được áp dụng.
    • vị trí trên phương tiện truyền thông của phần mềm khởi động.
    • quá trình mà phần mềm đó sẽ được tải.
  • thực hiện các tiêu chuẩn đó trong phần cứng mà phương tiện truyền thông được gắn vào.

Wikepedia có một bài viết mô tả quá trình khởi động.

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.