- MBR to pierwszy sektor dysku (512 bajtów) zawierający kod rozruchowy, tablicę partycji i podpis 0x55AA.
- Proces rozruchu BIOS+MBR opiera się na ładowaniu łańcuchowym: BIOS ładuje MBR, który lokalizuje aktywną partycję, a następnie przekazuje kontrolę do modułu ładującego system operacyjny.
- MBR ogranicza dyski do 2 TiB (z sektorami logicznymi o rozmiarze 512 bajtów) i pozwala na istnienie tylko czterech partycji podstawowych, w porównaniu z zaletami GPT i UEFI.
- Narzędzia takie jak dd, diskpart, PowerShell i bootrec umożliwiają tworzenie kopii, konwersję i naprawę głównego rekordu rozruchowego (MBR) oraz menedżera rozruchu w systemach Windows i Linux.
Omawiając MBR, GPT, BIOS i UEFI , można się pogubić, ponieważ mieszają one pojęcia związane ze sprzętem, oprogramowaniem układowym, partycjonowaniem dysku i menedżerami rozruchu. Jednak dogłębne zrozumienie głównego rekordu rozruchowego (MBR) jest kluczowe dla zrozumienia, jak komputer się uruchamia, dlaczego system Windows czasami „znika” po zainstalowaniu Linuksa i jakie są ograniczenia dysku twardego.
W tym przewodniku szczegółowo i prostym językiem dowiesz się, czym jest MBR, jak jest zbudowany, jaką rolę odgrywa w tym wszystkim BIOS, czym różni się od GPT i UEFI, jakie typowe problemy powoduje, jak go naprawić w systemach Windows i Linux oraz jak działa GRUB i podwójny rozruch. Zobaczysz również praktyczne przykłady poleceń (diskpart, PowerShell, dd itp.) i rzeczywiste scenariusze, takie jak typowe „Nie można zainstalować systemu Windows na tym dysku; tablica partycji to MBR”.
Czym jest MBR i gdzie się znajduje?
MBR (Master Boot Record) to pierwszy fizyczny sektor dysku twardego lub dysku SSD partycjonowanego zgodnie z klasycznym schematem BIOS-u. Ten pierwszy sektor ma zazwyczaj rozmiar 512 bajtów i jest przechowywany w pozycji CHS (cylinder 0, głowica 0, sektor 1) lub, zgodnie z nowoczesną terminologią LBA, w sektorze 0.
Ten sektor nie należy do żadnej konkretnej partycji: to specjalny obszar zawierający minimalny kod niezbędny do uruchomienia systemu oraz podstawowe informacje o podziale dysku. Nawet jeśli usuniesz lub sformatujesz partycję, rekord MBR pozostanie nienaruszony, chyba że zostanie celowo nadpisany.
W praktyce, mówiąc o MBR, prawie zawsze mamy na myśli początkowy 512-bajtowy sektor klasycznego dysku w stylu PC, choć termin ten jest czasem używany również w odniesieniu do sektora rozruchowego niektórych partycji w architekturach zgodnych ze standardem IBM.
Struktura wewnętrzna sektora MBR
W obrębie tych 512 bajtów sektora 0 nie wszystko jest kodem. Klasyczny projekt MBR rezerwuje trzy odrębne strefy :
- 446 początkowych bajtów:zawierają główny kod rozruchowy, niewielki program w języku maszynowym (tryb rzeczywisty x86), który uruchamia się natychmiast po załadowaniu MBR do pamięci.
- następne 64 bajty:forma tabela partycji, składający się z 4 wpisów po 16 bajtów, z których każdy opisuje partycję podstawową.
- ostatnie 2 bajty:oni utrzymują Podpis MBR, magiczna wartość 0x55AA, której BIOS używa do sprawdzenia, czy odczytany sektor jest prawidłowym sektorem rozruchowym.
W niektórych systemach w obszarze kodu, a konkretnie pomiędzy bajtami 440 i 446 , przechowywany jest również 4-bajtowy podpis dysku (ID dysku lub podpis dysku) . Systemy Windows NT/2000 i nowsze oraz Linux (od jądra 2.6 wzwyż) używają tego podpisu do identyfikacji konkretnego dysku i kojarzenia go z literami dysków, woluminami rozruchowymi itp.
Format każdego wpisu w tabeli partycji
Każdy z czterech 16-bajtowych wpisów w tabeli partycji MBR zawiera dane takie jak:
- Estado (bajt 0x00): wskazuje, czy partycja jest aktywna/rozruchowa.
- Początkowy CHS (0x01): cylinder/głowica/sektor pierwszego sektora partycji.
- Typ partycji (0x04): definiuje typ (FAT32, NTFS, Linux, rozszerzony itd.).
- Ostateczny egzamin CHS (0x05): ostatni adres CHS partycji.
- Początkowy LBA (0x08, 4 bajty): sektor logiczny, w którym zaczyna się partycja.
- Długość w sektorach (0x0C, 4 bajty): całkowita liczba sektorów.
Zgodnie z konwencją, w rekordzie MBR znajdują się tylko cztery wpisy podstawowe . Aby obejść to ograniczenie, opracowano partycje rozszerzone : jeden z wpisów wskazuje na specjalną partycję, która łączy więcej deskryptorów rozproszonych na dysku, umożliwiając tworzenie wielu partycji logicznych.
W jaki sposób BIOS ingeruje w rozruch z MBR?

