Linux naredba — fdisk

fdisk je naredbeni redak particija editor koji vam omogućuje stvaranje, uređivanje i upravljanje particijama na tvrdim diskovima vašeg računala iz naredbenog retka. Postoje i drugi slični alati, kao što su cfdisk i parted, ali fdisk je lako najuniverzalniji i vjerojatno najjednostavniji.

Čak i ako ga ne planirate redovito koristiti, dobro je da svaki korisnik Linuxa ima opću ideju o tome kako raditi s fdisk, budući da je to izvrstan rezervni dio kada grafičke opcije nisu dostupne, a vjerojatno je već na vašem Linuxu sustav.

Prazne uredske kabine
Jetta Productions/Blend Images/Getty Images

Particionirajte pogon s fdisk

Ovaj vodič će vas provesti kroz osnove particioniranja tvrdog diska pomoću fdisk-a. Ovo je jednostavan, ali moćan alat koji nudi mnogo opcija za upravljanje vašim pogonima. Za potpuniji tehnički pregled pogledajte tehnički priručnik na kraju vodiča.

Particioniranje tvrdog diska izbrisat će sve podatke na njemu. Obavezno napravite sigurnosnu kopiju podataka ili radite s praznim pogonom.

  1. Započnite tako što ćete saznati gdje se nalazite tvrdi disk. Možete isprobati:

    ls /dev. 

    Zatim pokušajte otkriti o kojem je pogonu riječ. Vaš primarni pogon je vjerojatno /dev/sda, ali morate biti sigurni.

    Također možete pogledati /etc/fstab da vidite koji su pogoni gdje montirani. Ako vam daje UUID brojeve, možete tražiti UUID svake particije i vidjeti koji se podudaraju.

    sudo blkid /dev/sda1. 
  2. Zatim navedite trenutnu tablicu particija na pogonu pomoću -l zastava. Zamijenite "/dev/sda" svojim stvarnim pogonom.

    sudo fdisk -l /dev/sda. 
    Popis particija za Linux fdisk

    Ako radite s praznim diskom, ne bi trebalo biti puno toga.

  3. Ponovno pokrenite naredbu fdisk. Ovaj put, bez ikakvih zastava. Ovo će vas dovesti do fdisk konzole.

    sudo fdisk /dev/sda. 
    Linux fdisk konzola
  4. Nakon što ste u fdisk konzoli, možete početi raditi sa svojim particijama. Prvo, ako želite navesti particije kao prije, možete unijeti str ključ.

    str. 
    Linux fdisk popis particija s konzole
  5. Zatim upotrijebite n ključ za stvaranje nove particije.

    n. 
  6. Prompt će tada pitati želite li napraviti primarni ili proširena particija. Odaberite str(primarni).

    str. 
    Linux fdisk postavi vrstu particije
  7. Odaberite broj particije. Zadana vrijednost je 1, za prvu particiju, upotrijebite to.

    1. 
    Linux fdisk set particijski broj
  8. Zatim će vas tražiti da odaberete prvi sektor. Ne brini previše o ovome. Samo pritisnite Unesi za zadano.

    Linux fdisk postavi prvi sektor
  9. Sljedeći upit će vam omogućiti da odaberete veličinu svoje particije. Možete odrediti veličinu particije u megabajtima (M) ili gigabajtima (G). Pod pretpostavkom da postavljate pogon za instalaciju Linuxa, 512M je dobro mjesto za početak za particiju za pokretanje.

    +512M. 
    Linux fdisk je postavio veličinu particije
  10. Nakon što je to učinjeno, možete ponovno vidjeti svoju novu particiju pomoću str ključ.

    Linux fdisk particija stvorena
  11. Ako planirate koristiti svoju novu particiju kao particiju za pokretanje, morat ćete uključiti oznaku za pokretanje. Učinite to pritiskom na a. Zatim, ako se od vas zatraži, unesite broj particije. Ako je ovo jedini na vašem pogonu, jest 1.

    a
    1.
  12. Sada možete kreirati druge particije na svom pogonu. Započnite unosom n opet.

  13. Pritisnite 1 opet za primarnu particiju.

  14. Koristite zadani broj particije. Ako počinješ iznova, jest 2.

  15. Koristite i zadani prvi sektor. Počet će odmah nakon prethodne particije. Pritisnite Unesi nastaviti.

  16. Još jednom odaberite veličinu svog pogona. Ako želite postaviti root particiju s zasebnom kućnom particijom, nešto poput +20G će dobro funkcionirati. Ako želite zauzeti ostatak raspoloživog prostora, samo pritisnite Unesi.

    +20G. 
    Linux fdisk stvori preostale particije
  17. Ponovite ove korake za svaku novu particiju koju želite stvoriti na disku. Kada završite, pritisnite w za pisanje particione tablice na pogon.

    w. 
  18. Sada možete koristiti naredbu mkfs za formatiranje particija za korištenje. Za većinu Linux sustava, EXT4 datotečni sustav je ono što želite, tako da možete pokrenuti sljedeći skup naredbi za postavljanje vaših particija. Ovo pretpostavlja da radite na /dev/sda i da ste postavili odvojene kućne i korijenske particije.

    sudo mkfs.ext4 /dev/sda1
    sudo mkfs.ext4 /dev/sda2
    sudo mkfs.ext4 /dev/sda3.
    Particije u Linux formatu
  19. Vaš novo particionirani i formatirani pogon spreman je za korištenje. Ako ste pratili, možete instalirati i pokrenuti distribuciju Linuxa kao što je Arch Linux s particija koje ste upravo stvorili.

