Są takie elementy w komputerze, które mają ogromne znaczenie, mimo że zajmują dosłownie kilka bajtów. Jednym z nich jest wpis partycji w MBR.
To właśnie te 16 bajtów decyduje o tym:
- czy system widzi dysk
- czy partycja się uruchomi
- czy dane są dostępne
Jeśli kiedykolwiek widziałeś komunikat typu „Missing operating system” albo system nagle przestał widzieć partycję, bardzo możliwe, że problem zaczyna się właśnie tutaj.
Czym jest MBR i gdzie znajduje się tablica partycji
MBR, czyli Master Boot Record, to pierwszy sektor dysku – dokładnie 512 bajtów.
Zawiera trzy kluczowe elementy:
- kod rozruchowy (bootloader)
- tablicę partycji
- sygnaturę końcową (55 AA)
Tablica partycji zajmuje 64 bajty i składa się z czterech wpisów. Każdy wpis opisuje jedną partycję i ma dokładnie 16 bajtów.
To właśnie w tych wpisach zapisane jest wszystko, co system musi wiedzieć o układzie danych na dysku.
Wpis partycji – tylko 16 bajtów, które opisują całą partycję
Każdy wpis zawiera komplet informacji:
- położenie partycji
- jej rozmiar
- typ systemu plików
- status bootowania
To ekstremalny minimalizm – zero nadmiarowości, zero zabezpieczeń. Jeden błędny bajt może sprawić, że system przestanie widzieć dane.
Struktura wpisu partycji – rozpiska bajt po bajcie
Każdy wpis partycji wygląda tak:
0x00 1 bajt Status (boot flag)
0x01 3 bajty CHS początek partycji
0x04 1 bajt Typ partycji
0x05 3 bajty CHS koniec partycji
0x08 4 bajty LBA początek partycji
0x0C 4 bajty Liczba sektorów
To właśnie te pola decydują o wszystkim.
Status partycji – która się uruchomi
Pierwszy bajt określa, czy partycja jest aktywna:
- 0x80 – partycja bootowalna
- 0x00 – zwykła
W praktyce tylko jedna partycja powinna mieć ustawione 0x80. Jeśli nie ma żadnej lub jest kilka – system może się nie uruchomić.
Typ partycji – jeden bajt, który zmienia wszystko
Ten bajt mówi systemowi, co znajduje się na partycji.
Najczęstsze wartości:
- 0x06 – FAT16
- 0x0B – FAT32
- 0x07 – NTFS
- 0x83 – Linux
Jeśli ten bajt zostanie uszkodzony:
- partycja może „zniknąć”
- dane nadal istnieją, ale system ich nie widzi
LBA – rzeczywiste położenie danych
Najważniejsze są dwa pola:
- początek partycji (LBA)
- liczba sektorów
To one definiują realny zakres danych na dysku.
Przykład: 3F 00 00 00 = sektor 63
To klasyczny start partycji w starszych systemach DOS i Windows 9x. Pole liczby sektorów określa rozmiar partycji i jej koniec.
CHS – pozostałość po dawnych czasach
CHS (Cylinder-Head-Sector) to stary sposób adresowania dysków.
Dziś:
- jest praktycznie ignorowany
- istnieje tylko dla kompatybilności
W nowoczesnych systemach liczy się tylko LBA.
Przykład wpisu partycji w praktyce
Weźmy taki zapis: 80 01 01 00 0B FE FF FF 3F 00 00 00 00 C0 3F 00
Analiza:
- 80 – partycja aktywna
- 0B – FAT32
- 3F 00 00 00 – start od sektora 63
- 00 C0 3F 00 – rozmiar partycji
Czyli klasyczna bootowalna partycja FAT32 na starym dysku.
Co się dzieje, gdy wpis partycji zostanie uszkodzony
To moment, w którym zaczynają się problemy.
Typowe objawy:
- dysk widoczny jako „nieprzydzielony”
- brak dostępu do partycji
- system nie startuje
- komunikaty o konieczności formatowania
Ważne: w wielu przypadkach dane nadal są na dysku. Problem polega tylko na tym, że system nie wie, gdzie ich szukać.
Jak naprawić problemy z MBR i wpisami partycji
W zależności od sytuacji masz kilka opcji:
- naprawa kodu MBR komendą
fdisk /mbr - odbudowa tablicy partycji narzędziami typu TestDisk
- ręczna edycja wpisów w hexie (zaawansowane)
Komenda: fdisk /mbr nadpisuje tylko kod rozruchowy i bardzo często rozwiązuje problemy z bootowaniem bez naruszania danych.
MBR, CompactFlash i brak bootowania – rozwiązanie problemu (boot fix)
W teorii karta CompactFlash przez adapter IDE działa jak zwykły dysk. W praktyce bardzo często pojawia się problem z bootowaniem.
Typowy scenariusz:
- instalujesz system na karcie CF
- BIOS ją widzi
- wszystko wygląda poprawnie
- a komputer nie startuje
Objawy:
- „Missing operating system”
- czarny ekran po POST
- brak reakcji mimo poprawnej instalacji
I tutaj wracamy do MBR.
W starszych konfiguracjach:
- BIOS ma ograniczenia względem nośników
- adaptery CF-IDE nie zawsze zachowują się jak klasyczny HDD
- zapisany MBR bywa niekompatybilny z danym sprzętem
Efekt – system nie potrafi się uruchomić, mimo że dane są poprawne.
W takich sytuacjach bardzo często pomaga: fdisk /mbr
Dlaczego:
- przywraca prosty, klasyczny kod rozruchowy
- eliminuje problemy kompatybilności
- pozwala BIOS-owi „dogadać się” z kartą CF
Z mojego doświadczenia to jeden z najczęstszych fixów przy retro buildach.
Szczególnie przy:
- płytach opartych o Intel 440BX
- starych BIOS-ach
- systemach typu DOS lub Windows 98
Dlaczego ta wiedza nadal ma znaczenie
Teoretycznie MBR został zastąpiony przez GPT, ale w praktyce:
- retro sprzęt nadal działa na MBR
- odzyskiwanie danych często zaczyna się od analizy tablicy partycji
- stare dyski IDE i karty CompactFlash bazują dokładnie na tym mechanizmie
W efekcie te 16 bajtów to nie tylko ciekawostka historyczna. To realne narzędzie diagnostyczne, które pozwala zrozumieć, co się dzieje z danymi na najniższym poziomie.
Bo na końcu dnia MBR działa jak mapa. Dane mogą być nienaruszone, ale jeśli mapa jest uszkodzona, system po prostu nie wie, jak do nich trafić.

0 komentarzy