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:

Offset Rozmiar Opis
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ć.

Kategorie: Technologie

mgr Bartłomiej_Speth

Absolwent wydziału Fizyki Uniwersytetu im. Adama Mickiewicza w Poznaniu na kierunku Fizyka z informatyką. Miłośnik komputerów, sprzętu komputerowego oraz otwartego oprogramowania. Specjalizuje się w budowie, naprawach, modyfikacjach laptopów jak i jednostek stacjonarnych. Zapalony PC'towiec od momentu, w którym otrzymał swój pierwszy komputer z procesorem 80286.

0 komentarzy

Dodaj komentarz

Symbol zastępczy awatara

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *