Diskhantering från kommandoraden, del 2

Diskhantering från kommandoraden, del 2

I första delen av den här serien utforskade vi grunderna för disk- och partitionshantering via kommandoraden. Därefter ska vi se hur vi kan utföra diskpartitionering samt hur man delar upp, slår samman och raderar de som skapats.

Verklig användning

Tidigare i Crosshaven Computers använde vi kommandoraden för att skapa externa diagnostiska enheter som innehöll flera volymer. Vi skulle vanligtvis behöva minst 5-10 av dessa enheter åt gången och de måste alla vara identiska, så varje månad skulle varje enhet återställas.

För att automatisera processen och garantera att varje enhet som skapas var exakt likadan, skulle ett skalskript automatiskt dela upp en enhet i önskat antal partitioner och sedan återställa olika versioner av OS X och diagnostikprogramvara automatiskt.

Denna nivå av automatisering är helt enkelt inte möjlig med Diskverktyg, vilket visar hur kommandoraden kan vara mer användbar.

Partitionera en disk

För att partitionera en disk använder vi:

diskutil partitionDisk /dev/disk2 GPT JHFS+ Ny 0b

 partitionsdisk

De första tre delarna av kommandot är självförklarande, det är själva kommandot diskutil följt av alternativet partitionDisk och diskens identifierare /dev/disk(n). Du kommer också att känna igen JHFS+ som filsystemet, följt av etiketten för att ge den nyskapade volymen.

Partitionsschema

GPT är ett alternativ för partitionsschemat. Det finns tre du kan använda:

  • GPT: GUID-partitionstabell
  • APM: Apple-partitionskarta
  • MBR: Master Boot Records

Om du inte tänker starta en PowerPC-baserad Mac eller Windows PC med din hårddisk, finns det ingen anledning att välja något annat än GPT. Intel Mac-datorer kan bara starta från GUID-partitioner.

Partitionsstorlek

I slutet av kommandot finns argumentet 0b. Detta representerar storleken på den partition som ska skapas. Du kan ange vilken storlek du vill, upp till den maximala storleken på tillgängligt ledigt utrymme, med hjälp av b (byte), m (megabyte), g (gigabyte) och så vidare.

Att specificera 0b säger åt kommandot att bara använda allt ledigt utrymme.

Så kommandot att köra kommer att partitionera om en hårddisk identifierad som disk2 med GUID-partitionstabell som innehåller en enda volym som heter New som spänner över hela disken.

Flera partitionering

Med samma kommando partitionerar vi en hårddisk med flera partitioner och formaterar dem som användbara volymer.

diskutil partitionDisk /dev/disk2 GPT JHFS+ First 10g JHFS+ Second 10g JHFS+ Third 10g JHFS+ Fourth 10g JHFS+ Fifth 0b

 multipartitions

För varje ytterligare partition du vill lägga till är användningskonventionen följande:

Volume1Format Volume1Name Volume1Size Volume2Format Volume2Name Volume2Size Volume3Format Volume3Name Volume3Size...

Om den totala storleken på alla volymer är mindre än utrymmet på hårddisken som du vill partitionera, kommer det återstående utrymmet att vara ledigt.

Om vi försökte utföra samma uppgift inom Diskverktyget, måste vi först ange antalet partitioner från rullgardinsmenyn. Välj sedan var och en och namnge den samtidigt som du ser till att vi anger storleken som krävs.

En begränsning för Diskverktyg är att det grafiska gränssnittet bara kan partitionera en disk med upp till 16 partitioner. Kommandoraden har dock ingen sådan begränsning och kan användas för att skapa så många partitioner som krävs.

 diskutil16limit

Dela upp partitioner

Diskpartitioner kan delas upp i flera, mindre med splitPartition, med ett liknande kommando som att partitionera en disk.

Alternativet kräver användning av en partitions diskidentifierare innan du skapar partitionerna med användningskonventionen som nämndes tidigare:

diskutil splitPartition /dev/disk2s6 JHFS+ Test 10GB JHFS+ Test2 0b

 diskpartsplit

Det här kommandot delar upp partitionen på /dev/disk2s6 i två mindre märkta Test och Test2.

Sammanfogar partitioner

För att slå samman två eller flera partitioner kan vi använda alternativet mergePartitions. De partitioner du vill slå samman måste vara i sekventiell ordning enligt varje partitions diskidentifierare.

diskutil mergePartitions JHFS+ NewName {first disk identifier in range} {last disk identifier in range

Till exempel:

diskutil mergePartitions JHFS+ NewName disk2s4 disk2s6

 diskutilmerge

Den första diskidentifieraren väljer den partition du vill slå ihop de andra till, den andra anger intervallet. Endast data på den första diskpartitionen kommer inte att raderas, de andra partitionerna kommer att raderas och slås samman till den.

Ett filsystem och volymnamn måste fortfarande anges i händelse av att den första partitionen du anger inte kan expanderas. I det fallet kommer kommandot att fråga om du hellre vill radera alla partitioner i intervallet och skapa en ny.

Avsluta

Hantera partitioner via kommandoraden är inte så skrämmande som du kan förvänta dig, och det kan vara mycket enklare att göra istället för att använda Diskverktyg.

I nästa del av den här serien kommer vi att titta på att skapa och återställa diskavbildningar till och från volymer.

 

 

Om oss

bottom logo se

Jag är en formgivare. Här kan du se mitt arbete. Jo jag gör mitt jobb.

Huvudregeln - du kommer aldrig se det oavslutade arbetet. Endast grundligt polerat projekt kan producera i livet.

Förpackningsräknare