2009-07-14 39 views
10

Tôi đã trải qua các chi tiết của quá trình khởi động Linux. Điều này được hiểu rằng bộ tải khởi động chính nằm trong hình ảnh 512 byte (mã chương trình + bảng phân vùng). 510 byte bao gồm mã thực thi, thông báo lỗi và thông tin bảng phân vùng. Và 2 byte cuối cùng chứa số ma thuật 0xAA55. Nó được đề cập rằng "Số ma thuật phục vụ như một kiểm tra xác nhận của MBR". Bây giờ kiểm tra xác nhận là gì? Tôi đoán là một số loại kiểm tra như CRC để đảm bảo rằng MBR không bị hỏng.Vai trò của số Magic trong tải khởi động trong Linux là gì?

Tôi đã tìm kiếm trên mạng và không có giải thích về số ma thuật và hoạt động của nó. Nhưng điều thú vị là ngay cả Microsoft OS 'cũng có số ma thuật trong bộ tải khởi động của họ. Ai đó có thể khai sáng cho chúng ta về vấn đề này ???????????????

+0

này thuộc về serverfault HOẶC superuser – hayalci

Trả lời

14

Hi Tôi hy vọng điều này sẽ giúp bạn:

http://en.wikibooks.org/wiki/X86_Assembly/Bootloaders

http://en.wikipedia.org/wiki/Extended_boot_record

"Chữ ký 0xAA55 là hai byte cuối cùng của khu vực đầu tiên của của bạn bootdisk (bootector/Master Boot Record/MBR) Nếu nó là 0xAA55, thì BIOS sẽ thử khởi động hệ thống.Nếu nó không tìm thấy (nó bị cắt xén hoặc 0x0000), bạn sẽ nhận được thông báo lỗi từ BIOS của bạn rằng nó không tìm thấy đĩa khởi động (hoặc hệ thống thử khởi động đĩa tiếp theo). Chữ ký này được thể hiện (dạng nhị phân) là 0b1010101001010101. mẫu bit xen kẽ được cho là bảo vệ chống lại một số lỗi nhất định (ổ đĩa hoặc bộ điều khiển).

Tất nhiên, đây là một i386ism (cũng xuất hiện trên amd64 mà tôi tin). Rất nhiều kiến ​​trúc khác có thể mất tiếp cận khác nhau."

http://www.mail-archive.com/[email protected]/msg18029.html

0

một tìm kiếm nhanh chóng bật lên này: http://en.wikipedia.org/wiki/Master_boot_record

có vẻ như nó chỉ là một con số kỳ diệu để đánh dấu sự kết thúc của mbr

+1

MBR là chính xác dài 512 byte. Tại sao ai đó nên muốn đánh dấu sự kết thúc của nó? Không, con số kỳ diệu là một chỉ báo cho phép một hệ điều hành, ví dụ, để cho biết liệu có khả năng có một bảng phân vùng MS-DOS. – Sven

8

Không phải là một tổng kiểm tra, nhưng nhiều hơn một chữ ký. Nó cung cấp một số bằng chứng đơn giản rằng một số MBR hiện diện.

0xAA55 cũng là một mô hình xen kẽ bit: 1010101001010101

Nó thường được sử dụng để giúp xác định xem bạn đang ở trên một hệ thống ít về cuối nhỏ hoặc lớn về cuối nhỏ, bởi vì nó sẽ đọc là một trong hai AA55 hoặc 55AA. Tôi nghi ngờ đó là một phần lý do tại sao nó được đặt vào cuối MBR.

Xem thêm này Wikipedia article

Các vấn đề liên quan