Ved hjelp av den nye GUID Partition Table i Linux (Legg Ancient MBR)

I Slik oppgraderer du Linux PC Hardware vi lærte om å velge Linux-kompatible komponenter, og noen store Linux-kommandoer for sondering hardware uten å åpne boksen. I dag skal vi utforske mysteriene i GPT, GUID partisjonstabellen, som er den nymotens erstatning for sliten og utilstrekkelig MS-DOS partisjonstabellen, og hvorfor du kanskje ønsker å bruke den i stedet for den velkjente gamle MBR. GPT er en del av UEFI spesifikasjonen, og fordi Linux er et ekte operativsystem med moderne funksjoner du kan bruke GPT med både UEFI og arv BIOS.

Legger opp MBR

Den globalt unike identifikatorer Partition Tabellen er moderne erstatning for den antikke MS-DOS Master Boot Record (MBR). MBR ble født i 1980 for IBM PC-er, helt tilbake i de spennende dagene av ti megabyte harddisker. MBR må leve på de første 512 byte med lagringsenheten, og den holder bootloader og partisjonstabellen. Bootloader opptar 446 bytes, partisjonstabellen bruker 64 byte, og de resterende to bytes lagre oppstarts signatur. MBR er begrenset til fire primære partisjoner, og en enkelt primær partisjon kan ha et utvidet partisjon som deretter deles opp i logiske partisjoner. Linux støtter (teoretisk) et ubegrenset antall logiske partisjoner. I gamle dager maxed Linux ut på 63 IDE partisjoner og 15 SCSI partisjoner fordi kjernen var begrenset i de totale enhets tallene det kunne fordele. udev tildeler enhetsnumre dynamisk, slik at disse begrensningene er borte.


MBR er liten og lite fleksibel, og har vart dette lenge, takket være smarte hacks for å komme seg rundt sine begrensninger. Logical Block Addressing (LBA) får rundt begrensningene i sine opprinnelige sylindere, hoder og sektorer (CHS) adressering. Den tradisjonelle harddisken blokkstørrelse på 512 bytes grenser partisjoner til 2 TB i størrelse, men mer flink hackery støtter de nye 4096-byte sektorer for maksimalt 16 TB partisjonsstørrelse.

GUID Partition Table (GPT)
< p> Clever hackery tar oss langt, og moderne verktøy ta oss enda lenger. GPT er en del av Unified Extensible Firmware Interface (UEFI) spesifikasjon, og på Linux du ikke trenger en EFI BIOS for å starte opp fra en GPT partisjon, men kan bruke den med arven BIOS systemer. Mac OS X og Windows har ulike begrensninger som gjør meg trøtt til å begynne å tenke på, så hvis dette er et problem for deg denne Microsoft FAQ og Apples hemmeligheter GPT skal hjelpe deg.

GPT ikke har primær og . logiske partisjoner, men bare partisjoner som GParted viser (figur 1)

Når du formaterer en harddisk i GParted og ønsker å bruke GPT, bare velg GPT alternativet, som i figur 2:

GPT har flere fordeler over MBR:

64-biters disk pekere tillater 2 64 totalt sektorer, slik at en harddisk med 512-byte blokker kan være så stor som 8 zebibytes . Med 4096-byte sektorer maksimal diskstørrelse er egentlig veldig stor

Standard maksimale antallet partisjoner er 128, og hvis operativsystemet støtter det du kan ha mer

Ikke mer CHS cruft eller Hacky primær-utvidet-logisk partisjonering ordningen, som faller ned hvis du trenger Windows fordi Windows er lite fleksibel og svin primære partisjoner

GPT har feiltoleranse ved å holde kopier av partisjonstabellen i den første og siste sektor på disk

GPT beregner en syklisk redundans sjekk (CRC) sjekksum å bekrefte sin egen integritet, og av partisjonstabellen

Unike IDer for disker og partisjoner.

unike ID

De GPT GUID (globalt unike identifikatorer) og våre kjente Linux-UUID (Universelt unike identifikatorer) er ikke det samme, selv om de tjener samme nyttig formål: å gi blokkere enheter unike navn. Linux UUID er en funksjon av filsystemer, og opprettes når filsystemet er opprettet. For å se Linux UUID bare fyre opp blkid kommando:

 # blkid /dev /sda1: LABEL = "oppbevaring" UUID = "60e97193-e9b2-495f-8db1 -651f3a87d455" TYPE = "ext4" /dev /sda2: LABEL = "oldhome" UUID = "e6494a9b-5fb6-4c35-ad4c- 86e223040a70" TYPE = "ext4" 

Dette eksemplet viser også filsystem etiketter, som er vilkårlige navn vi kan gi våre blokkere enheter. Vi kan bruke UUID i /etc /fstab som dette:

 # lagring, /dev /sda1 data storageUUID = 60e97193-e9b2-495f-8db1-651f3a87d455 /home /Carla /oppbevaring ext4 bruker, defaults 0 0 

