Làm thế nào để các ngành khởi động và nhiều ổ đĩa hoạt động?


17

Tôi không hoàn toàn hiểu khái niệm về một khu vực khởi động, tôi đã hy vọng ai đó có thể làm rõ điều này cho tôi.

Nếu bạn có hai ổ đĩa cứng, với một hệ điều hành được cài đặt trên mỗi ổ đĩa, mỗi ổ đĩa có khu vực khởi động riêng không? Có phải mỗi ổ đĩa cần một phân vùng MBR?

Tôi đã có Linux và Windows trên hai ổ đĩa riêng biệt. Tôi đã gặp sự cố khi cài đặt Linux và grub, và cuối cùng tôi đã quyết định sử dụng bộ tải khởi động Windows để khởi động. Windows sẽ thoát khỏi grub khi tôi sử dụng / fixmbr hay nó vẫn ở đó trên khu vực khởi động của ổ đĩa khác?

Câu trả lời:


17

Câu trả lời của Wil mơ hồ đúng, nhưng không chính xác về mặt kỹ thuật. Có, một ổ đĩa không cần MBR. Không có ai, bạn sẽ không thể khởi động từ ổ đĩa đó và bạn sẽ không thể tạo phân vùng trên ổ đĩa đó. NHƯNG...

Thuật ngữ Master Boot Record thường được sử dụng để chỉ hai điều - nó chỉ đúng thứ nhất và thường bị áp dụng sai cho thứ hai:

  1. Cụ thể là một vị trí, khu vực 512 byte đầu tiên của thiết bị lưu trữ dữ liệu được phân vùng ("LBA sector 0"). Vị trí này chứa 440 byte mã bộ tải khởi động đầu tiên (bộ tải khởi động giai đoạn đầu tiên) và bảng phân vùng chính. Xem bài viết MBR của Wikipedia để biết chi tiết về cấu trúc của MBR điển hình.

  2. Mã bộ tải khởi động được lưu trữ ở vị trí đó. Trong hệ thống BIOS, đây là mã đầu tiên được thực thi khi BIOS khởi động từ ổ đĩa. Xem MBR và bootstrapping hệ thốngbộ tải khởi động giai đoạn đầu : trên các hệ thống i386, chuỗi mã này tải bộ tải khởi động giai đoạn hai , được lưu trữ trên bản ghi khởi động âm lượng của phân vùng hoạt động, khởi động thực tế của hệ điều hành.

Các Tập Boot Record hoặc partition boot sector là sector đầu tiên của một phân vùng và là nơi mà một hệ điều hành được cài đặt vào phân vùng đó sẽ lưu trữ mã bootstrapping chính của nó. VBR cũng được sử dụng trên các thiết bị lưu trữ dữ liệu không được phân vùng (đĩa mềm, ổ flash USB hoặc thậm chí cả ổ cứng được sử dụng trong các vai trò không được phân vùng).

Các hệ thống khởi động Mulitple sử dụng trình quản lý khởi động (ví dụ: Grub). Trình quản lý khởi động đặt mã bộ nạp khởi động của riêng nó vào MBR và cung cấp menu từ đó người dùng có thể chọn HĐH để khởi động. (Về mặt kỹ thuật, người dùng đang chọn sử dụng bộ tải khởi động giai đoạn hai.)


Vì vậy, để trả lời câu hỏi của bạn trực tiếp:

  • Hai ổ cứng với một hệ điều hành được cài đặt trên mỗi ổ sẽ có MBR riêng .

    • Cả MBR sẽ chứa ít nhất một phân vùng.
    • Mỗi phân vùng trên các ổ cứng đó sẽ có VBR riêng. Các phân vùng có chứa các cài đặt hệ điều hành sẽ lưu trữ bộ tải khởi động giai đoạn hai của chúng trong các VBR đó; bất kỳ phân vùng nào chỉ có dữ liệu sẽ (có thể) không có mã khởi động hợp lệ trong VBR của chúng.
    • Nếu hệ thống này khởi động, ít nhất một trong số các MBR đó sẽ chứa bộ tải khởi động giai đoạn đầu hợp lệ, nhưng chỉ cần thiết cho ổ đĩa mà BIOS cố gắng khởi động.

  • Khi bạn cài đặt Linux vào ổ đĩa thứ hai, có lẽ nó đã ghi bộ tải khởi động giai đoạn đầu của Grub vào MBR của ổ đĩa Windows. Nó có thể đã cũng viết bộ nạp khởi động đầu tiên giai đoạn đến MBR của ổ đĩa riêng của mình, nhưng nếu BIOS không bao giờ cố gắng để khởi động từ ổ đĩa Linux, bạn sẽ không bao giờ thông báo. Tương tự, khi bạn sử dụng / fixmbr, Windows viết lại bộ tải khởi động giai đoạn đầu tiên trên MBR của ổ đĩa hệ thống.

    • Tôi thực sự không biết liệu tiện ích Bootrec.exe của Win-7 cũng sẽ ghi vào MBR của các ổ đĩa khác hay không. Nó có thể có khả năng để làm như vậy, nhưng có lẽ không phải là hành động mặc định.
    • Tôi cũng không biết nếu trình cài đặt của Ubuntu 9.04 sẽ cài đặt Grub vào MBR của cả hai ổ đĩa theo mặc định. Có thể làm như vậy bằng tay nếu muốn. Trong một số trường hợp, đó sẽ là một điều tốt - nếu bạn ngắt kết nối ổ đĩa Windows và cố gắng khởi động từ ổ đĩa Linux, bạn sẽ không khởi động nếu không có mã khởi động giai đoạn đầu của Grub.

Cảm ơn câu trả lời rất chi tiết đó: -) ... Tôi đã luôn tự hỏi tại sao MBR lại được sử dụng cho hai ý nghĩa khác nhau, và bây giờ tôi biết haha
GiH

1
@GiH bạn được chào đón. cảm ơn vì đã hỏi câu hỏi này; nó có thể phục vụ như một phần giới thiệu cơ bản cho MBR & bộ nạp khởi động cho những người đọc trong tương lai.
quack quixote

bạn có nguồn nào cho "Thuật ngữ Master Boot Record thường được sử dụng để chỉ hai điều không - nó chỉ đúng thứ nhất và thường bị áp dụng sai cho thứ hai:" Tôi chắc chắn rằng nó đúng và tôi đã đọc nó ở đâu đó .. nhưng thú vị nếu bạn có một nguồn cho điều đó. Ngoài ra, vì đây là một thuật ngữ cho bộ tải khởi động, nên có một thuật ngữ cho phần không phải bộ tải khởi động của MBR không? Và khi nói đến GPT, GPT có bao gồm bộ tải khởi động và bảng phân vùng không, và thuật ngữ nào phân biệt giữa GPT và bảng phân vùng?
barlop

3

Một ổ đĩa không cần MBR, tuy nhiên, không có một ổ đĩa, bạn sẽ không thể khởi động từ ổ đĩa đó.

Để bắt đầu, máy sẽ khởi động vào bất kỳ đĩa nào mà BIOS được thông báo. Đó là đĩa duy nhất cần MBR (Đây là trên các máy dựa trên BIOS, ví dụ như hầu hết trên thị trường, không phải EFI).

Có MBR về cơ bản sẽ báo cho máy biết rằng ổ đĩa có khả năng khởi động (và không trả về "Không có lỗi đĩa hoặc lỗi" hoặc thông báo tương tự), bộ tải khởi động sẽ được tải.

Khi bộ tải khởi động được tải, về cơ bản nó sẽ thực hiện những gì nó được hướng dẫn, điều này có thể là để tải các bộ tải khởi động khác (Ví dụ: Grub tải bộ tải khởi động Windows) hoặc hệ điều hành - Ví dụ: bạn có thể chọn ổ đĩa / phân vùng.

Vì vậy, bạn chỉ cần có MBR (và Bootloader) trên ổ đĩa khởi động thực tế.


Ok, nhưng có thể là cả hai ổ đĩa của tôi đều có MBR vì tôi đã làm việc trước đó không? Về cơ bản những gì tôi đang cố gắng tìm hiểu là nếu ổ đĩa Linux của tôi đang lãng phí dung lượng trên MBR vì tôi không sử dụng grub hoặc khi tôi cài đặt bộ tải khởi động Windows, nó có thoát khỏi grub và MBR không? Xin lỗi nếu câu hỏi của tôi khó hiểu ...
GiH

1
Bạn chỉ có thể có một MBR vì nó không phải là một tệp, mà là một vị trí - Nếu bạn đã cài đặt một hệ điều hành khác trên một ổ đĩa khác, có thể bạn vẫn có nó trên ổ đĩa khác, nhưng nó rất nhỏ, Tôi thực sự sẽ không lo lắng (chúng ta đang nói về vài trăm byte (tôi nghĩ tối đa là ~ 500), nếu đó, trên một ổ đĩa có nhiều tỷ byte!). Tuy nhiên, có thể bạn vẫn có các tệp grub - nhưng, một lần nữa, nó rất nhỏ.
William Hilsum

3
@GiH, re: lãng phí dung lượng - không, MBR cũng cung cấp bảng phân vùng cho ổ đĩa, để không gian được dành riêng (không được HĐH sử dụng) cho dù nó có chứa bản ghi khởi động hợp lệ hay không. bạn có thể nghĩ về nó như một lượng nhỏ chi phí cho các hệ thống tập tin của bạn; so với dung lượng ổ cứng hiện đại, dung lượng "lãng phí" là quá nhỏ để lo lắng.
quack quixote

1

MBR (Master Boot Record) là khu vực đầu tiên có thể viết trên đó. Nó có một vị trí và kích thước cố định (rất nhỏ), vì vậy bạn chỉ có thể có một MBR bằng đĩa.

MBR là khu vực đầu tiên đọc theo trình tự khởi động sau khi bios được tải. Nó có thể được sử dụng để khởi động một hệ điều hành hoặc tải bộ tải khởi động như grub hoặc lilo để chọn hệ thống nào sẽ tải.

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.