FDISK(8) Administracja systemem FDISK(8) NAZWA fdisk - obsluguje tablice partycji dysku SKLADNIA fdisk [opcje] urzadzenie fdisk -l [urzadzenie...] OPIS fdisk to obslugiwany z pomoca okien dialogowych program do tworzenia i zmieniania tablicy partycji dysku twardego. Obsluguje tablice partycji typu GPT, MBR, Sun, SGI i BSD. Urzadzenia blokowe moga byc podzielone na jeden lub wiecej logicznych dyskow zwanych partycjami. Podzial ten jest zapisany w tablicy partycji znajdujacej sie zwykle w sektorze 0 dysku (w swiecie BSD mowi sie o tzw. plastrach dyskowych "disk slice" i etykietach dysku "disklabel"). Partycjonowanie przestrzega domyslnie limitow wejscia/wyjscia urzadzenia (topologii). fdisk jest w stanie zoptymalizowac schemat dysku do 4-kilobajtowego rozmiaru sektora oraz uzywa wyrownania przesuniecia na wspolczesnych dyskach korzystajacych z MBR i GPT. Zawsze powinno sie korzystac z ustawien domyslnych programu fdisk, poniewaz domyslne wartosci (np. poczatkowego i koncowego sektora partycji) i rozmiary partycji podane w notacji +/-{M,G,...} sa zawsze wyrownywane zgodnie z wlasciwosciami urzadzenia. Adresowanie cylinder-glowica-sektor (ang. Cylinder-Head-Sector - CHS) jest przestarzale i nie jest domyslnie stosowane. Nie nalezy korzystac ze starych artykulow i rekomendacji z poleceniem fdisk -S -H do napedow SSD lub urzadzen z sektorami 4K. Bogaty interfejs do wyswietlania schematow dyskow dla skryptow zapewnia partx(8); fdisk jest przeznaczony raczej dla ludzi. Kompatybilnosc wsteczna w wyjsciu fdisk nie jest gwarantowana. Wejscie (polecenia) powinny pozostac wstecznie kompatybilne. OPCJE -b, --sector-size rozmiar-sektora Okresla rozmiar sektora dysku. Mozliwe wartosci sa nastepujace: 512, 1024, 2048 i 4096. Jadra jest swiadome rozmiaru sektora zwyklych urzadzen blokowych. Prosze uzywac tej opcji tylko dla bardzo starych jader, przy pracy z obrazami dysku lub w celu nadpisania wartosci domyslnej jadra. Od util-linux-2.17 fdisk rozroznia logiczny i fizyczny rozmiar sektora. Ta opcja zmienia obie wartosci rozmiarow sektora na podany rozmiar-sektora. -B, --protect-boot Nie zamazuje poczatku pierwszego sektora dysku przy tworzeniu nowej etykiety dysku. Ta funkcja jest obslugiwana w przypadku GPT i MBR. -c, --compatibility[=tryb] Okresla tryb kompatybilnosci, "dos" lub "nondos". Domyslnym trybem jest niedosowy. Aby zachowac kompatybilnosc wsteczna, mozliwe jest uzycie tej opcji bez argumentu tryb - uzywana jest wowczas wartosc domyslna. Prosze zauwazyc, ze opcjonalny argument tryb nie moze byc oddzielony od opcji -c spacja, poprawna forma jest np. -c=dos. -L, --color[=kiedy] Koloryzuje wynik. Opcjonalnym argumentem kiedy moze byc auto, never (nigdy) lub always (zawsze). Gdy nie poda sie argumentu kiedy, domyslnym ustawieniem jest auto. Kolory moga byc wylaczone; aktualne wbudowane ustawienie domyslne pokaze opcja --help. Zob. rowniez rozdzial KOLORY. -l, --list Wypisuje tablice partycji dla podanych urzadzen i konczy dzialanie. Jezeli nie podano zadnych urzadzen, to uzywane sa urzadzenia wymienione w pliku /proc/partitions (o ile taki plik istnieje). Urzadzenia sa zawsze wypisywane w kolejnosci w jakiej podano je w wierszu polecen lub w kolejnosci jadra z pliku /proc/partitions. -x, --list-details Jak --list, ale bardziej szczegolowo. --lock[=tryb] Uzywa blokady na wylacznosc BSD do urzadzen i plikow na ktorych dziala. Opcjonalnym argumentem tryb moze byc yes, no (albo 1 lub 0) lub tez nonblock. Jesli nie poda sie trybu, domyslna wartoscia jest yes. Opcja ta przeslania zmienna srodowiskowa $LOCK_BLOCK_DEVICE. Choc domyslnie nie jest uzywana zadna blokada, zaleca sie jej uzycie aby uniknac kolizji z systemd-udevd(8) i innymi narzedziami. -n, --noauto-pt Nie tworzy automatycznie domyslnej tablicy partycji na pustym urzadzeniu. Tablica partycji musi byc utworzona wprost przez uzytkownika (poleceniami takimi jak "o", "g" itp.). -o, --output lista Okresla wypisywane kolumny. Ich liste mozna poznac podajac opcje --help. Domyslna liste kolumn mozna rozszerzyc, jesli liste poda sie w formacie +lista (np. -o +UUID). -s, --getsz Wyswietla rozmiar jako 512-bajtowe sektory kazdego podanego urzadzenia blokowego. Ta opcja jest PRZESTARZALA na korzysc blockdev(8). -t, --type typ Wlacza obsluge etykiet dysku wylacznie podanego typu, wylaczajac obsluge pozostalych typow. -u, --units[=jednostka] Podczas wypisywania tablic partycji pokazuje rozmiary w "sectors" (sektorach) lub w "cylinders" (cylindrach). Domyslnie uzywane sa sektory. Ze wzgledu na kompatybilnosc wsteczna, mozliwe jest uzycie tej opcji bez argumentu jednostki -- uzywana jest wowczas wartosc domyslna. Prosze zauwazyc, ze opcjonalny argument jednostka nie moze byc oddzielony od opcji -u spacja, poprawna forma jest np. "-u=cylinders". -C, --cylinders liczba Okresla liczbe cylindrow dysku. Prawdopodobnie nie ma osoby, ktora mialaby powod aby uzywac tej opcji. -H, --heads liczba Okresla liczbe glowic dysku (oczywiscie nie ich fizyczna liczbe, lecz liczbe uzywana do tablic partycji). Rozsadnymi wartosciami sa 255 i 16. -S, --sectors liczba Okresla liczbe sektorow dysku na sciezke (oczywiscie nie ich fizyczna liczbe, lecz liczbe uzywana do tablic partycji). Rozsadna wartoscia jest 63. -w, --wipe kiedy Usuwa sygnatury systemu plikow, tablicy partycji i RAID aby zapobiec ewentualnym kolizjom. Argument kiedy moze przyjac wartosc auto, never (nigdy) lub always (zawsze). Gdy nie poda sie tej opcji, domyslnie stosowane jest ustawienie auto, ktore usuwa sygnatury tylko w trybie interaktywnym. W kazdym przypadku wykryte sygnatury skutkuja wypisaniem ostrzezenia przed utworzeniem nowej tablicy partycji. Zob. tez polecenie wipefs(8). -W, --wipe-partitions kiedy Usuwa sygnatury systemu plikow, tablicy partycji i RAID z nowo tworzonych partycji, aby zapobiec ewentualnym kolizjom. Argument kiedy moze przyjac wartosc auto, never lub always. Gdy nie poda sie tej opcji, domyslnie stosowane jest ustawienie auto, ktore usuwa sygnatury tylko w trybie interaktywnym i po potwierdzeniu przez uzytkownika. W kazdym przypadku wykryte sygnatury skutkuja wypisaniem ostrzezenia przed utworzeniem nowej tablicy partycji. Zob. tez polecenie wipefs(8). -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. URZADZENIA Urzadzenie to z reguly /dev/sda, /dev/sdb itp. Nazwy urzadzen odnosza sie do calego dysku. Stare systemy bez libata (biblioteki uzywanej wewnatrz jadra Linux do obslugi kontrolerow i urzadzen ATA) rozrozniaja dyski IDE i SCSI. W takich przypadkach nazwami urzadzen beda /dev/hd* (IDE) lub /dev/sd* (SCSI). Partycja to nazwa urzadzenia, za ktora nastepuje numer partycji. Na przyklad, /dev/sda1 jest pierwsza partycja pierwszego dysku twardego w systemie. Prosze rowniez zapoznac sie z dokumentacja jadra Linux (plik Documentation/admin-guide/devices.txt). ROZMIARY Okno "ostatni sektor" akceptuje podanie rozmiaru partycji za pomoca liczby sektorow albo w notacji +/-{K,B,M,G,...}. Jesli rozmiar poprzedzi sie plusem "+", to jest on interpretowany jako liczony w odniesieniu do pierwszego sektora partycji. Jesli przedrostkiem bedzie minus "-", to jest on interpretowany w odniesieniu do ostatniego dostepnego sektora partycji. Gdy poda sie rozmiar w bajtach, po liczbie tej moga wystepowac przyrostki oznaczajace wielokrotnosc: KiB (1024 bajtow), MiB (1024*1024 bajtow) itd. dla GiB, TiB, PiB, EiB, ZiB i YiB. Czastka "iB" jest opcjonalna, tzn. "K" ma to samo znaczenie co "KiB". Rozmiary relatywne, jesli uzyto przyrostkow oznaczajacych wielokrotnosc (np. +100MiB), sa zawsze wyrownywane zgodnie z limitami wejscia/wyjscia danego urzadzenia. Zaleca sie stosowanie notacji +/-{K,B,M,G,...}. Ostatni sektor partycji jest obliczany bezwzglednie jako (bez -1), jesli rozmiar podano za pomoca notacji +. W takim przypadku, rozmiar nie jest wyrownywany do limitow wejscia/wyjscia urzadzenia. W celu kompatybilnosci wstecznej fdisk przyjmuje rowniez przyrostki KB (1000 bajtow), MB (1000*1000 bajtow) itd. dla GB, TB, PB, EB, ZB i YB. Te przyrostki utworzone w oparciu o notacje 10^N sa przestarzale. PLIKI SKRYPTOW fdisk pozwala na odczytanie (poleceniem "I") skryptow kompatybilnych z sfdisk(8). Skrypt jest nastepnie stosowany do tablicy partycji przechowywanej w pamieci, a pozniej istnieje mozliwosc jej modyfikacji przed ostatecznym zapisaniem na dysk. Dziala to rowniez w druga strone, poniewaz poleceniem "O" mozna zapisac aktualny schemat dysku przechowywany w pamieci do skryptu. Pliki skryptow sa kompatybilne pomiedzy cfdisk(8), sfdisk(8), fdisk i pozostalymi programami libfdisk. Wiecej szczegolow w podreczniku sfdisk(8). ETYKIETY DYSKU GPT (GUID Partition Table) GPT to nowoczesny standard opisujacy schemat tablicy partycji. GTP uzywa 64-bitowe logicznych adresow blokow, sum kontrolnych, UUID-ow i nazw dla partycji. Nie ma ograniczen w liczbie partycji (choc wiele narzedzi partycjonujacych ogranicza te liczbe do 128). Prosze zauwazyc, ze w specyfikacji GPT pierwszy sektor jest wciaz przeznaczony na ochronne MBR. Unika sie w ten sposob blednego rozpoznania i zamazania dyskow GPT przez narzedzia partycjonujace znajace tylko MBR. GPT jest zawsze lepszym wyborem niz MBR, szczegolnie na nowoczesnym sprzecie korzystajacym z UEFI. Typu DOS-owego (MBR) Tablica partycji typu DOS moze opisac nieograniczona liczbe partycji. W sektorze 0 jest miejsce na opis 4 partycji (zwanych podstawowymi -- "primary"). Jedna z nich moze byc partycja rozszerzona; jest ona jakby pudelkiem zawierajacym partycje logiczne, ktorych deskryptory mozna znalezc w wiazanej liscie sektorow, z ktorych kazdy poprzedza odpowiadajaca partycje logiczna. Cztery podstawowe partycje, niezaleznie od tego czy sa obecne, czy nie, otrzymuja numery od 1 do 4. Numery partycji logicznych zaczynaja sie od 5. W tablicy partycji typu DOS poczatkowe przesuniecie i rozmiar kazdej partycji przechowywany jest na dwa sposoby: jako bezwzgledna liczba sektorow (zapisywana na 32 bitach) i jako trojka Cylindry/Glowice/Sektory (Cylinders/Heads/Sectors) (zapisywana na 10+8+6 bitach). Pierwszy zapis jest w porzadku - przy 512-bajtowych sektorach bedzie dzialal az do 2 TB. W przypadku drugiego zapisu wystepuja dwa problemy. Przede wszystkim pola C/H/S moga byc wypelnione tylko wtedy, gdy znana jest liczba glowic oraz liczba sektorow na sciezce. Po drugie, nawet jezeli te liczby sa znane, to te 24 bity, ktore sa dostepne, nie wystarczaja. DOS uzywa tylko C/H/S, Windows -- obu, a Linux nigdy nie uzywa C/H/S. Adresowanie C/H/S jest przestarzale i moze w przyszlosci nie byc obslugiwane przez ktoras z wersji fdisk. Prosze zapoznac sie z rozdzialem o trybie DOS-owym, aby utworzyc partycje kompatybilne z DOS-em. Domyslnie, fdisk nie troszczy sie o granice cylindrow. Typu BSD/Sun Etykieta dysku typu BSD/Sun moze opisywac 8 partycji, z ktorych trzecia powinna byc specjalna partycja oznaczajaca caly dysk. Partycji, ktora uzywa swojego pierwszego sektora (jak na przyklad partycja wymiany) nie nalezy umieszczac w cylindrze 0, poniewaz zniszczy to etykiete dysku. Prosze zauwazyc, ze etykieta BSD jest zwykle zagniezdzona w partycji DOS. Typu IRIX/SGI Etykieta dysku IRIX/SGI moze opisywac 16 partycji, z ktorych jedenasta powinna byc partycja calego "woluminu", natomiast dziewiata powinna byc tzw. "naglowkiem woluminu". Naglowek woluminu takze pokrywa cala tablice partycji, tzn. zaczyna sie w bloku zerowym i domyslnie ciagnie sie przez piec cylindrow. Pozostale miejsce w naglowku woluminu moze byc uzyte przez wpisy glownych katalogow. Zadna partycja nie moze nachodzic na naglowek woluminu. Takze, nie nalezy zmieniac typu naglowka woluminu, ani tworzyc na nim systemu plikow, poniewaz spowoduje to utrate tablicy partycji. Prosze uzywac tego typu etykiety dysku tylko podczas pracy z Linuksem na komputerach IRIX/SGI lub podczas pracy z dyskami IRIX/SGI pod Linuksem. Gdy zaktualizowano tablice partycji, to przed wyjsciem wykonywane jest sync(2) i ioctl(BLKRRPART) (ponowne odczytanie tablicy partycji z dysku). OSTRZEZENIE TRYBU DOS I DOS 6.X Caly ten rozdzial jest nieaktualny. W zadnym ze wspolczesnych systemow operacyjnych nie ma potrzeby martwic sie takimi rzeczami jak geometria czy cylindry. Jesli naprawde konieczne jest stosowanie partycjonowanie kompatybilnego z DOS-em konieczne jest wlaczenie trybu DOS i cylindrow jako jednostek za pomoca opcji wiersza polecen "-c=dos -u=cylinders". Komenda FORMAT z DOS 6.x szuka informacji w pierwszym sektorze obszaru danych partycji i traktuje je jako godniejsze zaufania niz informacje z tablicy partycji. Dosowy FORMAT oczekuje od dosowego FDISK-a, ze ten wyczysci pierwsze 512 bajtow obszarow danych przy kazdej zmianie rozmiarow. Dosowy FORMAT zajrzy do tych dodatkowych danych nawet z flaga /U -- uwazamy to za blad tych programow. Tak wiec uzywajac programu cfdisk(8) lub fdisk do zmiany rozmiaru partycji dosowej, nalezy tez uzyc dd(1) do wyzerowania pierwszych 512 bajtow tej partycji przed uzyciem dosowego FORMAT. Na przyklad, po utworzeniu dosowej partycji /dev/sda1 programem fdisk (po wyjsciu z fdisk i przeladowaniu Linuksa, dzieki czemu informacje o tablicy partycji beda poprawne), powinno sie wykonac polecenie dd if=/dev/zero of=/dev/hda1 bs=512 count=1, ktore zeruje pierwszych 512 bajtow partycji. fdisk zwykle automatycznie uzyska informacje o geometrii dysku. Niekoniecznie musi to byc fizyczna geometria dysku (co wiecej, nowoczesne dyski w rzeczywistosci nie maja czegos takiego jak fizyczna geometria, a w kazdym razie nie maja niczego, co mogloby byc opisane w prostej postaci cylindry/glowice/sektory), lecz geometria, ktorej uzywa MS-DOS dla tablicy partycji. Zazwyczaj wszystko idzie dobrze i nie ma zadnych problemow, jezeli Linux jest jedynym systemem na dysku. Jednakze, jesli dysk bedzie dzielony z innymi systemami operacyjnymi, to dobrym pomyslem jest utworzenie co najmniej jednej partycji programem fdisk pochodzacym z innego systemu operacyjnego. Linux, podczas uruchamiania, przeglada tablice partycji i stara sie wywnioskowac, jaka (falszywa) geometria dysku jest wymagana, zeby mogl dobrze wspolpracowac z innymi systemami. Gdy wypisywana jest tablica partycji, w trybie DOS dokonywane jest sprawdzenie spojnosci wpisow tablicy. Sprawdzane jest, czy fizyczne i logiczne punkty startowe i koncowe sa takie same, oraz czy partycja rozpoczyna sie i konczy w granicach cylindrow (poza pierwsza partycja). Niektore wersje MS-DOS tworza pierwsza partycje, ktora nie rozpoczyna sie na granicy cylindra, lecz na 2 sektorze pierwszego cylindra. Partycje rozpoczynajace sie na cylindrze 1 nie moga rozpoczynac sie na granicy cylindra, lecz raczej nie powinno to sprawiac problemow, chyba ze uzywany jest OS/2. Dla najlepszych wynikow, zawsze powinno sie uzywac fdiska typowego dla danego systemu operacyjnego. Na przyklad, partycje dosowe powinno sie tworzyc dosowym FDISK-iem, a linuksowe -- linuksowymi programami fdisk lub cfdisk(8). KOLORY Kolorowanie wyjsciowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie mozna wylaczyc za pomoca pustego pliku /etc/terminal-colors.d/fdisk.disable dla polecenia fdisk albo dla wszystkich narzedzi plikiem /etc/terminal-colors.d/disable Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option. Globalne ustawienie przeslonia $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d danego uzytkownika. Prosze zauwazyc, ze kolorowanie wyjscia moze byc domyslnie wlaczone i wowczas katalogi terminal-colors.d moga jeszcze nie istniec. Logiczne nazwy kolorow obslugiwane przez fdisk to: header Naglowek tabel wyjsciowych. help-title Tytuly sekcji pomocy. warn Ostrzezenia. welcome Powitania. SRODOWISKO FDISK_DEBUG=all wlacza wyjscie debugowania fdisk. LIBFDISK_DEBUG=all wlacza wyjscie debugowania libfdisk. LIBBLKID_DEBUG=all wlacza wyjscie debugowania libblkid. LIBSMARTCOLS_DEBUG=all wlacza wyjscie debugowania libsmartcols. LIBSMARTCOLS_DEBUG_PADDING=on uzywa widocznych znakow wypelnienia. LOCK_BLOCK_DEVICE= uzywa blokady na wylacznosc BSD. Tryb to "1" lub "0". Wiecej informacji w opisie opcji --lock. AUTORZY Karel Zak , Davidlohr Bueso Pierwotna wersje napisali Andries E. Brouwer, A. V. Le Blanc i inni. ZOBACZ TAKZE cfdisk(8), mkfs(8), partx(8), sfdisk(8) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie fdisk jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.41 2025-03-29 FDISK(8)