10 fdisk ukazov za upravljanje particij diska Linux


stojala fdisk (za »fiksni disk ali disk s formatom«) je najpogosteje uporabljen pripomoček za upravljanje diska, ki temelji na ukazni vrstici, za sisteme Linux/Unix. S pomočjo ukaza fdisk si lahko na trdem disku ogledate, ustvarite, spremenite velikost, izbrišete, spremenite, kopirate in premaknete particije s pomočjo lastnega uporabniku prijaznega vmesnika, ki temelji na besedilu.

To orodje je zelo uporabno v smislu ustvarjanja prostora za nove particije, organiziranja prostora za nove pogone, reorganizacije starih pogonov in kopiranja ali premikanja podatkov na nove diskete. Omogoča vam, da ustvarite največ štiri nove primarne particije in število logičnih (razširjenih) particij glede na velikost trdega diska, ki ga imate v sistemu.

Ta članek pojasnjuje 10 osnovnih ukazov fdisk za upravljanje tabele particij v sistemih, ki temeljijo na Linuxu. Če želite zagnati ukaz fdisk, morate biti root uporabnik, sicer se prikaže napaka »ukaz ni najden«.

1. Oglejte si vse particije diska v Linuxu

Naslednji osnovni ukaz našteje vse obstoječe particije diska v vašem sistemu. Argument '-l' za (seznam vseh particij) se uporablja z ukazom fdisk za ogled vseh razpoložljivih particij v Linuxu. Pregrade so prikazane z imeni njihovih naprav. Na primer:/dev/sda,/dev/sdb ali/dev/sdc.

 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. Oglejte si določeno particijo diska v Linuxu

Za ogled vseh particij določenega trdega diska uporabite možnost -l z imenom naprave. Naslednji ukaz bo na primer prikazal vse particije diska naprave/dev/sda. Če imate različna imena naprav, preprosto napišite ime naprave kot/dev/sdb ali/dev/sdc.

 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. Preverite vse razpoložljive ukaze fdisk

Če si želite ogledati vse ukaze, ki so na voljo za fdisk. Preprosto uporabite naslednji ukaz, tako da omenite ime trdega diska, kot je/dev/sda, kot je prikazano spodaj. Naslednji ukaz vam bo dal izhod, podoben spodnjemu.

 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):

Vnesite „m“, da si ogledate seznam vseh razpoložljivih ukazov fdisk, ki jih je mogoče upravljati na trdem disku/dev/sda. Potem, ko na zaslonu vnesem 'm', boste videli vse razpoložljive možnosti za fdisk, ki jih lahko uporabljate v napravi/dev/sda.

 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. Natisnite vso particijsko tabelo v Linuxu

Če želite natisniti vso tabelo particij trdega diska, morate biti v ukaznem načinu določenega trdega diska, recimo/dev/sda.

 fdisk /dev/sda

V ukaznem načinu vnesite "p" namesto "m", kot smo to storili prej. Ko vnesem 'p', bo natisnil posebno particijsko tabelo/dev/sda.

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. Kako izbrisati particijo v Linuxu

Če želite z določenega trdega diska, kot je/dev/sda, izbrisati določeno particijo (tj./Dev/sda9). Če želite to narediti, morate biti v ukaznem načinu fdisk.

 fdisk /dev/sda

Nato vnesite »d«, da iz sistema izbrišete katero koli ime particije. Ko vnesem 'd', me bo pozval, da vnesem številko particije, ki jo želim izbrisati s trdega diska/dev/sda. Recimo, da sem vnesel številko '4', nato bo izbrisal disk s številko particije '4' (tj./Dev/sda4) in prikazal prosti prostor v particijski tabeli. Vnesite ‘w’, da zapišete tabelo na disk, in zapustite po novih spremembah particijske tabele. Nove spremembe bi se zgodile šele po naslednjem ponovnem zagonu sistema. To je enostavno razbrati iz spodnjega izhoda.

 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

Opozorilo: Med izvajanjem tega koraka bodite previdni, saj bo uporaba možnosti "d" popolnoma izbrisala particijo iz sistema in lahko izgubila vse podatke na particiji.

6. Kako ustvariti novo particijo v Linuxu

Če imate na svoji napravi dovolj prostora, recimo/dev/sda in bi radi ustvarili novo particijo pod njo. Potem morate biti v fdisk ukaznem načinu/dev/sda. Vnesite naslednji ukaz, da vstopite v ukazni način določenega trdega diska.

 fdisk /dev/sda

