Partitsioonid

From ICO wiki
Jump to navigationJump to search

Sissejuhatus

Partitsioon on kõvaketta või muu andmekandja loogiline jagu, mis on eelnevalt kindlaks määratud partitsioonitabelis. Ilma partitsioonita on andmekandja operatsioonisüsteemi kasutamatu - sinna ei saa luua failisüsteemi ja ilma failisüsteemita andmeid. Kõik andmed kirjutatakse partitsioonile loodud failisüsteemile, mitte partitsioonile. Failisüsteemi tüüp kirjutatakse partitsioonitabelisse. Ajaloolistel põhjustel on partitsioone mitut liiki: primaarsed, laiendatud ja loogilised. Primaarseid partitsioone saab olla andmekandjal neli, laiendatud partitsioone üks. Laiendatud partitsioon võib aga sisaldada endas lõpmata hulga loogilisi partitsioone.

MBR

MBR on alglaadimissektor mille ajalooliste piirangute pärast on andmekandjal maksimaalselt neli primaarset partitsiooni. Teda asendab uuem alglaadimissektor tüüp GPT. MBR on 512 baiti suur ning asub andmekandja esimesel sektoril. Tema piiratuse tõttu on MBR alglaadimissektoriga andmekandjate partitsiooni maksimaalne suurus 2 TiB. Klassikaline MBR koosneb:

Aadress Selgitus Suurus
baitides
Hex Dec
+000hex +0 alglaadimiskood 446
+1BEhex +446 Partitsiooni kirje №1 Partitsiooni tabel
(primaarsetel partitsioonidele)
16
+1CEhex +462 Partitsiooni kirje №2 16
+1DEhex +478 Partitsiooni kirje №3 16
+1EEhex +494 Partitsiooni kirje №4 16
+1FEhex +510 55hex Alglaadimis signatuur 2
+1FFhex +511 AAhex
Suurus kokku: 446 + 4×16 + 2 512

Partitsiooni tabeli kirje koosneb:

Element (offset) Suurus Selgitus
0 bait Alglaadimise flag: 0 = ei, 0x80 = alglaetav (aktiivne)
1 bait Alguse pea
2 6 bitti Alguse sektor (Bitid 6-7 on kaks kõrgemat bitti Alguse silindri kirjele)
3 10 bitti Alguse silinder
4 bait Süsteemi ID
5 bait Lõpu pea
6 6 bitti Lõpu sektor (Bitid 6-7 on lõpu silindri kaks ülemist bitti)
7 10 bitti Lõpu silinder
8 uint32 (4 baiti) Esimese sektori LBA number
12 uint32 (4 baiti) Sektorite summa partitsioonis

Tabelist on näha MBR puudused:

  • partitsioonitabelis saab olla ainult neli kirjet
  • partitsioonikirjes maksimaalne partitsiooni suurus on (2^32-1) * 512 = 2 TiB

Partitsioonid

MBR sisu linuxil saab vaadata käsuga

dd if=/dev/sdb bs=512 count=1 | hexdump -C

Näidiseks on valitud virtuaalmasin, mille ühel kettal asub üks partitisioon ja mis ei ole alglaetav. Saadud hexdump on:

00000000 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00
*
00001be0 00 00 00 00 00 00 00 00   4e c6 27 7f 00 00 00 20
000001c0 21 00 83 35 70 05 00 08   00 00 00 00 00 00 00 00
000001d0 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00
*
000001f0 00 00 00 00 00 00 00 00   00 00 00 00 00 00 55 aa

Kokkuvõte

Viited