Master boot record ( eng. master boot record, MBR ) är koden och data som krävs för den efterföljande uppstarten av operativsystemet och som finns i de första fysiska sektorerna (oftast i den allra första) på en hårddisk eller annan lagringsenhet . Används från 1983 (börjar med PC DOS 2.0) fram till den omfattande antagandet av UEFI och GPT- systemet på 2010-talet.
MBR innehåller en liten bit exekverbar kod , en diskpartitionstabell och en speciell signatur .
MBR-funktionen är en "övergång" till den del av hårddisken från vilken "ytterligare kod" ska köras (vanligtvis för att starta operativsystemet). I "MBR-stadiet" väljs en diskpartition, OS-koden laddas (förekommer i senare skeden av algoritmen).
I processen att starta datorn efter slutet av det första testet ( Power-on self-test - POST), laddar Basic Input/Output System (BIOS) "MBR-koden" till RAM (på IBM PC , vanligtvis från adress 0000: 7c00) och överför kontrollen till den i MBR-startkoden.
Under uppstartsprocessen av en x86 -dator bearbetas alltid BIOS först . I detta skede, förutom att testa och initiera datorhårdvaran, finns det också ett val av enhet från vilken ytterligare laddning kommer att ske. Detta kan vara en diskett, hårddisk, nätverksresurs, inbyggt ROM eller någon annan enhet (algoritmen för val av startenhet kan vara annorlunda och beror på BIOS-implementeringen). Efter att ha valt en startenhet överför BIOS fullständigt kontrollen över all ytterligare laddning till den här enheten.
Om enheten bara har en partition (som en diskett eller nätverksstart, till exempel), är valet klart och uppstarten fortsätter omedelbart från den enheten. Men om enheten innehåller flera partitioner, som var och en potentiellt kan vara startbar (som till exempel i fallet med hårddiskar), så finns det osäkerhet: från vilken partition som ska startas. För att lösa tvetydigheten angående valet av partition föreslogs det att ta bort detta problem från BIOS:s jurisdiktion och överföra detta val till själva enheten. Tanken uppstod att för detta använda ett litet program inspelat på själva media, vilket skulle göra detta val. Så här föddes MBR-konceptet.
Således är den potentiella närvaron av flera startpartitioner, bland vilka det är nödvändigt att göra ett val, en nyckelpunkt i behovet av utseende och utveckling av MBR. För enheter med en enda (eller unik) startpartition är MBR-konceptet meningslöst och används inte.
Ibland ingår i MBR, förutom huvudfunktionen (partitionsval), även andra funktioner, till exempel auktorisering. Men detta är redan en förlängning och tillägg till MBR:s huvudfunktion och uppgift. Sådana system används inte i stor utsträckning.
På grund av det faktum att andra system använder olika arkitektoniska lösningar (från aktivering av hårdvaran till uppstart av operativsystemet) kanske MBR-konceptet inte gäller för dem.
Det finns ingen godkänd standard för MBR-strukturen, däremot finns det "etablerade traditioner" som de flesta MBR från olika tillverkare håller sig till.
Det vanligaste MBR-formatet är Windows . Startposten börjar med namnet på det aktuella filsystemet (till exempel FAT32 eller NTFS ). Följande innehåller information om de fyra partitionerna på disken , en länk till starthanteraren och signaturen 0x55AAh. Om det inte finns någon starthanterare, till exempel i Windows XP , visas meddelandet "NTLDR saknas / komprimeras" (beroende på situationen tas starthanteraren bort eller komprimeras). "Tryck på CTRL+ALT+DEL för att starta om." Om disken är oläsbar visas meddelandet "Ett diskläsfel inträffade. Tryck på CTRL+ALT+DEL för att starta om". Beroende på typen av starthanterare skickas olika meddelanden.
Andra starthanterare än de vanliga Windows -starthanterarna kan använda allt utrymme mellan MBR och den första partitionen (cirka 32 kB; 1:a-62:a sektorer) för sina egna syften. I sådana fall förstås MBR som hela startkoden, och för att markera de första 512 byten säger de att de finns i MBS (Master Boot Sector) - huvudstartsektorn.
För Microsofts operativsystem är begreppen MBR och MBS desamma, eftersom hela MBR finns i MBS, även om detta inte är helt korrekt, eftersom MBR betyder data och MBS betyder fysisk sektor.
Välja en startpartition och kontrollera MBR:s integritet:
Startsektorn beror på typen av filsystem på den logiska partitionen på disken och innehåller kod som hittar och laddar det faktiska operativsystemet på denna typ av filsystem.
Partiskhet | Längd, byte | Beskrivning | |
---|---|---|---|
0000h | 446 | Laddarkod _ | |
01BEh | 16 | Sektion 1 | Avdelningstabell |
01CEh | 16 | Sektion 2 | |
01DEh | 16 | Avsnitt 3 | |
01EEh | 16 | Avsnitt 4 | |
01FEh | 2 | Signatur (55h AAh) |
Efter att POST- proceduren är klar skrivs starthanterarens kod till RAM -minnet på den fysiska adressen 0x7C00 (de första 446 byten från nollsektorn på disken), varefter kontrollen överförs till den. Uppgiften med denna kod är att analysera hårddiskens partitionstabell och sedan överföra kontrollen till den andra startkoden, som kan placeras antingen i början av den aktiva partitionen eller på ett speciellt område på disken ( detta område är inte upptaget av filsystem och är vanligtvis en grupp av sektorer #1-#62, partitioner på en disk börjar vanligtvis vid sektor #63). Den andra laddaren vet redan hur man läser minst ett filsystem, och dess uppgift är att överföra kontrollen till filer från OS-filsystemet för att starta operativsystemet.
Exempel:
Partitionstabellen lagrar information om typen av partition och dess plats på hårddisken.
De sista två byten av MBR kallas signaturen. Värdet på dessa bytes ska vara 55h AAh. Om så inte är fallet anses posten vara ogiltig.
Partiskhet | Längd | Beskrivning |
---|---|---|
00h | ett | Sektionsaktivitetsflagga |
01h | ett | Början av avsnitt - huvud |
02h | ett | Sektionsstart - Sektor (bitar 0-5), Cylinder (bitar 6, 7) |
03h | ett | Början av avsnittet är en cylinder (höga bitar 8, 9 lagras i sektornummerbyten) |
04h | ett | Sektionstypkod |
05h | ett | Slut på avsnitt - huvud |
06h | ett | Sektionsslut - Sektor (bitar 0-5), Cylinder (bitar 6, 7) |
07h | ett | Slut på sektion - cylinder (höga bitar 8, 9 lagras i sektornummerbyten) |
08h | fyra | Offset av den första sektorn |
0Ch | fyra | Antal partitionssektorer |
Flaggan för partitionsaktivitet indikerar om det är möjligt att starta operativsystemet från denna partition. För standardlastare kan den ha följande värden:
Sektionens start- och slutkoordinater i CHS -format (cylinder, huvud, sektor). CHS tillåter inte adressering av mer än 7,8 GB data, och LBA- adressering används för att adressera partitioner över 7,8 GB .
Koden för filsystemet som används på denna partition.
Koden | Partitionstyp |
---|---|
00h | Tomt inträde (fritt utrymme) |
01h | FAT-12 (om det är en logisk partition eller om partitionen är placerad i de första 32 megabyte på disken, annars används kod 06h) |
02h | XENIX rot |
03h | Xenix usr |
04h | FAT-16 upp till 32 MB (om partitionen är primär måste den finnas i de första fysiska 32 MB på disken, annars används kod 06h) |
05h | Utökat avsnitt |
06h | FAT-16B, liksom FAT-16, ej föremål för kod 04h och FAT-12, ej föremål för kod 01h |
07h | IFS, HPFS, NTFS , exFAT (och några andra - typen bestäms av innehållet i startposten) |
08h | AIX |
09h | AIX startbar |
0 Ah | OS/2 Boot Manager, OPUS |
0bh | FAT-32 |
0Ch | FAT-32X (FAT-32 med LBA) |
0Dh | Reserverad |
0 Eh | FAT-16X (FAT-16 med LBA) (VFAT) |
0Fh | Utökad LBA-sektion (samma som 05h, med LBA) [2] |
10h | OPUS |
11h | Hidden FAT (liknande kod 01h) |
12h | Compaq, Service Sektion |
14h | Hidden FAT (liknande kod 04h) |
15h | Dold utökad partition (liknande kod 05h) |
16h | Hidden FAT (liknande kod 06h) |
17h | Dold HPFS/NTFS/IFS/exFAT-partition |
18h | AST SmartSleep |
19h | OFS1 |
1Bh | Dold FAT-32-partition (se 0Bh) |
1 kap | Dold partition FAT-32X (se 0Ch) |
1 Eh | FAT-16X Hidden Partition (VFAT) (Se 0Eh) |
1Fh | Dold utökad LBA-partition (se 0Fh) |
20h | OFS1 |
21h | FSo2 |
22h | Utökad partition FS02 |
24h | NEC DOS |
25h | Windows Mobile IMGFS |
27h | Dold NTFS (System Recovery Partition) |
28h | Reserverad för FAT-16+ |
29h | Reserverad för FAT-32+ |
2ah | AFS (AthFS) |
35h | JFS |
38h | THEOS 3.2 |
39h | Plan 9 |
3 ah | THEOS 4 |
3bh | Utökat avsnitt THEOS 4 |
3ch | Partition Magic, NetWare |
3Dh | Dold NetWare-partition |
40h | Venix 80286, VÄLJ R83 |
41h | Gammal Linux/Minix, PPC PReP Boot |
42h | Gammal Linux swap, SFS, partition på en dynamisk disk i Windows (Dynamic Disk) |
43h | Gammal Linux |
4ah | ALFS |
4ch | A2 (Aos) |
4Dh | QNX4.x |
4 Eh | QNX4.x 2:a delen |
4Fh | QNX4.x 3:e delen |
50h | OnTrack DM (skrivskyddad) |
51h | OnTrack DM6 (läs och skriv) |
52h | CP/M |
53h | OnTrack DM6 Aux3 |
54h | OnTrack DM6 DDO |
55h | EZ-enhet |
56h | gyllene rosett |
56h | Novell VNDI |
5ch | Priam Edisk |
61h | SpeedStor |
62h | GNU HURD |
63h | UNIX |
64h - 69h | NetWare |
77h | VNDI, M2FS, M2CS |
78h | XOSL |
7Fh | Denna kod är reserverad för forsknings- eller utbildningsprojekt. |
80h | MINIX (gammal) |
81h | MINIX |
82h | Linux swap, Sun Solaris (gammal) |
83h | linux |
85h | Linux utökat (förlängt) |
86h | FAT-16-partition av en Windows NT stripe-array |
87h | NTFS/HPFS-partition för en Windows NT-stripearray |
8 Eh | LVM-partition |
93h | Amöba, dold Linux (se kod 83h) |
94h | Amöba BBT |
94h | ISO-9660 |
9 Eh | Forth OS |
A5h | viloläge |
A5h | NetBSD (gammal), FreeBSD, BSD/386 |
A6h | OpenBSD |
A7h | Nästa steg |
A8h | Apple Darwin, Mac OS X UFS |
A9h | NetBSD |
AFh | Mac OS X HFS och HFS+, ShangOS |
B1h | QNX6.x |
B2h | QNX6.x |
B3h | QNX6.x |
B6h | Speglad FAT-16 Windows NT huvudpartition |
B7h | Speglad NTFS/HPFS Windows NT huvudpartition |
BEh | Solaris 8 startbar |
bfh | Solaris |
C2h | Dolt Linux |
C3h | Dold Linux Swap |
C6h | Windows NT FAT-16 speglad slavpartition |
C7h | Speglad Windows NT NTFS-slavpartition |
CDh | Minnesdump |
D8h | CP/M-86 |
DAh | Data är inte ett filsystem |
Dbh | CP/M-86 |
DDh | Dold minnesdump |
DEh | Dell Utility |
EBh | bfs |
ECH | SkyOS |
EDh | Hybrid GPT |
EEh | GPT |
EFh | UEFI-systempartition |
F7h | EFAT, SolidState |
Fbh | VMFS |
FCh | Byt VMFS |
FEh | LANstep, PS/2 IML |
FFh | XENIX BBT |
Om en utökad partition används pekar koordinaterna för början av partitionen mot EBR .
Partiskhet | Längd | Beskrivning |
---|---|---|
1BEh | 16 | Sektionspekare |
1CEh | 16 | Pekare till nästa EBR |
1DEh | 32 | Används ej (måste fyllas med nollor) [3] |
1FEh | 2 | Signatur (55h AAh) |
Pekarformatet liknar MBR.
Sektionsstartkoordinater i LBA-koordinater. Tillåter adressering av upp till 2 TB data.
Om MBR försvann på något sätt, kan den återställas med speciella verktyg (till exempel TestDisk ), som kommer att "visa" hela lagringsmediet och skapa en partitionstabell.
Ett exempel på kod för att skapa en MBR-säkerhetskopia på unix-liknande system för en sda-disk:
dd if=/dev/sda of=mbr.bin bs=512 count=1Återställa starthanteraren och partitionstabellen:
dd if=mbr.bin of=/dev/sda bs=512 count=1Återställer endast starthanteraren:
dd if=mbr.bin of=/dev/sda bs=446 count=1av operativsystem | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Kärna |
| ||||
Processledning _ |
| ||||
Minneshantering och adressering | |||||
Ladda och initieringsverktyg | |||||
skal | |||||
Övrig | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |