10 fdisk-kommandoer for å administrere Linux-diskpartisjoner


fdisk står (for "fast disk eller format disk") er et mest brukt kommandolinjebasert diskmanipuleringsverktøy for en Linux/Unix-systemer. Ved hjelp av fdisk-kommandoen kan du vise, opprette, endre størrelse, slette, endre, kopiere og flytte partisjoner på en harddisk ved å bruke dets eget brukervennlige tekstbaserte menydrevne grensesnitt.

Dette verktøyet er veldig nyttig når det gjelder å skape plass til nye partisjoner, organisere plass for nye stasjoner, reorganisere gamle stasjoner og kopiere eller flytte data til nye disker. Den lar deg opprette maksimalt fire nye primær partisjoner og antall logiske (utvidede) partisjoner, basert på størrelsen på harddisken du har i systemet.

Denne artikkelen forklarer 10 grunnleggende fdisk-kommandoer for å administrere en partisjonstabell i Linux-baserte systemer. Du må være root-bruker for å kjøre fdisk-kommandoen, ellers vil du få en «kommando ikke funnet»-feil.

1. Se alle diskpartisjoner i Linux

Følgende grunnleggende kommando viser alle eksisterende diskpartisjoner på systemet ditt. Argumentet «-l» står for (som viser alle partisjoner) brukes med fdisk-kommandoen for å se alle tilgjengelige partisjoner på Linux. Partisjonene vises etter enhetens navn. For eksempel: /dev/sda, /dev/sdb eller /dev/sdc.

[[email  ~]# fdisk -l

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

2. Se spesifikk diskpartisjon i Linux

For å se alle partisjoner på en bestemt harddisk, bruk alternativet "-l" med enhetsnavn. For eksempel vil følgende kommando vise alle diskpartisjonene til enheten /dev/sda. Hvis du har forskjellige enhetsnavn, kan du enkelt skrive enhetsnavnet som /dev/sdb eller /dev/sdc.

[[email  ~]# fdisk -l /dev/sda

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

3. Merk av for alle tilgjengelige fdisk-kommandoer

Hvis du vil se alle kommandoer som er tilgjengelige for fdisk. Bare bruk følgende kommando ved å nevne harddisknavnet som /dev/sda som vist nedenfor. Følgende kommando vil gi deg utdata som ligner på nedenfor.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):

Skriv 'm' for å se listen over alle tilgjengelige kommandoer for fdisk som kan betjenes på /dev/sda harddisk. Etter at jeg skriver inn 'm' på skjermen, vil du se alle tilgjengelige alternativer for fdisk som du kan bruke på /dev/sda-enheten.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

4. Skriv ut all partisjonstabell i Linux

For å skrive ut all partisjonstabell på harddisken, må du være i kommandomodus for en bestemt harddisk, si /dev/sda.

[root@tecmint ~]# fdisk /dev/sda

Fra kommandomodus, skriv inn 'p' i stedet for 'm' som vi gjorde tidligere. Når jeg skriver inn «p», vil den skrive ut den spesifikke /dev/sda-partisjonstabellen.

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

5. Slik sletter du en partisjon i Linux

Hvis du ønsker å slette en bestemt partisjon (dvs. /dev/sda9) fra den spesifikke harddisken, for eksempel /dev/sda. Du må være i fdisk-kommandomodus for å gjøre dette.

[root@tecmint ~]# fdisk /dev/sda

Deretter skriver du inn «d» for å slette et gitt partisjonsnavn fra systemet. Når jeg skriver inn «d», vil det be meg om å angi partisjonsnummeret som jeg vil slette fra /dev/sda harddisk. Anta at jeg skriver inn nummeret «4» her, så vil det slette partisjonsnummeret «4» (dvs. /dev/sda4) disk og viser ledig plass i partisjonstabell. Skriv inn «w» for å skrive tabell til disk og avslutte etter å ha gjort nye endringer i partisjonstabellen. De nye endringene vil bare finne sted etter neste omstart av systemet. Dette kan lett forstås fra utgangen nedenfor.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): d
Partition number (1-4): 4

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

Advarsel: Vær forsiktig mens du utfører dette trinnet, fordi bruk av alternativet «d» vil slette partisjonen fullstendig fra systemet og kan miste all data i partisjonen.

6. Hvordan lage en ny partisjon i Linux

Hvis du har ledig plass igjen på en av enhetene dine, si /dev/sda og vil gjerne opprette en ny partisjon under den. Da må du være i fdisk-kommandomodus /dev/sda. Skriv inn følgende kommando for å gå inn i kommandomodus for en bestemt harddisk.

[root@tecmint ~]# fdisk /dev/sda

Etter å ha gått inn i kommandomodus, trykk nå "n" kommando for å lage en ny partisjon under /dev/sda med spesifikk størrelse. Dette kan demonstreres ved å følge gitt utdata.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e

Mens du oppretter en ny partisjon, vil den spørre deg om to alternativer «utvidet» eller «primær» partisjonsoppretting. Trykk "e" for utvidet partisjon og "p" for primær partisjon. Deretter vil den be deg om å angi følgende to innganger.

  1. Første sylindernummer for partisjonen som skal opprettes.
  2. Siste sylindernummer for partisjonen som skal opprettes (Siste sylinder, +sylindere eller +størrelse).

Du kan angi størrelsen på sylinderen ved å legge til «+5000M» i siste sylinder. Her betyr «+» tillegg og 5000M betyr størrelsen på den nye partisjonen (dvs. 5000MB). Husk at etter å ha opprettet en ny partisjon, bør du kjøre 'w'-kommandoen for å endre og lagre nye endringer i partisjonstabellen og til slutt starte systemet på nytt for å bekrefte den nyopprettede partisjonen.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

7. Hvordan formatere en partisjon i Linux

Etter at den nye partisjonen er opprettet, ikke hopp over å formatere den nyopprettede partisjonen ved å bruke 'mkfs'-kommandoen. Skriv inn følgende kommando i terminalen for å formatere en partisjon. Her /dev/sda4 er min nyopprettede partisjon.

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8. Hvordan sjekke størrelsen på en partisjon i Linux

Etter formatering av ny partisjon, kontroller størrelsen på den partisjonen ved å bruke flagget «s» (viser størrelse i blokker) med kommandoen fdisk. På denne måten kan du sjekke størrelsen på en bestemt enhet.

[root@tecmint ~]# fdisk -s /dev/sda2
5194304

9. Hvordan fikse partisjonstabellrekkefølge

Hvis du har slettet en logisk partisjon og gjenskapt den igjen, vil du kanskje legge merke til «partisjonen ute av drift»-problem eller feilmelding som «Partisjonstabelloppføringer er ikke i diskrekkefølge '.

For eksempel, når tre logiske partisjoner som (sda4, sda5 og sda6) slettes, og ny partisjon opprettes, kan du forvente den nye partisjonsnavnet vil være sda4. Men systemet ville opprette den som sda5. Dette skjer på grunn av, etter at partisjonen er slettet, sda7-partisjonen ble flyttet som sda4 og ledig plass flyttet til slutten.

For å fikse slike partisjonsrekkefølgeproblemer og tilordne sda4 til den nyopprettede partisjonen, utsted "x" for å gå inn i en ekstra funksjonalitetsseksjon og skriv deretter inn "f<' ekspertkommando for å fikse rekkefølgen på partisjonstabellen som vist nedenfor.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): x

Expert command (m for help): f
Done.

Expert command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Etter å ha kjørt 'f'-kommandoen, ikke glem å kjøre 'w'-kommandoen for å lagre og avslutte fdisk-kommandomodus. Når den har fikset partisjonstabellrekkefølgen, vil du ikke lenger få feilmeldinger.

10. Hvordan deaktivere oppstartsflagg (*) for en partisjon

Som standard viser fdisk-kommandoen oppstartsflagget (dvs. '*')-symbolet på hver partisjon. Hvis du vil aktivere eller deaktivere oppstartsflagg på en bestemt partisjon, gjør du følgende trinn.

[root@tecmint ~]# fdisk  /dev/sda

Trykk 'p'-kommandoen for å se gjeldende partisjonstabell, du ser at det er et oppstartsflagg (stjerne (*)-symbol i oransje farge) på /dev/ sda1disk som vist nedenfor.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Skriv deretter inn kommando 'a' for å deaktivere oppstartsflagg, og skriv deretter inn partisjonsnummer '1' som (dvs. /dev/sda1) i mitt tilfelle . Dette vil deaktivere oppstartsflagg på partisjonen /dev/sda1. Dette vil fjerne stjerneflagget (*).

Command (m for help): a
Partition number (1-9): 1

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

Jeg har prøvd så godt jeg kan å inkludere nesten alle grunnleggende kommandoer for fdisk-kommandoer, men fortsatt inneholder fdisk en rekke andre ekspertkommandoer du kan bruke dem ved å skrive inn 'x'. For mer detaljert informasjon, sjekk kommandoen «man fdisk» fra terminalen. Hvis jeg har gått glipp av en viktig kommando, vennligst del med meg via kommentarfeltet.

Les også:

  1. 12 “df ”-kommandoer for å sjekke diskplass i Linux
  2. 10 nyttige "du"-kommandoer for å finne diskbruk av filer og kataloger