W klasycznym komputerze PC z systemem BIOS i schematem MBR sekwencja rozruchu jest, w pewnym uproszczeniu, następująca:
- Po włączeniu, Procesor uruchamia BIOS, który jest przechowywany jako firmware na chipie na płycie głównej (EPROM, flash, itp.).
- BIOS wykonuje samokontrola uruchamiania (POST), sprawdź pamięć RAM (rodzaje pamięci komputera), procesora, podstawowych urządzeń i odczytuje konfigurację zapisaną w pamięci CMOS.
- Następnie, zgodnie z skonfigurowaną kolejnością rozruchu, BIOS próbuje odczytać pierwszy sektor (MBR) pierwszego prawidłowego dysku i kopiuje go do adresu pamięci fizycznej 0x7C00.
- Sprawdź, czy ostatnie dwa bajty to 0x55AA; jeśli Podpis MBR jest poprawny, przekazuje kontrolę temu kodowi (przeskakuje do 0x7C00).
- Kod MBR bada tabela partycji w poszukiwaniu partycja oznaczona jako aktywna (flaga startowa).
- Po zlokalizowaniu załaduj Rekord rozruchowy woluminu (VBR) tej partycji w pamięci i przekazuje jej kontrolę. To tutaj menedżer rozruchu systemu operacyjnego (NTLDR, BOOTMGR, GRUB, LILO, itp.).
Ten łańcuchowy transfer kontroli nazywany jest ładowaniem łańcuchowym : MBR ładuje sektor rozruchowy aktywnej partycji, a ten sektor z kolei ładuje większy kod, który wie, jak uruchomić system operacyjny lub wyświetlić menu z kilkoma systemami.
Kod MBR jest niezwykle ograniczony: musi zmieścić się w około 440 efektywnych bajtach (reszta jest zarezerwowana na tablicę partycji, podpis i ewentualne identyfikatory), więc może wykonywać tylko kilka bardzo specyficznych zadań: wyświetlać prosty komunikat w przypadku błędu, sprawdzać cztery wpisy partycji, aktywować linię A20, odczytywać dyski za pomocą INT 13h BIOS-u… i niewiele więcej. Wiele implementacji przenosi kod MBR z adresu 0x7C00 na inny adres (na przykład 0x7A00), aby zwolnić obszar, w którym mają zostać załadowane kolejne sektory rozruchowe.
Ograniczenia techniczne MBR
Mimo że przez dziesięciolecia MBR był standardem, ma on istotne ograniczenia , które są dziś wyraźnie widoczne:
- Liczba partycji podstawowychJak widać, są tylko 4 wpisy. Można to naprawić za pomocą partycji rozszerzonych, ale to prymitywne obejście.
- Ograniczenie rozmiaruTabela MBR wykorzystuje 32-bitowe adresy LBA do wskazania sektora początkowego i całkowitej liczby sektorów w każdej partycji. Pozwala to na maksymalnie 232 sektory adresowalny.
Jeżeli rozmiar sektora logicznego wynosi 512 bajtów , maksymalny obszar adresowalny wynosi:
2 32 × 512 bajtów ≈ 2 TiB pojemności na dysk MBR (w rzeczywistości trochę mniej, ponieważ jeden sektor jest wykorzystywany do sterowania).
Gdy dyski zaczęły używać fizycznych sektorów o rozmiarze 4096 bajtów (4 KB) , teoretyczna granica schematu MBR stała się następująca:
2 32 × 4096 bajtów ≈ 16 TiB
Problem polega na tym, że wiele dysków Advanced Format logicznie emuluje sektory 512-bajtowe ( 512e ) w celu zapewnienia kompatybilności, przez co większość systemów nadal osiąga praktyczny limit 2 TiB. Niektóre oprogramowania sprzętowe dysków lub adaptery USB umożliwiają udostępnianie 4096-bajtowych sektorów logicznych lub przeprowadzanie translacji wewnętrznej, ale nie jest to powszechne i może powodować brak kompatybilności.
Teoretycznie, przy jeszcze większych sektorach (na przykład 65536 bajtów), przy użyciu MBR można osiągnąć nawet 256 TiB , ale jest to raczej scenariusz akademicki niż cokolwiek innego.
MBR kontra GPT i jego związek z BIOS-em/UEFI
Aby pokonać te ograniczenia, zdefiniowano tablicę partycji GUID (GPT) , która jest częścią specyfikacji UEFI. Kluczowe różnice między MBR a GPT to:
- PojemnośćGPT obsługuje dyski o pojemności wielu terabajtów, a nawet eksabajtów, bez sztywnych ograniczeń 32 bitów.
- Liczba partycji:w systemie Windows GPT pozwala na maksymalnie Imprezy 128 bez uciekania się do partycji rozszerzonych. Teoretycznie można zdefiniować ich znacznie więcej.
- NadmiernośćGPT utrzymuje kopie tabeli partycji w kilku lokalizacjach na dysku i przechowuje sumy kontrolne; jeśli jedna z nich ulegnie uszkodzeniu, można ją odtworzyć na podstawie innej.
- zgodność:na dyskach GPT a Ochrona MBR w sektorze 0, aby starsze narzędzia rozpoznające jedynie MBR nie myślały, że dysk jest pusty.
W nowoczesnych systemach z UEFI oprogramowanie układowe nie uruchamia się już poprzez bezmyślne odczytanie rekordu MBR i wykonanie jego kodu. Zamiast tego rozumie GPT i potrafi odczytywać systemy plików, takie jak FAT, na specjalnej partycji zwanej partycją systemową EFI (ESP) . Stamtąd ładuje pliki wykonywalne EFI (na przykład BOOTMGFW.EFI w systemie Windows lub grubx64.efi w systemie Linux). Klasyczny rekord MBR nie jest już głównym komponentem rozruchowym, choć może nadal istnieć ze względu na kompatybilność.
MBR, menedżery rozruchu i GRUB: kto tu rządzi?
W środowisku BIOS+MBR, MBR zazwyczaj zawiera minimalny moduł ładujący , który:
- Znajdź aktywną partycję.
- Ładuje swój sektor rozruchowy (VBR).
- VBR ładuje cały kod menedżera rozruchu systemu operacyjnego.
Bardziej zaawansowane menedżery rozruchu, takie jak GRUB , często zastępują standardowy kod MBR własnym kodem, który potrafi:
- pokaż menu z wieloma systemami operacyjnymi.
- Załaduj dodatkowe części samego siebie znajdujące się na "pustych" ścieżkach dysku lub w plikach.
- Załadunek łańcuchowy.
Dlatego instalując Linuksa w trybie BIOS na dysku MBR, na którym już znajdował się system Windows, instalator zazwyczaj zapisuje własny kod MBR . Ten nowy MBR nie przechodzi bezpośrednio do VBR partycji Windows, lecz ładuje jądro GRUB , które wyświetla menu, z którego można wybrać, czy uruchomić Linuksa, czy też włączyć bootloader systemu Windows.
W UEFI sytuacja się zmienia: oprogramowanie układowe bezpośrednio ładuje plik EFI z partycji ESP, a GRUB jest tam instalowany jako kolejny plik binarny EFI. Koncepcja „zastąpienia MBR” traci na znaczeniu, ponieważ proces rozruchu nie opiera się już wyłącznie na tym 512-bajtowym sektorze.
MBR, Windows, Linux i podwójny rozruch
Jeśli na tym samym komputerze łączone są systemy Windows i Linux , należy wziąć pod uwagę kilka czynników:
- Jeśli oprogramowanie układowe jest w starszy tryb BIOS-u lub w trybie UEFI.
- Jeśli dysk jest podzielony na partycje jako MBR lub GPT.
- Gdzie jest zainstalowany? główny menedżer rozruchu (MBR, ESP, inna płyta…).
Na przykład, na komputerze z UEFI i dyskiem GPT, na którym zainstalowany jest system Windows, typowa instalacja nowoczesnej dystrybucji Linuksa tworzy lub wykorzystuje istniejący system ESP i dodaje własny plik binarny EFI (GRUB). Następnie rejestruje wpis rozruchowy UEFI o nazwie „Ubuntu”, „Manjaro” itd. Oprogramowanie układowe wyświetli oba wpisy: wpis Menedżera rozruchu systemu Windows i wpis GRUB . GRUB z kolei może oferować opcję łańcuchowego ładowania systemu Windows w swoim menu.
Jednak w systemach z BIOS-em i MBR dystrybucja zazwyczaj instaluje GRUB w MBR pierwszego dysku . Instalator wykrywa system Windows, tworzy wpis w menu GRUB i od tego momentu sterowanie przechodzi przez GRUB przy każdym uruchomieniu komputera. Jeśli usuniesz Linuksa, a MBR nadal będzie wskazywał na GRUB-a, który już nie istnieje, nie będziesz mógł uruchomić systemu Windows, dopóki nie naprawisz MBR za pomocą narzędzi Microsoft.
Tworzenie kopii zapasowej, przywracanie i usuwanie głównego rekordu startowego (MBR) w systemie Linux
W systemach UNIX i GNU/Linux bardzo często używa się polecenia `dd` do bezpośredniej manipulacji rekordem MBR z poziomu konsoli. Oto kilka typowych przykładów:
Utwórz kopię zapasową MBR
Aby zapisać tylko pierwszy sektor (klasyczny MBR):
dd if=/dev/xxx of=mbr.backup bs=512 count=1
Gdzie /dev/xxx będzie urządzeniem (sda, nvme0n1, itd.).
Jeśli chcesz zachować bezpieczeństwo i zapisać również pierwsze 63 sektory (na wypadek gdyby znajdowały się tam dane GPT lub dodatkowy kod rozruchowy):
dd if=/dev/xxx of=mbr_63.backup bs=512 count=63
Przywróć MBR
Jeśli musisz przywrócić poprzedni MBR z kopii zapasowej :
dd if=mbr.backup of=/dev/xxx bs=512 count=1
Usuń MBR ustawiając sektor na zero.
Aby całkowicie usunąć informacje MBR (uwaga: dysk pozostanie bez rozpoznawalnej tabeli partycji ):
dd if=/dev/zero of=/dev/xxx bs=512 count=1
Po wymazaniu dysk będzie wyglądał na „surowy” i konieczne będzie ponowne jego partycjonowanie (na MBR lub GPT) i utworzenie wszystkiego od nowa.
Napraw lub zapisz ponownie rekord MBR w systemie Windows
W starszych systemach Windows (DOS, Windows 9x) narzędzie fdisk /mbr przepisywało kod MBR bez wpływu na tablicę partycji. Nie było to dobrze udokumentowane, ale stanowiło szybką poprawkę na wiele wirusów rozruchowych.
W systemie Windows 2000 i nowszych , z poziomu konsoli odzyskiwania lub nowoczesnego środowiska instalacyjnego, narzędzie bootrec jest używane z następującymi poleceniami:
bootrec /FixMbrbootrec /FixBootbootrec /ScanOsbootrec /RebuildBcd
Ten zestaw poleceń zazwyczaj wystarcza do przywrócenia bootloadera systemu Windows do MBR lub ESP, w zależności od tego, czy uruchamiasz system w trybie BIOS, czy UEFI. Polecenie /FixMbr zapisuje nowy, ogólny kod MBR zgodny z systemem Windows bez zmiany partycji.
W niektórych wersjach (takich jak Vista lub niektóre edycje 10/11) może wystąpić błąd odmowy dostępu. bootrec /FixBootWymaga to dodatkowych kroków (przypisanie litery partycji EFI, użycie bcdboot itp.), ale ogólna idea jest taka sama: Ponowna instalacja menedżera rozruchu systemu Windows zastąpienie kodu GRUB, który może znajdować się w MBR lub rozruchowym EFI.
Sprawdzanie, konwertowanie i zarządzanie MBR/GPT w systemie Windows
Jeśli nie masz pewności, czy dysk jest sformatowany jako MBR czy GPT, możesz to sprawdzić za pomocą Zarządzania dyskami :
- Kliknij prawym przyciskiem myszy przycisk Start → Zarządzanie dyskami.
- Kliknij prawym przyciskiem myszy na „Dysk 0” → właściwości.
- rzęsa WolumenyTam zobaczysz, czy styl to Master Boot Record (MBR) czy GUID Partition Table (GPT).
Możesz również użyć diskpart lub PowerShell do konwersji między MBR a GPT , z jednym bardzo ważnym zastrzeżeniem: standardowa konwersja wymaga pustego dysku . Oznacza to, że będziesz musiał wcześniej usunąć wszystkie partycje lub skorzystać ze specjalnych narzędzi, które gwarantują bezstratną konwersję.
Konwersja za pomocą diskpart
W konsoli administratora :
diskpartlist disk(zapisuje numer rekordu)select disk <número>clean(usuń wszystkie partycje)- Aby przekonwertować format MBR na GPT:
convert gpt - Aby przekonwertować GPT na MBR:
convert mbr
Po zakończeniu dysk zostanie zainicjowany zgodnie z wybranym schematem i będzie można ponownie utworzyć partycje.
Konwersja za pomocą programu PowerShell
W programie PowerShell z uprawnieniami administratora :
- Lista albumów:
Get-Disk - Wyczyść partycje na dysku, który chcesz przekonwertować:
Clear-Disk -Number <DiskNumber> -RemoveData -Confirm:$false - Zainicjuj jako GPT:
Initialize-Disk -Number <DiskNumber> -PartitionStyle GPT - Lub zainicjuj jako MBR:
Initialize-Disk -Number <DiskNumber> -PartitionStyle MBR - Sprawdź wynik za pomocą
Get-Diski spójrz na kolumnę stylu partycji.
MBR czy GPT dla dysków SSD i nowoczesnych dysków twardych?
Odwiecznym pytaniem podczas inicjowania nowego dysku SSD jest, czy wybrać MBR czy GPT . Istnieje kilka dość rozsądnych zasad:
- Jeżeli album przekracza 2 TBGPT jest niemal obowiązkowe, ponieważ MBR jest niewystarczający.
- Jeśli Twój zespół korzysta UEFI i Windows 8 lub nowszyGPT jest lepszym rozwiązaniem i pozwala na korzystanie z zaawansowanych funkcji, takich jak bezpieczny rozruch, odzyskiwanie danych itp.
- Jeśli kontynuujesz Windows 7 lub wcześniejszylub w przypadku bardzo starego BIOS-u bez UEFI, bezpieczniej jest wybrać MBR, aby uniknąć braku kompatybilności podczas rozruchu.
Jeśli chodzi o samą wydajność dysku SSD, użycie MBR lub GPT nie zmienia prędkości odczytu/zapisu ; zmienia się natomiast kompatybilność, łatwość zarządzania partycjami i opcje rozruchu.
Typowe objawy uszkodzonego MBR i przydatne polecenia
Gdy kod lub tabela MBR ulegnie uszkodzeniu, łatwo można zobaczyć komunikaty takie jak:
- „Błąd nieprawidłowej tabeli partycji”.
- „Nieprawidłowy dysk rozruchowy” lub „Brak urządzenia rozruchowego”.
- Nie znaleziono wiadomości lub woluminów RAID.
Inne, bardziej fizyczne objawy, takie jak metaliczne dźwięki lub głośne klikanie dysku, wskazują raczej na awarię sprzętu niż na logiczny problem z MBR, choć czasami występują oba rodzaje problemów.
W systemie Linux tworzenie i zarządzanie partycjami na dyskach MBR lub GPT zazwyczaj wymaga użycia narzędzi takich jak fdisk , cfdisk lub parted . Spośród wszystkich opcji, które zazwyczaj pojawiają się w pytaniach egzaminacyjnych (fdisk, gdisk, parted, cfdisk itp.), ogólnym narzędziem do partycjonowania dysków MBR i GPT jest właśnie parted.
Jeśli chodzi o liczbę partycji, schemat MBR może obsłużyć co najmniej jedną partycję (jeśli dysk jest używany), a dzięki rozszerzonym partycjom, logicznie znacznie więcej niż cztery, mimo że fizycznie tabela zawiera tylko cztery podstawowe wpisy.
Zrozumienie, jak działa MBR, jego rozmiaru i ograniczeń partycji, jego relacji z BIOS-em, UEFI i GPT oraz tego, jak współpracuje z menedżerami, takimi jak GRUB i bootloader systemu Windows, pozwala na znacznie lepszą kontrolę nad instalacjami dualnymi, migracjami dysków, konwersjami MBR↔GPT, a przede wszystkim na odzyskiwanie komputerów, które „nagle” przestały się uruchamiać, bez konieczności przypadkowego formatowania.