Po vstopu v ukazni način pritisnite ukaz “n”, da ustvarite novo particijo pod/dev/sda z določeno velikostjo. To lahko dokažemo s pomočjo naslednjih danih rezultatov.

 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

Med ustvarjanjem nove particije vas bo vprašala dve možnosti 'razširjena' ali 'primarna' izdelava particije. Pritisnite „e“ za razširjeno particijo in „p“ za primarno particijo. Nato vas bo pozval, da vnesete po dveh vnosih.

  1. Prva številka valja valja, ki jo želite ustvariti.
  2. Zadnja številka valja valja, ki jo želite ustvariti (zadnji valj, + cilindri ali + velikost).

Velikost cilindra lahko vnesete tako, da v zadnji valj dodate “+ 5000M”. Tu "+" pomeni dodajanje, 5000M pa velikost nove particije (tj. 5000 MB). Upoštevajte, da bi morali po ustvarjanju nove particije zagnati ukaz ‘w’, da spremenite in shranite nove spremembe v tabeli particij in na koncu znova zaženite sistem, da preverite novo ustvarjeno particijo.

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. Kako oblikovati particijo v Linuxu

Ko je nova particija ustvarjena, ne preskočite formatiranja novo ustvarjene particije z ukazom 'mkfs'. Vnesite naslednji ukaz v terminal za formatiranje particije. Tu je/dev/sda4 moja novo ustvarjena particija.

 mkfs.ext4 /dev/sda4

8. Kako preveriti velikost particije v Linuxu

Po formatiranju nove particije z ukazom fdisk preverite velikost te particije z uporabo zastavice 's' (velikost je prikazana v blokih). Na ta način lahko preverite velikost katere koli določene naprave.

 fdisk -s /dev/sda2
5194304

9. Kako popraviti vrstni red particijske tabele

Če ste izbrisali logično particijo in jo znova ustvarili, boste morda opazili težavo ali sporočilo o napaki »particija ne deluje«, na primer »Vnosi v tabelo particij niso v vrstnem redu diska«.

Če na primer izbrišete tri logične particije, kot so (sda4, sda5 in sda6), in ustvarite novo particijo, lahko pričakujete, da bo novo ime particije sda4. Toda sistem bi ga ustvaril kot sda5. To se zgodi, ker je bila particija sda7 po izbrisu particije premaknjena kot sda4 in pomik prostega prostora na konec.

Če želite odpraviti takšne težave z razdelitvijo particij in novo ustvarjeni particiji dodeliti sda4, izdajte x, da vnesete odsek dodatne funkcionalnosti, nato pa vnesite strokovni ukaz f, da popravite vrstni red particijske tabele, kot je prikazano spodaj.

 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.

Potem, ko zaženete ukaz „f“, ne pozabite zagnati ukaza „w“, da shranite in izstopite iz ukaznega načina fdisk. Ko popravi vrstni red particijske tabele, ne boste več prejemali sporočil o napakah.

10. Kako onemogočiti zagonsko zastavico (*) particije

Privzeto ukaz fdisk prikaže zagonsko zastavico (tj. '*') Na vsaki particiji. Če želite omogočiti ali onemogočiti zagonsko zastavico na določeni particiji, naredite naslednje.

 fdisk  /dev/sda

Pritisnite ukaz 'p', da si ogledate trenutno tabelo particij, vidite, da je na disku/dev/sda1 zagonska zastavica (zvezdica (*) v oranžni barvi), kot je prikazano spodaj.

 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

Nato vnesite ukaz "a", da onemogočite zagonsko zastavico, nato vnesite številko particije "1" kot (tj./Dev/sda1) v mojem primeru. To bo onemogočilo zagonsko zastavico na particiji/dev/sda1. S tem boste odstranili zvezdico (*).

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):

Po najboljših močeh sem poskušal vključiti skoraj vse osnovne ukaze fdisk ukazov, vendar fdisk vseeno vsebuje številne druge strokovne ukaze, ki jih lahko uporabite z vnosom 'x'. Za podrobnejše informacije si oglejte ukaz 'man fdisk' na terminalu. Če sem zamudil kakšen pomemben ukaz, prosim delite z mano prek komentarja.

Preberite tudi:

  1. 12 ukazov "df" za preverjanje prostora na disku v Linuxu
  2. 10 uporabnih ukazov "du" za iskanje datotek in imenikov na disku