LINUX: Comando Parted

()

PARTED

parted è anche un noto strumento da riga di comando per visualizzare e manipolare le partizioni del disco. Comprende più formati di tabella delle partizioni, inclusi MBR e GPT.Parted può essere utilizzato per creare spazio per nuove partizioni, riorganizzare l’utilizzo del disco e copiare i dati su nuovi dischi rigidi e oltre.

$ sudo parted -l

Parted è un comando per gestire le partizioni di un disco da linea di comando (sicuramente molti di voi conosceranno gparted, il front-end grafico). In questo articolo vedremo come funziona questo comando, e i comandi principali per modificare le partizioni da un disco. Innanzitutto, vi sono due modalitá di utilizzo di parted:
  • interactive – viene lanciata una shell dove inserire i comandi
  • command line – i comandi vengono passati direttamente da linea di comando
In questo tutorial faremo principalmente riferimento alla modalitá interattiva. Ovviamente per utilizzarlo occorre essere autenticati come utente root. Quindi iniziamo con il lanciare il programma:
parted /dev/sdb
Dove /dev/sdb indica il device che noi vorremo andare a modificare (attenzione non dovete mettere anche il numero di partizione, quindi se provate a inserire per esempio /dev/sdb1 riceverete un errore).
Questo ci porta all’interno di una shell che si dovrebbe presentare così:
GNU Parted 3.1 Using /dev/sdb Welcome to GNU Parted! Type ‘help’ to view a list of commands. (parted)
Da qui possiamo inserire i comandi. In qualsiasi momento possiamo decidere di cambiare device di lavoro con il comando select:
(parted) select /dev/sda
In questo caso stiamo istruendo parted di cambiare l’unita su cui intervenire da sdb a sda. Ora per esempio avremo bisogno di sapere quale è la situazione attuale del nostro device prima di creare e/o modificare partizioni, per questo basta semplicemente dare il comando print:
(parted) print
Questo comando stampa la lista delle partizioni con altre informazioni utili quali: tipo filesystem, inizio e fine della partizione, eventuali flags, etc. un output di esempio è il seguente:
Model: Generic- xD/SD/M.S. (scsi) Disk /dev/sdb: 3965MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 4194kB 62.9MB 58.7MB primary fat16 lba 2 62.9MB 1940MB 1877MB primary ext4
A questo punto potremo per esempio voler creare una nuova partizione nello spazio non ancora utilizzato (come potete notare sono utilizzat solo circa 2gb su 4). Quindi possiamo utilizzare il comando mkpart per crearne una nuova. La sintassi del comando è la seguente:
mkpart [PART-TYPE fs-Type] start end
Dove:
  • PART-TYPE  indica il tipo di partizione: primary o logical
  • fs-type indica il tipo di file system che conterrá, ma attenzione: non crea il filesystem, per crearlo dovete usare mkfs
  • start ed end invece sono il punto di inizio e il punto di fine della partizione normalmente espresso in mb.
Quindi per esempio se volessimo creare una partizione da 110mb, ci basta dare il comando:
(parted) mkpart primary ext4 1940 2050
Ora se diamo print avremo un output del tipo:
(parted) print Model: Generic- xD/SD/M.S. (scsi) Disk /dev/sdb: 3965MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 4194kB 62.9MB 58.7MB primary fat16 lba 2 62.9MB 1940MB 1877MB primary ext4 3 1940MB 2050MB 110MB primary
Come vedete abbiamo una nuova partizione, la numero 3. Ora supponiamo di voler rendere la partizione bootabile, per farlo abbiamo a disposizione il comando set, che serve per gestire i flag relativi alla partizione. La sintassi del comando è:
set partition-number flag state
dove:
  • partition-number indica il numero della partizione alla quale vogliamo modificare i flags (il numero è quello ottenuto dal comando print)
  • flag è appunto il flag che vogliamo andare a configurare, quelli disponibili sono: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot
  • Mentre lo stato può essere on/off
Quindi per settare la partizione appena creata come bootabile possiamo dare il comando:
(parted) set 3 boot on
Ora supponiamo di esserci sbagliati, e vogliamo rimuovere la partizione appena creata, ci basta usare il comando rm seguito dal numero della partizione:
(parted) rm 3
Ora come detto prima le dimensioni si esprimono in megabyte per i vari comandi di parted, ma se vogliamo cambiare unitá, possiamo usare il comando unit, che ci permette di cambiare l’unitá di misura. La sintassi è:
unit UNIT
Dove le unitá di misura a disposizione sono:
  • s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB, GiB, TiB
Infine se vogliamo creare una nuova partition table che sostituisca quella corrente (attenzione con questo comando: rischiate di perdere tutto), abbiamo il comando mklabel, che come argomento prende il tipo di tabella che si vuole creare. I tipi di tabella disponibili:
  • bsd
  • loop (raw disk access)
  • gpt
  • mac
  • msdos
  • pc98
  • sun
Ora se per esempio vogliamo creare una nuova tabella di partizioni del tipo msdos (quello dei pc normali) daremo il comando:
(parted) mklabel msdos
Attenzione con questo comando, potreste perdere i vostri dati. Se per errore avete dato questo comando sul vostro disco principale, non tutto è perduto. Infatti la tabella non viene cancellata, ma resa inusabile. Il comando rescue ci aiuta a risolvere questo potenziale problema, riprristinando le partizioni una ad una. In pratica questo programma tenta di recuperare una partizione che si trova approssimativamente fra start end.  La sintassi del comando è:
rescue start end
Dove:
  • start è la zona approssimativa di inizio della nostra partizione
  • end é la zona approssimativa di fine della partizione. Ricordo che se non avete cambiato le unitá questi valori si esprimono in mb.
Per esempio un comando potrebbe essere:
(parted) rescue 1930 2300
Che cerca di recuperare una partizione fra il 1930mo MB e il 2300mo MB.
Infine è utile sapere che questi comandi possono essere anche inseriti in maniera interattiva, ovvero se diamo solo il nome del comando senza alcun argomento, il programma ci farà una serie di domande chiedendo lui i vari parametri di cui ha bisogno, quindi per esempio, se diamo rm senza argomenti avremo:
(parted) rm Partition number? 3 (parted)
Un ultima parola, molti di voi avranno sentito parlare di parted per la sua possibilitá di ridimensionare partizioni, e qui non vi si è fatta alcuna menzione, questo perchè a partire dalla versione 2.4 se non erro, il team di sviluppo ha deciso di rimuovere il supporto al ridimensionamento delle partizioni. Quindi il comando resize è stato rimosso. Se avete versioni più vecchie di parted potete usarlo con la sintassi seguente:
resize partition-number partition-start newpartition-end
/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?