Jak działają sektory rozruchowe i wiele dysków?


17

Nie do końca rozumiem koncepcję sektora rozruchowego, miałem nadzieję, że ktoś może mi to wyjaśnić.

Jeśli masz dwa dyski twarde z zainstalowanym systemem operacyjnym, czy każdy dysk ma własny sektor rozruchowy? Czy każdy dysk potrzebuje partycji MBR?

Mam Linuksa i Windowsa na dwóch osobnych dyskach. Miałem problemy podczas instalowania Linuksa i gruba, a teraz w końcu zdecydowałem się użyć bootloadera Windows do uruchomienia. Czy system Windows pozbyłby się gruba, gdy użyłem / fixmbr, czy też pozostaje on w sektorze rozruchowym drugiego dysku?

Odpowiedzi:


18

Odpowiedź Wila jest niejasna, ale technicznie nieprawidłowa. Tak, dysk nie potrzebuje MBR. Bez niego nie będzie można uruchomić systemu z tego dysku i nie będzie można tworzyć partycji na tym dysku. ALE...

Termin Główny rekord rozruchowy jest często używany w odniesieniu do dwóch rzeczy - jest to właściwie tylko pierwsza i często niewłaściwie stosowana do drugiej:

  1. Lokalizacja, w szczególności pierwszy 512-bajtowy sektor partycjonowanego urządzenia do przechowywania danych („sektor LBA 0”). Ta lokalizacja zawiera pierwsze 440 bajtów kodu modułu ładującego rozruchu (moduł ładujący pierwszego etapu) i tabelę partycji podstawowej. Zobacz artykuł MBR Wikipedii, aby uzyskać szczegółowe informacje na temat struktury typowego MBR.

  2. Kod modułu ładującego przechowywany w tej lokalizacji. W systemie BIOS jest to pierwszy kod wykonywany podczas uruchamiania systemu BIOS z dysku. Zobacz MBR i ładowanie systemu oraz moduł ładujący pierwszego etapu : w systemach i386 kod ten ładuje moduł ładujący drugiego stopnia , zapisany w rekordzie rozruchowym woluminu aktywnej partycji, który faktycznie uruchamia system operacyjny.

Volume Boot Record lub sektor rozruchowy partycji jest pierwszy sektor partycji i jest, gdy system operacyjny zainstalowany na tej partycji będzie przechowywać swój główny kod ładowania. VBR jest również używany w urządzeniach do przechowywania danych niepodzielonych na partycje (dyskietki, dyski flash USB, a nawet dyski twarde używane w rolach niepartycjonowanych).

Systemy wielokrotnego rozruchu używają menedżera rozruchu (np. Grub). Menedżer rozruchu umieszcza własny kod programu ładującego w MBR i udostępnia menu, z którego użytkownik może wybrać system operacyjny do uruchomienia. (Pod względem technicznym użytkownik wybiera, który moduł ładujący drugiego etapu ma użyć).


Tak więc, aby bezpośrednio odpowiedzieć na twoje pytania:

  • Każdy z dwóch dysków twardych z zainstalowanym systemem operacyjnym będzie miał swój własny MBR .

    • Oba MBR będą zawierać co najmniej jedną partycję.
    • Każda partycja na tych dyskach twardych będzie miała własną VBR. Partycje zawierające instalacje systemu operacyjnego będą przechowywać swoje moduły ładujące drugiego stopnia w tych VBR; wszelkie partycje, które są tylko danymi, (prawdopodobnie) nie będą miały poprawnego kodu rozruchowego w VBR.
    • Jeśli ten system uruchomi się , przynajmniej jeden z tych MBR-ów będzie zawierał prawidłowy moduł ładujący rozruchu pierwszego etapu, ale jest to konieczne tylko dla dysku, z którego BIOS próbuje się uruchomić.

  • Kiedy zainstalowałeś Linuksa na drugim dysku, prawdopodobnie zapisał on program ładujący pierwszego stopnia Gruba do MBR dysku Windows. To może być także napisany pierwszego etapu programu rozruchowego w MBR własnego napędu, ale jeśli BIOS nigdy nie podejmuje próbę rozruchu z dysku Linux, nigdy nie zawiadomienie. Podobnie, gdy używasz / fixmbr, Windows przepisuje program ładujący rozruchu pierwszego etapu na MBR dysku systemowego.

    • Naprawdę nie wiem, czy narzędzie Bootrec.exe Win-7 zapisuje również w MBR innych dysków. Prawdopodobnie ma taką możliwość, ale prawdopodobnie nie jest to domyślna akcja.
    • Nie wiem też, czy instalator Ubuntu 9.04 domyślnie zainstalowałby Grub na MBR obu dysków. W razie potrzeby można to zrobić ręcznie. W niektórych sytuacjach byłoby dobrze - gdybyś odłączył dysk Windows i próbował uruchomić z dysku Linux, nie uruchomiłbyś się, gdyby nie był obecny kod rozruchowy Gruba.

