Provided by: util-linux-locales_2.41.2-4ubuntu1_all 

NAZWA
fdisk - obsługuje tablicę partycji dysku
SKŁADNIA
fdisk [opcje] urządzenie
fdisk -l [urządzenie...]
OPIS
fdisk to obsługiwany z pomocą okien dialogowych program do tworzenia i zmieniania tablicy partycji dysku
twardego. Obsługuje tablice partycji typu GPT, MBR, Sun, SGI i BSD.
Urządzenia blokowe mogą być podzielone na jeden lub więcej logicznych dysków zwanych partycjami. Podział
ten jest zapisany w tablicy partycji znajdującej się zwykle w sektorze 0 dysku (w świecie BSD mówi się o
tzw. plastrach dyskowych "disk slice" i etykietach dysku "disklabel").
Partycjonowanie przestrzega domyślnie limitów wejścia/wyjścia urządzenia (topologii). fdisk jest w stanie
zoptymalizować schemat dysku do 4-kilobajtowego rozmiaru sektora oraz używa wyrównania przesunięcia na
współczesnych dyskach korzystających z MBR i GPT. Zawsze powinno się korzystać z ustawień domyślnych
programu fdisk, ponieważ domyślne wartości (np. początkowego i końcowego sektora partycji) i rozmiary
partycji podane w notacji +/-<rozmiar>{M,G,...} są zawsze wyrównywane zgodnie z właściwościami
urządzenia.
Adresowanie cylinder-głowica-sektor (ang. Cylinder-Head-Sector - CHS) jest przestarzałe i nie jest
domyślnie stosowane. Nie należy korzystać ze starych artykułów i rekomendacji z poleceniem fdisk -S <n>
-H <n> do napędów SSD lub urządzeń z sektorami 4K.
Bogaty interfejs do wyświetlania schematów dysków dla skryptów zapewnia partx(8); fdisk jest przeznaczony
raczej dla ludzi. Kompatybilność wsteczna w wyjściu fdisk nie jest gwarantowana. Wejście (polecenia)
powinny pozostać wstecznie kompatybilne.
OPCJE
-b, --sector-size rozmiar-sektora
Określa rozmiar sektora dysku. Możliwe wartości są następujące: 512, 1024, 2048 i 4096. Jądra jest
świadome rozmiaru sektora zwykłych urządzeń blokowych. Proszę używać tej opcji tylko dla bardzo
starych jąder, przy pracy z obrazami dysku lub w celu nadpisania wartości domyślnej jądra. Od
util-linux-2.17 fdisk rozróżnia logiczny i fizyczny rozmiar sektora. Ta opcja zmienia obie wartości
rozmiarów sektora na podany rozmiar-sektora.
-B, --protect-boot
Nie zamazuje początku pierwszego sektora dysku przy tworzeniu nowej etykiety dysku. Ta funkcja jest
obsługiwana w przypadku GPT i MBR.
-c, --compatibility[=tryb]
Określa tryb kompatybilności, "dos" lub "nondos". Domyślnym trybem jest niedosowy. Aby zachować
kompatybilność wsteczną, możliwe jest użycie tej opcji bez argumentu tryb - używana jest wówczas
wartość domyślna. Proszę zauważyć, że opcjonalny argument tryb nie może być oddzielony od opcji -c
spacją, poprawną formą jest np. -c=dos.
-L, --color[=kiedy]
Koloryzuje wynik. Opcjonalnym argumentem kiedy może być auto, never (nigdy) lub always (zawsze). Gdy
nie poda się argumentu kiedy, domyślnym ustawieniem jest auto. Kolory mogą być wyłączone; aktualne
wbudowane ustawienie domyślne pokaże opcja --help. Zob. również rozdział KOLORY.
-l, --list
Wypisuje tablice partycji dla podanych urządzeń i kończy działanie.
Jeżeli nie podano żadnych urządzeń, to używane są urządzenia wymienione w pliku /proc/partitions (o
ile taki plik istnieje). Urządzenia są zawsze wypisywane w kolejności w jakiej podano je w wierszu
poleceń lub w kolejności jądra z pliku /proc/partitions.
-x, --list-details
Jak --list, ale bardziej szczegółowo.
--lock[=tryb]
Używa blokady na wyłączność BSD do urządzeń i plików na których działa. Opcjonalnym argumentem tryb
może być yes, no (albo 1 lub 0) lub też nonblock. Jeśli nie poda się trybu, domyślną wartością jest
yes. Opcja ta przesłania zmienną środowiskową $LOCK_BLOCK_DEVICE. Choć domyślnie nie jest używana
żadna blokada, zaleca się jej użycie aby uniknąć kolizji z systemd-udevd(8) i innymi narzędziami.
-n, --noauto-pt
Nie tworzy automatycznie domyślnej tablicy partycji na pustym urządzeniu. Tablica partycji musi być
utworzona wprost przez użytkownika (poleceniami takimi jak "o", "g" itp.).
-o, --output lista
Określa wypisywane kolumny. Ich listę można poznać podając opcję --help.
Domyślną listę kolumn można rozszerzyć, jeśli listę poda się w formacie +lista (np. -o +UUID).
-s, --getsz
Wyświetla rozmiar jako 512-bajtowe sektory każdego podanego urządzenia blokowego. Ta opcja jest
PRZESTARZAŁA na korzyść blockdev(8).
-t, --type typ
Włącza obsługę etykiet dysku wyłącznie podanego typu, wyłączając obsługę pozostałych typów.
-u, --units[=jednostka]
Podczas wypisywania tablic partycji pokazuje rozmiary w "sectors" (sektorach) lub w "cylinders"
(cylindrach). Domyślnie używane są sektory. Ze względu na kompatybilność wsteczną, możliwe jest
użycie tej opcji bez argumentu jednostki — używana jest wówczas wartość domyślna. Proszę zauważyć, że
opcjonalny argument jednostka nie może być oddzielony od opcji -u spacją, poprawną formą jest np.
"-u=cylinders".
-C, --cylinders liczba
Określa liczbę cylindrów dysku. Prawdopodobnie nie ma osoby, która miałaby powód aby używać tej
opcji.
-H, --heads liczba
Określa liczbę głowic dysku (oczywiście nie ich fizyczną liczbę, lecz liczbę używaną do tablic
partycji). Rozsądnymi wartościami są 255 i 16.
-S, --sectors liczba
Określa liczbę sektorów dysku na ścieżkę (oczywiście nie ich fizyczną liczbę, lecz liczbę używaną do
tablic partycji). Rozsądną wartością jest 63.
-w, --wipe kiedy
Usuwa sygnatury systemu plików, tablicy partycji i RAID aby zapobiec ewentualnym kolizjom. Argument
kiedy może przyjąć wartość auto, never (nigdy) lub always (zawsze). Gdy nie poda się tej opcji,
domyślnie stosowane jest ustawienie auto, które usuwa sygnatury tylko w trybie interaktywnym. W
każdym przypadku wykryte sygnatury skutkują wypisaniem ostrzeżenia przed utworzeniem nowej tablicy
partycji. Zob. też polecenie wipefs(8).
-W, --wipe-partitions kiedy
Usuwa sygnatury systemu plików, tablicy partycji i RAID z nowo tworzonych partycji, aby zapobiec
ewentualnym kolizjom. Argument kiedy może przyjąć wartość auto, never lub always. Gdy nie poda się
tej opcji, domyślnie stosowane jest ustawienie auto, które usuwa sygnatury tylko w trybie
interaktywnym i po potwierdzeniu przez użytkownika. W każdym przypadku wykryte sygnatury skutkują
wypisaniem ostrzeżenia przed utworzeniem nowej tablicy partycji. Zob. też polecenie wipefs(8).
-h, --help
Wyświetla ten tekst i wychodzi.
-V, --version
Wyświetla wersję i wychodzi.
URZĄDZENIA
Urządzenie to z reguły /dev/sda, /dev/sdb itp. Nazwy urządzeń odnoszą się do całego dysku. Stare systemy
bez libata (biblioteki używanej wewnątrz jądra Linux do obsługi kontrolerów i urządzeń ATA) rozróżniają
dyski IDE i SCSI. W takich przypadkach nazwami urządzeń będą /dev/hd* (IDE) lub /dev/sd* (SCSI).
Partycja to nazwa urządzenia, za którą następuje numer partycji. Na przykład, /dev/sda1 jest pierwszą
partycją pierwszego dysku twardego w systemie. Proszę również zapoznać się z dokumentacją jądra Linux
(plik Documentation/admin-guide/devices.txt).
ROZMIARY
Okno "ostatni sektor" akceptuje podanie rozmiaru partycji za pomocą liczby sektorów albo w notacji
+/-<rozmiar>{K,B,M,G,...}.
Jeśli rozmiar poprzedzi się plusem "+", to jest on interpretowany jako liczony w odniesieniu do
pierwszego sektora partycji. Jeśli przedrostkiem będzie minus "-", to jest on interpretowany w
odniesieniu do ostatniego dostępnego sektora partycji.
Gdy poda się rozmiar w bajtach, po liczbie tej mogą występować przyrostki oznaczające wielokrotność: KiB
(1024 bajtów), MiB (1024*1024 bajtów) itd. dla GiB, TiB, PiB, EiB, ZiB i YiB. Cząstka "iB" jest
opcjonalna, tzn. "K" ma to samo znaczenie co "KiB".
Rozmiary relatywne, jeśli użyto przyrostków oznaczających wielokrotność (np. +100MiB), są zawsze
wyrównywane zgodnie z limitami wejścia/wyjścia danego urządzenia. Zaleca się stosowanie notacji
+/-<rozmiar>{K,B,M,G,...}.
Ostatni sektor partycji jest obliczany bezwzględnie jako <początek>
<rozmiar> (bez -1), jeśli rozmiar podano za pomocą notacji +<sektory>. W takim przypadku, rozmiar nie
jest wyrównywany do limitów wejścia/wyjścia urządzenia.
W celu kompatybilności wstecznej fdisk przyjmuje również przyrostki KB (1000 bajtów), MB (1000*1000
bajtów) itd. dla GB, TB, PB, EB, ZB i YB. Te przyrostki utworzone w oparciu o notację 10^N są
przestarzałe.
PLIKI SKRYPTÓW
fdisk pozwala na odczytanie (poleceniem "I") skryptów kompatybilnych z sfdisk(8). Skrypt jest następnie
stosowany do tablicy partycji przechowywanej w pamięci, a później istnieje możliwość jej modyfikacji
przed ostatecznym zapisaniem na dysk.
Działa to również w drugą stronę, ponieważ poleceniem "O" można zapisać aktualny schemat dysku
przechowywany w pamięci do skryptu.
Pliki skryptów są kompatybilne pomiędzy cfdisk(8), sfdisk(8), fdisk i pozostałymi programami libfdisk.
Więcej szczegółów w podręczniku sfdisk(8).
ETYKIETY DYSKU
GPT (GUID Partition Table)
GPT to nowoczesny standard opisujący schemat tablicy partycji. GTP używa 64-bitowe logicznych adresów
bloków, sum kontrolnych, UUID-ów i nazw dla partycji. Nie ma ograniczeń w liczbie partycji (choć
wiele narzędzi partycjonujących ogranicza tę liczbę do 128).
Proszę zauważyć, że w specyfikacji GPT pierwszy sektor jest wciąż przeznaczony na ochronne MBR. Unika
się w ten sposób błędnego rozpoznania i zamazania dysków GPT przez narzędzia partycjonujące znające
tylko MBR.
GPT jest zawsze lepszym wyborem niż MBR, szczególnie na nowoczesnym sprzęcie korzystającym z UEFI.
Typu DOS-owego (MBR)
Tablica partycji typu DOS może opisać nieograniczoną liczbę partycji. W sektorze 0 jest miejsce na
opis 4 partycji (zwanych podstawowymi — "primary"). Jedna z nich może być partycją rozszerzoną; jest
ona jakby pudełkiem zawierającym partycje logiczne, których deskryptory można znaleźć w wiązanej
liście sektorów, z których każdy poprzedza odpowiadającą partycję logiczną. Cztery podstawowe
partycje, niezależnie od tego czy są obecne, czy nie, otrzymują numery od 1 do 4. Numery partycji
logicznych zaczynają się od 5.
W tablicy partycji typu DOS początkowe przesunięcie i rozmiar każdej partycji przechowywany jest na
dwa sposoby: jako bezwzględna liczba sektorów (zapisywana na 32 bitach) i jako trójka
Cylindry/Głowice/Sektory (Cylinders/Heads/Sectors) (zapisywana na 10+8+6 bitach). Pierwszy zapis jest
w porządku - przy 512-bajtowych sektorach będzie działał aż do 2 TB. W przypadku drugiego zapisu
występują dwa problemy. Przede wszystkim pola C/H/S mogą być wypełnione tylko wtedy, gdy znana jest
liczba głowic oraz liczba sektorów na ścieżce. Po drugie, nawet jeżeli te liczby są znane, to te 24
bity, które są dostępne, nie wystarczają. DOS używa tylko C/H/S, Windows — obu, a Linux nigdy nie
używa C/H/S. Adresowanie C/H/S jest przestarzałe i może w przyszłości nie być obsługiwane przez
którąś z wersji fdisk.
Proszę zapoznać się z rozdziałem o trybie DOS-owym, aby utworzyć partycje kompatybilne z DOS-em.
Domyślnie, fdisk nie troszczy się o granice cylindrów.
Typu BSD/Sun
Etykieta dysku typu BSD/Sun może opisywać 8 partycji, z których trzecia powinna być specjalną
partycją oznaczającą cały dysk. Partycji, która używa swojego pierwszego sektora (jak na przykład
partycja wymiany) nie należy umieszczać w cylindrze 0, ponieważ zniszczy to etykietę dysku. Proszę
zauważyć, że etykieta BSD jest zwykle zagnieżdżona w partycji DOS.
Typu IRIX/SGI
Etykieta dysku IRIX/SGI może opisywać 16 partycji, z których jedenasta powinna być partycją całego
"woluminu", natomiast dziewiąta powinna być tzw. "nagłówkiem woluminu". Nagłówek woluminu także
pokrywa całą tablicę partycji, tzn. zaczyna się w bloku zerowym i domyślnie ciągnie się przez pięć
cylindrów. Pozostałe miejsce w nagłówku woluminu może być użyte przez wpisy głównych katalogów. Żadna
partycja nie może nachodzić na nagłówek woluminu. Także, nie należy zmieniać typu nagłówka woluminu,
ani tworzyć na nim systemu plików, ponieważ spowoduje to utratę tablicy partycji. Proszę używać tego
typu etykiety dysku tylko podczas pracy z Linuksem na komputerach IRIX/SGI lub podczas pracy z
dyskami IRIX/SGI pod Linuksem.
Gdy zaktualizowano tablicę partycji, to przed wyjściem wykonywane jest sync(2) i ioctl(BLKRRPART)
(ponowne odczytanie tablicy partycji z dysku).
OSTRZEŻENIE TRYBU DOS I DOS 6.X
Cały ten rozdział jest nieaktualny. W żadnym ze współczesnych systemów operacyjnych nie ma potrzeby
martwić się takimi rzeczami jak geometria czy cylindry. Jeśli naprawdę konieczne jest stosowanie
partycjonowanie kompatybilnego z DOS-em konieczne jest włączenie trybu DOS i cylindrów jako jednostek za
pomocą opcji wiersza poleceń "-c=dos -u=cylinders".
Komenda FORMAT z DOS 6.x szuka informacji w pierwszym sektorze obszaru danych partycji i traktuje je jako
godniejsze zaufania niż informacje z tablicy partycji. Dosowy FORMAT oczekuje od dosowego FDISK-a, że ten
wyczyści pierwsze 512 bajtów obszarów danych przy każdej zmianie rozmiarów. Dosowy FORMAT zajrzy do tych
dodatkowych danych nawet z flagą /U — uważamy to za błąd tych programów.
Tak więc używając programu cfdisk(8) lub fdisk do zmiany rozmiaru partycji dosowej, należy też użyć dd(1)
do wyzerowania pierwszych 512 bajtów tej partycji przed użyciem dosowego FORMAT. Na przykład, po
utworzeniu dosowej partycji /dev/sda1 programem fdisk (po wyjściu z fdisk i przeładowaniu Linuksa, dzięki
czemu informacje o tablicy partycji będą poprawne), powinno się wykonać polecenie dd if=/dev/zero
of=/dev/hda1 bs=512 count=1, które zeruje pierwszych 512 bajtów partycji.
fdisk zwykle automatycznie uzyska informacje o geometrii dysku. Niekoniecznie musi to być fizyczna
geometria dysku (co więcej, nowoczesne dyski w rzeczywistości nie mają czegoś takiego jak fizyczna
geometria, a w każdym razie nie mają niczego, co mogłoby być opisane w prostej postaci
cylindry/głowice/sektory), lecz geometria, której używa MS-DOS dla tablicy partycji.
Zazwyczaj wszystko idzie dobrze i nie ma żadnych problemów, jeżeli Linux jest jedynym systemem na dysku.
Jednakże, jeśli dysk będzie dzielony z innymi systemami operacyjnymi, to dobrym pomysłem jest utworzenie
co najmniej jednej partycji programem fdisk pochodzącym z innego systemu operacyjnego. Linux, podczas
uruchamiania, przegląda tablicę partycji i stara się wywnioskować, jaka (fałszywa) geometria dysku jest
wymagana, żeby mógł dobrze współpracować z innymi systemami.
Gdy wypisywana jest tablica partycji, w trybie DOS dokonywane jest sprawdzenie spójności wpisów tablicy.
Sprawdzane jest, czy fizyczne i logiczne punkty startowe i końcowe są takie same, oraz czy partycja
rozpoczyna się i kończy w granicach cylindrów (poza pierwszą partycją).
Niektóre wersje MS-DOS tworzą pierwszą partycję, która nie rozpoczyna się na granicy cylindra, lecz na 2
sektorze pierwszego cylindra. Partycje rozpoczynające się na cylindrze 1 nie mogą rozpoczynać się na
granicy cylindra, lecz raczej nie powinno to sprawiać problemów, chyba że używany jest OS/2.
Dla najlepszych wyników, zawsze powinno się używać fdiska typowego dla danego systemu operacyjnego. Na
przykład, partycje dosowe powinno się tworzyć dosowym FDISK-iem, a linuksowe — linuksowymi programami
fdisk lub cfdisk(8).
KOLORY
Kolorowanie wyjściowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie można wyłączyć za
pomocą pustego pliku
/etc/terminal-colors.d/fdisk.disable
dla polecenia fdisk albo dla wszystkich narzędzi plikiem
/etc/terminal-colors.d/disable
Od wersji 2.41, obsługiwana jest również zmienna środowiskowa $NO_COLOR, służąca do wyłączenia
kolorowania wyjścia, o ile nie włączy się je wprost opcją wiersza poleceń.
Globalne ustawienie przesłonią $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d
danego użytkownika.
Proszę zauważyć, że kolorowanie wyjścia może być domyślnie włączone i wówczas katalogi terminal-colors.d
mogą jeszcze nie istnieć.
Logiczne nazwy kolorów obsługiwane przez fdisk to:
header
Nagłówek tabel wyjściowych.
help-title
Tytuły sekcji pomocy.
warn
Ostrzeżenia.
welcome
Powitania.
ŚRODOWISKO
FDISK_DEBUG=all
włącza wyjście debugowania fdisk.
LIBFDISK_DEBUG=all
włącza wyjście debugowania libfdisk.
LIBBLKID_DEBUG=all
włącza wyjście debugowania libblkid.
LIBSMARTCOLS_DEBUG=all
włącza wyjście debugowania libsmartcols.
LIBSMARTCOLS_DEBUG_PADDING=on
używa widocznych znaków wypełnienia.
LOCK_BLOCK_DEVICE=<tryb>
używa blokady na wyłączność BSD. Tryb to "1" lub "0". Więcej informacji w opisie opcji --lock.
AUTORZY
Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>
Pierwotną wersję napisali Andries E. Brouwer, A. V. Le Blanc i inni.
ZOBACZ TAKŻE
cfdisk(8), mkfs(8), partx(8), sfdisk(8)
ZGŁASZANIE BŁĘDÓW
Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.
DOSTĘPNOŚĆ
Polecenie fdisk jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux
<https://www.kernel.org/pub/linux/utils/util-linux/>.
util-linux 2.41.2 2025-10-17 FDISK(8)