Eller bruke merket, som dette:

 LABEL = lagring /home /Carla /lagring ext4 bruker, defaults 0 

For å få GUID vi trenger den Gdisk kommando:

 # Gdisk /dev /sdcGPT fdisk (Gdisk) versjon 0.8.1Partition bordet skanne: MBR: beskyttende BSD: ikke tilstede APM: ikke tilstede GPT: presentFound gyldig GPT med beskyttende MBR; bruker GPT.Command (hjelp?): 

Dette gir umiddelbart nyttig informasjon: At denne disken bruker GPT, med en MBR i beskyttelsesmodus. Denne beskyttet MBR tillater oppstart fra en arv BIOS, og og beskytter GPT fra GPT-uvitende verktøy (for eksempel fdisk) og operativsystemer. Disse vil se en MBR disk uten ledig plass. Gdisk serverer et vell av informasjon om partisjoner. Trykke på p-tasten for å se alle partisjoner:

 Kommando (hjelp?): PDisk /dev /SDC: 3907029168 sektorer, 1,8 TiBLogical sektorstørrelse: 512 bytesDisk identifikator (GUID): 058D39EE-5D06-409F-AA0C -298A3E6CC302Partition bord har plass til opptil 128 entriesFirst bruk sektor er 34, siste bruk sektor 3907029134Partitions vil bli justert på 2048-sektoren boundariesTotal ledig plass er 819142765 sektorer (390,6 GiB) Antall Start (sektor) End (sektor) Size Code Name 1 2048 1953791 953,0 MiB 0700 2 1.953.792 80.078.847 37,3 GiB 0700 3 80078848 2033203199 931,3 GiB 0700 4 2033203200 3009765375 465,7 GiB 0700 5 3009765376 3048826879 18,6 GiB 0700 6 3048826880 3087888383 18,6 GiB 8200 

Legg merke til at den logiske sektorstørrelsen er 512 bytes. Alle nye store harddisker bruker 4096-byte sektorer, så hva skjer? La oss fyre opp lsblk kommandoen og se:

 $ lsblk -t /dev /sdcNAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZEsdc 0 4096 0 4096 512 1 cfq 128 | --sdc1 0 4096 0 4096 512 1 cfq 128 | --sdc2 0 4096 0 4096 512 1 cfq 128 | --sdc3 0 4096 0 4096 512 1 cfq 128 

Dette viser at de fysiske sektorer er 4096 bytes. 4096 bytes er et magisk tall på store harddisker for flere grunner: det er en mer effektiv bruk av lagringsplass, er en vanlig side av minne på x86-maskiner 4096 bytes, og ext3 /4 filsystemer standard til 4 KB klynger. Men for å bevare bakoverkompatibilitet (diskkontrollere, eldre programvare og operativsystemer) harddiskprodusenter har til å etterligne 512B sektorer.

La oss gå tilbake til Gdisk og undersøke en enkelt partisjon. Trykk i, deretter antall partisjonen:

 Kommando (hjelp?): IPartition nummer (1-6): 3Partition GUID Kode: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft grunnleggende data) Partition unik GUID: 8C208C30-4E8F-4096-ACF9-858959BABBAAFirst sektor: 80078848 (på 38,2 GiB) Sist sektor: 2033203199 (på 969,5 GiB) Partition størrelse: 1953124352 sektorer (931,3 GIB) data flagg: 0000000000000000Partition navn: '' 

Merk Partition GUID-kode, og hvor det står "Microsoft-grunndata." Ja, ole Microsoft alltid party-krasj, fordi dette er en EXT4 partisjon, så det er ingen måte for Windows å lese den, men vil se det som en uformatert partisjon. Du vil ikke se dette med dagens utgaver av Gdisk, fordi fram til 2011 var det ingen Linux-filsystem GUID. Nå er det, så hvis du ikke bruker en gammel Linux som mitt (Mint 13) vil du se en skikkelig Linux GUID stedet (0FC63DAF-8483-4772-8E79-3D69D8477DE4).

Partition unik GUID er det du skal bruke i fstab, som dette:

 PARTUUID = 8C208C30-4E8F-4096-ACF9-858959BABBAA /data ext4 bruker, defaults 0 0 
Linux GPT Support

Som alltid, har Linux full støtte for dette nymotens greier. Du trenger GRUB 2, men noen brukere rapporterer at LILO fungerer med GPT, Gdisk og GNU skiltes eller GParted for en fin grafisk visning. Les den fine mannen sidene, og Wikipedias GUID Partition Table pent kondenserer mye nyttig informasjon, inkludert operativsystemet støtte, og en tabell med GUID-etiketter. Anmeldelser