MBR vs GPT

Master Boot Record – MBR

Master Boot Record (MBR) skapas när en hårddisk partitioneras och är en viktig del av hur datorn startar upp. MBR innehåller tre huvudkomponenter: Master Boot Code (exekverbar kod), en disksignatur, och en partitionstabell. Vid slutet av MBR finns en 2-byte-signatur som alltid är inställd på värdet 0x55AA, vilket fungerar som en identifierare för att markera slutet av MBR.

Partitionstabellen i MBR lagrar information om hårddiskens partitioner. Varje partition har 16 byte information, och eftersom partitionstabellen är begränsad till totalt 64 byte, kan den bara hålla information om upp till fyra partitioner. Det innebär att MBR endast kan hantera fyra partitioner på en hårddisk.

Master Boot Code har flera viktiga uppgifter:

  1. Skanna partitionstabellen för att hitta den aktiva partitionen (den partition som datorn ska starta från).
  2. Hitta startsektorn på den aktiva partitionen.
  3. Ladda en kopia av startsektorn från den aktiva partitionen till datorns minne.
  4. Överföra kontrollen till den körbara koden som finns i startsektorn.

Om Master Boot Code misslyckas med att slutföra någon av dessa uppgifter, kan följande felmeddelanden visas:

  • ”Ogiltig partitionstabell.”
  • ”Fel vid laddning av operativsystem.”
  • ”Saknar operativsystem.”

GUID partitionstabell – GPT

GPT (GUID Partition Table) använder både en primär och en sekundär partitionsstruktur för att tillhandahålla redundans och öka säkerheten. Dessa strukturer är placerade i början och slutet av hårddisken. Till skillnad från MBR (Master Boot Record), som identifierar partitioner med hjälp av deras relativa sektorer, använder GPT logiska blockadresser (LBA) för att identifiera och hantera partitioner.

Bild 4: GPT partitionstabell

Bildbeskrivning:

  • Protective MBR: Placerad på LBA 0, denna skyddande MBR finns för kompatibilitetsskäl med äldre system som använder MBR. Den säkerställer att GPT-partitioner inte skadas av äldre verktyg som bara känner till MBR.
  • GPT-headern följs av den primära GUID Partition Array, som innehåller information om varje partition på hårddisken. Varje post i denna array representerar en enskild partition. Varje sektor på hårddisken är 512 byte, och varje post (eller partition entry) är 128 byte. Detta innebär att en sektor kan rymma upp till 4 partitioner.I exemplet på bilden omfattar den primära GPT strukturen LBA 1, 2 och 3:
    • LBA 1 innehåller den primära GPT-headern, som lagrar grundläggande information om hårddiskens partitioner.
    • LBA 2 innehåller partitionerna 1, 2, 3 och 4.
    • LBA 3 innehåller entries för partitionerna 5 till 128.

På Windows-system används vanligtvis 32 sektorer för att lagra partitionstabellen. Eftersom varje sektor kan innehålla fyra partitioner, kan en GPT-tabell stödja upp till 128 partitioner (32 x 4). I praktiken finns det sällan så många partitioner på en disk, vilket innebär att en stor del av partitionstabellen förblir oanvänd.

Partitionerna själva lagras mellan den primära och den sekundära GUID partition array. Dessa partitioner måste placeras mellan den första och sista användbara LBA-adressen, som anges i GPT-headern. Den sekundära GPT lagras nära slutet av hårddisken och fungerar som en säkerhetskopia av informationen om hårddiskens partitioner. Detta ger en extra skyddsnivå mot datakorruption eller hårddiskfel.

Diskonvertering

Standardhårddiskar kan konverteras till dynamiska diskar, vilket förändrar hur disken hanteras av operativsystemet. När en disk konverteras till dynamisk, innebär det inte att MBR tas bort eller att GPT slutar användas. Både standard- och dynamiska diskar kan konfigureras att använda antingen MBR eller GPT, beroende på användarens behov och systemets kompatibilitet