Dzięki za bardzo szczegółową odpowiedź: -) ... Zawsze zastanawiałem się, dlaczego MBR był używany w dwóch różnych znaczeniach, a teraz wiem, haha
GiH

1
@GiH nie ma za co. dziękuję za zadanie tego pytania; może służyć jako podstawowe wprowadzenie do MBR-ów i programów ładujących dla przyszłych czytelników.
quack quixote

czy masz źródło dla „Termin główny rekord rozruchowy jest często używany w odniesieniu do dwóch rzeczy - jest to właściwie tylko pierwsza i często źle stosowana do drugiej:„ Jestem pewien, że ma rację i przeczytałem ją gdzieś .. ale ciekawe, jeśli masz na to źródło. Ponadto, ponieważ tutaj jest termin na bootloader, czy istnieje termin na część MBR inną niż bootloader? A jeśli chodzi o GPT, czy GPT obejmuje moduł ładujący i tablicę partycji, a jaka terminologia rozróżnia GPT od tablicy partycji?
barlop

3

Dysk nie wymaga MBR, jednak bez niego nie będzie można uruchomić systemu z tego dysku.

Po pierwsze, komputer uruchomi się na dowolnym dysku, na który system BIOS ma otrzymać polecenie. To jedyny dysk, który wymaga MBR (dotyczy to komputerów opartych na systemie BIOS, np. Większość na rynku, a nie EFI).

Gdy MBR w zasadzie powie maszynie, że dysk można uruchomić (i nie zwróci przerażającego komunikatu „Brak dysku lub błędu dysku” lub podobnego komunikatu), program ładujący zostanie następnie załadowany.

Po załadowaniu programu ładującego będzie on zasadniczo postępował zgodnie z instrukcją, może to być ładowanie innych programów ładujących (na przykład programu ładującego Gruba z programem ładującym system Windows) lub systemów operacyjnych - na przykład możesz wybrać dysk / partycję.

Tak więc wystarczy mieć MBR (i Bootloader) na rzeczywistym dysku rozruchowym.


Ok, ale czy to możliwe, że oba moje dyski mają MBR, ponieważ wcześniej działał grub? Zasadniczo próbuję dowiedzieć się, czy mój dysk Linux marnuje miejsce na MBR, ponieważ nie używam grub, lub gdy instalowałem program ładujący Windows, czy pozbyłem się grub i MBR? Przepraszam, jeśli moje pytanie jest mylące ...
GiH

1
Możesz mieć tylko jeden MBR, ponieważ to nie tyle plik, co lokalizacja - jeśli zainstalowałeś inny system operacyjny na innym dysku, możliwe, że nadal masz go na drugim dysku, ale jest on tak nieznacznie mały, Naprawdę nie martwiłbym się (mówimy o kilkuset bajtach (myślę, że max to ~ 500), jeśli to na dysku z wieloma miliardami bajtów!). Możliwe jednak, że nadal masz pliki grub - ale znowu jest to bardzo małe.
William Hilsum,

3
@GiH, re: marnowanie miejsca - nie, MBR udostępnia również tablicę partycji dla dysku, dzięki czemu miejsce jest zarezerwowane (nieużywane przez system operacyjny), niezależnie od tego, czy zawiera prawidłowy rekord rozruchowy, czy nie. możesz to potraktować jako niewielki narzut na swoje systemy plików; w porównaniu do współczesnych pojemności dysków twardych ilość „zmarnowanej” przestrzeni jest zbyt mała, aby się o nią martwić.
quack quixote

1

MBR (Master Boot Record) to pierwszy sektor, na którym można pisać. Ma stałą lokalizację i rozmiar (bardzo mały), więc możesz mieć tylko jeden MBR na dysk.

MBR to pierwszy sektor odczytywany w sekwencji rozruchowej po załadowaniu bios. Można go użyć do uruchomienia jednego systemu operacyjnego lub załadowania programu ładującego, takiego jak grub lub lilo, w celu wybrania systemu do załadowania.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.