Fdisk Sinopsis

Ovdje je tehnički pregled fdiska i njegovih opcija i mogućnosti:

fdisk [-u] [-b veličine sektora][-C cilindri] [-H glave] [-S sekteuređaj

fdisk -l [-u] [uređaj ...]

fdisk -s particija ...

fdisk -v

Fdisk i particije

Tvrdi diskovi se mogu podijeliti na jedan ili više logičkih diskova tzv pregrade. Ova podjela je opisana u pregradni stol pronađeno u sektoru 0 diska.

U svijetu BSD-a govori se o 'srezovima diska' i 'disklabelu'.

Linux treba barem jednu particiju, odnosno za svoj root sustav datoteka. Može koristiti swap datoteke i/ili swap particije, ali potonje je učinkovitije. Dakle, obično će se željeti druga Linux particija posvećena kao swap particija.

Na hardveru kompatibilnom s Intelom, BIOS koji pokreće sustav često može pristupiti samo prvih 1024 cilindra diska. Iz tog razloga, ljudi s velikim diskovima često stvaraju treću particiju, veliku samo nekoliko MB, obično montiranu na /boot, za pohranu slike kernela i nekoliko pomoćnih datoteka potrebnih prilikom pokretanja kako bi se osiguralo da su ove stvari dostupne BIOS-u.

Mogu postojati razlozi sigurnosti, jednostavnosti administracije i sigurnosnog kopiranja ili testiranja za korištenje više od minimalnog broja particija.

Kako Fdisk radi

fdisk (u prvom obliku pozivanja) je program vođen izbornikom za kreiranje i manipulaciju particijskim tablicama. Razumije particione tablice tipa DOS i oznake diska tipa BSD ili SUN.

The uređaj obično je jedno od sljedećeg:

  • /dev/hda /dev/hdb /dev/sda /dev/sdb
  • (/dev/hd[a-h] za IDE diskove, /dev/sd[a-p] za SCSI diskove, /dev/ed[a-d] za ESDI diskove, /dev/xd[ab] za XT diskove).

(Naziv uređaja odnosi se na cijeli disk.)

The particija je uređaj naziv nakon kojeg slijedi broj particije. Na primjer, /dev/hda1 je prva particija na prvom IDE tvrdom disku u sustavu. Diskovi mogu imati do 15 particija. Vidi također/usr/src/linux/Documentation/devices.txt.

Disklabel tipa BSD/SUN

Oznaka diska tipa BSD/SUN može opisati 8 particija, od kojih bi treća trebala biti particija 'cijeli disk'. Nemojte pokretati particiju koja zapravo koristi svoj prvi sektor (poput swap particije) na cilindru 0, jer će to uništiti oznaku diska.

Disklabel tipa RIX/SGI

Oznaka diska tipa IRIX/SGI može opisati 16 particija, od kojih bi jedanaesta trebala biti cijela particija 'volumena', dok bi deveta trebala biti s oznakom "zaglavlje volumena". Zaglavlje volumena također će pokriti particijsku tablicu, tj. počinje na nultom bloku i proteže se prema zadanim postavkama na pet cilindri. Preostali prostor u zaglavlju volumena mogu koristiti unosi u imenik zaglavlja.

Nijedna particija ne smije se preklapati sa zaglavljem volumena. Također nemojte mijenjati njen tip i napraviti neki datotečni sustav na njemu, jer ćete izgubiti particijsku tablicu. Koristite ovu vrstu oznake samo kada radite s Linuxom na IRIX/SGI strojevima ili IRIX/SGI diskovima pod Linuxom.

Tablica particija tipa DOS

Tablica particija tipa DOS može opisati neograničen broj particija. U sektoru 0 ima mjesta za opis 4 particije (zvane 'primarne'). Jedna od njih može biti proširena particija; ovo je okvir koji sadrži logičke particije, s deskriptorima koji se nalaze na povezanom popisu sektora, od kojih svaki prethodi odgovarajućoj logičkoj particiji. Četiri primarne particije, prisutne ili ne, dobivaju brojeve 1-4. Logičke particije počinju numerirati od 5.

U tablici particija tipa DOS početni pomak i veličina svake particije pohranjuju se na dva načina: kao apsolutni broj sektora (dan u 32 bita) i kao trostruka Cilindri/Glave/Sektori (dano u 10+8+6 komadići). Prvo je OK; sa sektorima od 512 bajta, ovo će raditi do 2 TB. Potonji ima dva različita problema. Prije svega, ova polja C/H/S mogu se ispuniti samo kada je poznat broj glava i broj sektora po stazi.

Drugo, čak i ako znamo koji bi ti brojevi trebali biti, 24 bita koja su dostupna nisu dovoljna. DOS koristi samo C/H/S, Windows koristi oboje, Linux nikada ne koristi C/H/S.

Geometrija diska

Ako je moguće, fdisk automatski će dobiti geometriju diska. Ovo nije nužno fizička geometrija diska (zapravo, moderni diskovi zapravo nemaju ništa poput fizičke geometrije, sigurno ne nešto što se može opisati u pojednostavljenom obliku Cilindri/Glave/Sektori), ali je geometrija diska koju MS-DOS koristi za particiju stol.

Obično sve ide dobro prema zadanim postavkama i nema problema ako je Linux jedini sustav na disku. Međutim, ako se disk mora dijeliti s drugim operativnim sustavima, često je dobro pustiti fdisk iz drugog operacijskog sustava da napravi barem jednu particiju. Kada se Linux pokrene, gleda u tablicu particija i pokušava zaključiti koja je (lažna) geometrija potrebna za dobru suradnju s drugim sustavima.

Provjera dosljednosti

Kad god se tablica particija ispisuje, provodi se provjera konzistentnosti unosa particione tablice. Ova provjera potvrđuje da su fizička i logička početna i krajnja točka identične te da particija počinje i završava na granici cilindra (osim prve particije).

Neke verzije MS-DOS-a stvaraju prvu particiju koja ne počinje na granici cilindra, već na sektoru 2 prvog cilindra. Particije koje počinju u cilindru 1 ne mogu započeti na granici cilindra, ali je malo vjerojatno da će to uzrokovati poteškoće osim ako nemate OS/2 na vašem računalu.

Sinc() i BLKRRPART ioctl() (ponovno čitanje tablice particija s diska) izvode se prije izlaska kada je tablica particija ažurirana. Davno je bilo potrebno ponovno podizanje sustava nakon korištenja fdiska. Mislim da to više nije slučaj; doista, prebrzo ponovno pokretanje može uzrokovati gubitak podataka koji još nisu napisani. Imajte na umu da i kernel i hardver diska mogu spremiti podatke u međuspremnik.

Dos 6.x Upozorenje

Naredba DOS 6.x FORMAT traži neke informacije u prvom sektoru podatkovnog područja particije i tretira te informacije kao pouzdanije od informacija u tablici particija. DOS FORMAT očekuje da DOS FDISK izbriše prvih 512 bajtova podatkovnog područja particije kad god dođe do promjene veličine. DOS FORMAT će pogledati ove dodatne informacije čak i ako je data oznaka /U — to smatramo greškom u DOS FORMATU i DOS FDISK-u.

Suština je da ako koristite cfdisk ili fdisk za promjenu veličine unosa u DOS particijskoj tablici, tada također morate koristiti dd na nulu prvih 512 bajtova te particije prije korištenja DOS FORMAT za formatiranje particije. Na primjer, ako ste koristili cfdisk za unos DOS particione tablice za /dev/hda1, tada (nakon izlaska iz fdisk-a ili cfdisk-a i ponovnog pokretanja Linux tako da su informacije o tablici particija valjane) upotrijebili biste naredbu "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" za nuliranje prvo 512 bajtova particije.

Budite izuzetno oprezni ako koristite dd naredbu, budući da mala tipkarska pogreška može učiniti sve podatke na vašem disku beskorisnima.

Za najbolje rezultate uvijek biste trebali koristiti program particionih tablica specifičan za OS. Na primjer, trebali biste napraviti DOS particije s programom DOS FDISK i Linux particije s programom Linux fdisk ili Linux cfdisk.

Mogućnosti fdisk

-b veličine sektora: Odredite veličinu sektora diska. Važeće vrijednosti su 512, 1024 ili 2048. (Nedavni kerneli znaju veličinu sektora. Koristite ovo samo na starim kernelima ili za nadjačavanje ideja kernela.)

-C cilindri:Odredite broj cilindara diska. Nemamo pojma zašto bi itko to želio učiniti.

-H glave:Odredite broj glava diska. (Ne fizički broj, naravno, već broj koji se koristi za particione tablice.) Razumne vrijednosti su 255 i 16.

-S sekte: Odredite broj sektora po stazi diska. (Ne fizički broj, naravno, već broj koji se koristi za particione tablice.) Razumna vrijednost je 63.

-l:Popis tablica particija za navedene uređaje i zatim izađite. Ako nisu navedeni uređaji, oni navedeni u /proc/partitions (ako postoji).

-u:Kada navodite particione tablice, navedite veličine u sektorima umjesto u cilindrima.

-s particija: The veličina particije (u blokovima) ispisuje se na standardnom izlazu.

-v: Ispis broja verzije fdisk program i izlaz.