Allt du försöker lära dig kräver övning. Att arbeta med hårddiskar i Linux är inget undantag. Att öva på en riktig skiva med risk för att skada filsystemet är inte värt det, men det är också för opraktiskt att skapa en virtuell maskin för sådana ändamål. Så vad är lösningen?
I Linux betraktas allt som en fil och hårddisken representeras som en fil. Detta ger en intressant möjlighet. Vi kan använda en vanlig fil istället för en hårddisk för våra experiment.
Låt oss skapa en testplats med ett team:
sudo dd if=/dev/zero of=/disk.img count=2000 bs=1M
Vi har skapat en 2000 megabyte stor fil fylld med nollor som vi tryggt kan arbeta med. Låt oss köra parted
och skicka vår fil till den istället för enheten:
$ sudo parted /disk.img
Om du vill arbeta med en riktig skiva skickar du bara sökvägen till dess enhetsfil till verktyget:
$ sudo parted /dev/sda
Verktyget kommer att starta i interaktivt läge och du kommer att kunna utföra de nödvändiga kommandona. Låt oss nu försöka se listan över partitioner på enheten:
(parted) print
Den är tom eftersom det inte ens finns någon partitionstabell. Så länge det inte finns någon partitionstabell kan Linux-skivpartitionering inte utföras, så vi måste skapa en. För att göra detta använder vi kommandot mktable
:
(parted) mktable gpt
Vi har en partitionstabell av typen gpt
, men du kan välja en av dessa: aix
, amiga
, bsd
, dvh
, gpt_sync_mbr
, gpt
, mac
, msdos
, pc98
, sun
, loop
Låt oss nu skapa en ny ext2-filsystempartition
på 100 megabyte med kommandot mkpart
. Det måste få tre parametrar: partitionstyp, filsystem och koordinater. Partitionstypen kan vara:
primär
logisk
utökad
(primär, logisk och utökad).I gpt
kan du skapa så många primära partitioner som du vill och inte behöva tänka på deras typ. Allt detta skapades för MBR, i den här tabellen finns det en begränsning av antalet primära partitioner - bara fyra.
Skapa en primär partition:
(parted) mkpart primary ext2 0 400М
Eftersom det här är den första partitionen börjar vi med noll och slutar med den storlek vi vill ha - 400 megabyte.
Låt oss titta på listan över partitioner igen:
(parted) print
Låt oss skapa några fler partitioner, till exempel för systemroten och för hemmappen:
(parted) mkpart primary ext4 400 1000M
(parted) mkpart primary ext4 1000M -0M
Parametern -0
innebär att man räknar från slutet av partitionen, så allt tillgängligt utrymme för den tredje partitionen kommer att tas i anspråk. Låt oss se vad vi fick:
Att arbeta med skivor i Linux görs med hjälp av deras nummer. Låt oss krympa den sista partitionen och skapa en ny efter den:
(parted) resizepart 3 1600M
Du kan ange önskad storlek som en procentsats:
(parted) resizepart 3 60%
Och nu skapar vi en partitionerad partition
:
mkpart primary ext4 1600M -0M
Partitioneringen av skivan i Linux-partitioner är klar. Vi kommer att utelämna att arbeta med filsystem i den här artikeln, eftersom vi kommer att använda andra kommandon för detta ändamål, som vi kommer att täcka i en framtida artikel.