SFDISK(8)

NAZWA
sfdisk - wyświetla lub modyfikuje tablicę partycji dysku

SKŁADNIA

sfdisk [opcje] urządzenie [-N numer-partycji]

sfdisk [opcje] polecenie

OPIS

sfdisk jest narzędziem do partycjonowania dowolnego urządzenia blokowego, powstałym głównie z myślą o skryptach. Działa w trybie interaktywnym, gdy jest uruchomiony w terminalu (tj. standardowe wejście odnosi się do terminala).

Od wersji 2.26 sfdisk obsługuje etykiety dysku MBR (DOS), GPT, SUN i SGI, ale nie obsługuje adresowania CHS (cylinder-głowica-sektor). CHS nigdy nie było istotne w Linuksie, a ten sposób adresowania nie ma żadnego sensu we współczesnych urządzeniach.

sfdisk chroni pierwszy sektor dysku przy tworzeniu nowej etykiety dysku. Opcja --wipe always wyłącza tę ochronę. Proszę zauważyć, że fdisk(8) i cfdisk(8) domyślnie całkowicie kasują ten obszar.

sfdisk (od wersji 2.26) wyrównuje początek i koniec partycji do limitów wejścia/wyjścia urządzenia blokowego, jeśli: podano rozmiar względny, korzysta się z domyślnych wartości albo do rozmiarów użyto przyrostków zwielokrotniających (np. MiB). Może się zdarzyć, że rozmiar partycji ulegnie optymalizacji (zmniejszeniu lub zwiększeniu) z powodu wyrównania, jeśli przesunięcie początku partycji podano dokładnie w sektorach, a rozmiar partycji relatywnie lub przy użycie przyrostków oznaczających wielokrotność.

Zaleca się w ogóle nie podawać przesunięcia początku partycji, lecz określić jej rozmiar w MiB, GiB itd. W takim przypadku sfdisk wyrówna wszystkie partycje do limitów wejścia/wyjścia urządzenia blokowego (lub, gdy limity wejścia/wyjścia są zbyt małe, to do granicy megabajta, aby zachować przenośność układu dysku). Jeśli to domyślne zachowanie jest niepożądane (zwykle w przypadku bardzo małych partycji), to należy określić przesunięcie i rozmiar w sektorach. Program sfdisk nie dokona wówczas żadnej optymalizacji względem podanych wartości.

sfdisk, w przeciwieństwie do fdisk(8), nie tworzy standardowych partycji systemowych dla etykiet dysku SGI i SUN. Konieczne jest jawne utworzenie wszystkich partycji w tym partycji systemowych zajmujących cały dysk.

sfdisk używa ioctl BLKRRPART (ponowne odczytanie tablicy partycji) aby upewnić się, że urządzenie nie jest używane przez system lub inne narzędzia (zob. też --no-reread). Możliwe jest, że ta funkcja lub inna aktywność sfdisk będzie ścigała się z systemd-udevd(8). Zalecanym sposobem uniknięcia ewentualnych kolizji jest skorzystanie z opcji --lock. Taka wyłączna blokada spowoduje pominięcie przez systemd-udevd obsługi zdarzenia na danym urządzeniu.

Zachęta sfdisk jest jedynie wskazówką dla użytkowników, a wyświetlony numer partycji nie oznacza, że utworzony zostanie taki sam wpis tablicy partycji (jeśli nie podano -N), szczególnie w przypadku tablic zawierających luki.

POLECENIA

Polecenia wzajemnie się wykluczają.

[-N numer-partycji] urządzenie
    Domyślnym zachowaniem sfdisk jest odczytanie ze standardowego wejścia przepisu na oczekiwane partycjonowanie urządzenia, a następnie utworzenie tablicy partycji zgodnie z tym przepisem. Patrz niżej aby zapoznać się z opisem formatu wejściowego. Jeśli standardowym wejściem jest terminal, to sfdisk uruchomi się w sesji interaktywnej.

    Jeśli podano opcję -N, to zmiany są wprowadzane w partycji określonej numerem-partycji. Pola partycji których nie podano, nie są modyfikowane.

    Proszę zauważyć, że opcją -N można w ten sposób zaadresować partycję nieistniejącą. Przykładowo MBR zawiera zawsze 4 partycje, ale liczba używanych partycji może być też mniejsza. W takim przypadku sfdisk podąży za domyślnymi wartościami z tablicy partycji i nie użyje wbudowanych wartości domyślnych dla nieużywanych partycji podanych z opcją -N. Zob. też --append.

-A, --activate urządzenie [numer-partycji...]
    Włącza flagę rozruchową dla podanych partycji i wyłącza flagę rozruchową dla wszystkich niepodanych partycji. W miejsce numerów partycji można podać również wartość specjalną "-", która wyłączy flagę rozruchową na wszystkich partycjach.

    Polecenie aktywacji jest obsługiwane tylko w przypadku MBR i PMBR. Jeśli wykryto etykietę GPT, to sfdisk wypisze ostrzeżenie i automatycznie przejdzie do PMBR.

    Jeśli nie poda się numeru-partycji, wypisywana jest lista partycji z aktywną flagą.

--backup-pt-sectors urządzenie
    Tworzy kopię zapasową sektorów bieżącej tablicy partycji w formacie binarnym i wychodzi. Zob. rozdział TWORZENIE KOPII ZAPASOWEJ TABLICY PARTYCJI.

--delete urządzenie [numer-partycji...]
    Usuwa wszystkie lub podane partycję.

-d, --dump urządzenie
    Zrzuca partycję urządzenia w formacie, który można podać jako wejście do sfdisk. Zob. rozdział TWORZENIE KOPII ZAPASOWEJ TABLICY PARTYCJI.

-g, --show-geometry [urządzenie...]
    Wypisuje geometrię wszystkich lub podanego urządzenia. Ze względu na kompatybilność wsteczną, przestarzała opcja --show-pt-geometry ma takie samo znaczenie.

-J, --json urządzenie
    Zrzuca partycję urządzenia w formacie JSON. Proszę zauważyć, że sfdisk nie potrafi użyć JSON jako formatu wejściowego.

-l, --list [urządzenie...]
    Wypisuje partycje wszystkich lub podanego urządzenia. Polecenie to można łączyć z --verify.

-F, --list-free [urządzenie...]
    Wypisuje przestrzenie bez partycji (wolne) na wszystkich lub podanym urządzeniu.

--part-attrs urządzenie numer-partycji [atrybuty]
    Zmienia bity atrybutów partycji GPT. Jeśli nie podano atrybutów, wypisywane są ustawienia bieżącej partycji. Argument atrybuty zawiera listę numerów bitów lub nazw bitów, separatorem jest przecinek lub spacja. Przykładowo łańcuch "RequiredPartition,50,51" ustawi trzy bity. Obecnie obsługiwane są następujące bity atrybutów:

    Bit 0 (RequiredPartition)
        Jeśli ten bit jest ustawiony, partycja jest wymagana do funkcjonowania platformy. Twórca partycji wskazuje, że usunięcie lub modyfikacja zawartości może być przyczyną utraty funkcji platformy lub jej zdolności do rozruchu lub działania. System nie może funkcjonować normalnie po jej usunięciu i powinna być ona rozważana jako część sprzętowa systemu.

    Bit 1 (NoBlockIOProtocol)
        Oprogramowanie układowe EFI powinno ignorować zawartość partycji i nie próbować jej odczytywać.

    Bit 2 (LegacyBIOSBootable)
        Partycja może służyć do rozruchu przez stare oprogramowanie układowe BIOS.

    Bity 3-47
        Niezdefiniowane i muszą wynosić zero. Zarezerwowane dla przyszłych wersji specyfikacji UEFI.

    Bity 48-63
        Zarezerwowane do użytku przez GUID. Użycie tych bitów silnie zależy od typu partycji. Przykładowo Microsoft używa bitu 60 aby oznaczyć ustawienie tylko do odczytu, 61 do kopii w tle innej partycji, 62 do partycji ukrytych a 63 do wyłączenia automatycznego montowania.

--part-label urządzenie numer-partycji [etykieta]
    Zmienia etykietę (nazwę) partycji GPT. Jeśli nie podano etykiety, wypisze etykietę bieżącej partycji.

--part-type urządzenie numer-partycji [typ]
    Zmienia typ partycji. Jeśli nie podano typu, wypisze typ bieżącej partycji.

    Argument typ jest liczbą szesnastkową w przypadku MBR, GUID-em w przypadku GPT, aliasem (np. "linux") lub skrótem (np. "L"). Ze względu na kompatybilność wsteczną, opcje -c i --id mają takie samo znaczenie.

--part-uuid urządzenie numer-partycji [uuid]
    Zmienia unikalny identyfikator (UUID) partycji GPT. Jeśli nie podano uuid, wypisze UUID bieżącej partycji.

--disk-id urządzenie [identyfikator]
    Zmienia identyfikator dysku. Jeśli nie podano identyfikatora, wypisze bieżący identyfikator. Identyfikatorem jest UUID w przypadku GPT lub liczba całkowita bez znaku dla MBR.

--discard-free urządzenie
    Odrzuca wszelkie nieużywane (niespartycjonowane) sektory na urządzeniu. Aby uzyskać listę wolnych obszarów, proszę skorzystać z opcji --list-free. Zob. też blkdiscard(8).

        Warning

        Wszystkie dane w odrzucanych obszarach dysku zostaną utracone! Proszę nie korzystać z tej opcji w przypadku wątpliwości.

    Proszę zauważyć, że polecenie 'T' w programie fdisk wyświetla zapytanie, z prośbą o określenie obszarów, jakie mają być odrzucone. Jednak sfdisk zawsze odrzuci wszelkie miejsca niespartycjonowane (poza tymi, w których nie da się utworzyć partycji, takimi jak początek urządzenia).

-r, --reorder urządzenie
    Dokonuje ponownej numeracji partycji, porządkując je wg przesunięcia ich początków.

-s, --show-size [urządzenie...]
    Wypisuje rozmiary wszystkich lub podanego urządzenia, używając jednostki 1024 bajtów. Polecenie PRZESTARZAŁE na rzecz blockdev(8).

-T, --list-types
    Wypisuje wszystkie obsługiwane typy dla bieżącej etykiety dysku lub etykiety podanej opcją --label.

-V, --verify [urządzenie...]
    Sprawdza czy tablica partycji i partycje wyglądają na poprawne.

--relocate oper urządzenie
    Zmienia lokalizację nagłówka tablicy partycji. Polecenie obsługiwane obecnie tylko dla nagłówka GPT. Argumentem oper może być:

    gpt-bak-std
        Przesuwa zapasowy nagłówek GPT do standardowego położenia na końcu urządzenia.

    gpt-bak-mini
        Przesuwa zapasowy nagłówek GPT za ostatnią partycję. Proszę zauważyć, że standard UEFI wymaga, aby zapasowy nagłówek był umieszczony na końcu urządzenia i narzędzia partycjonujące mogą go automatycznie przemieścić do pozycji zgodnej ze standardem.

OPCJE

-a, --append
    Nie tworzy nowej tablicy partycji, lecz jedynie dołącza podane partycje.

    Proszę zauważyć, że w tym przypadku partycja nieużywana może być użyta ponownie, nawet gdy nie jest ostatnią partycją w tablicy partycji. Zob. też -N aby określić wpis w tablicy partycji.

-b, --backup
    Tworzy kopię zapasową sektorów bieżącej tablicy partycji przed rozpoczęciem partycjonowania. Domyślną nazwą pliku kopii zapasowej jest ~/sfdisk-<urządzenie>-<przesunięcie>.bak; aby użyć innej nazwy zob. opcję -O, --backup-file. Zob. rozdział TWORZENIE KOPII ZAPASOWEJ TABLICY PARTYCJI aby dowiedzieć się więcej.

--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.

-f, --force
    Wyłącza wszelkie sprawdzanie spójności.

--Linux
    Opcja przestarzała i ignorowana. Partycjonowanie kompatybilne z Linuksem (i innymi współczesnymi systemami operacyjnymi) jest stosowane domyślnie.

--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, --no-act
    Wykonuje wszystkie czynności poza zapisem na urządzenie.

--no-reread
    Nie sprawdza za pomocą ioctl re-read-partition-table, czy urządzenie jest aktualnie w użyciu.

--no-tell-kernel
    Nie informuje jądra o wprowadzonych zmianach partycji. Zaleca się łączenie tej opcji z --no-reread do modyfikacji partycji na używanym dysku. Sama partycja nie powinna być używana (np. zamontowana).

-O, --backup-file ścieżka
    Zmienia domyślną nazwę pliku kopii zapasowej. Proszę zauważyć, że do nazwy pliku zawsze dołączana jest nazwa urządzenia i przesunięcie.

--move-data[=ścieżka]
    Przesuwa dane po zmianie położenia partycji np. przy przesuwaniu początku partycji do innego miejsca na dysku. Rozmiar partycji musi pozostać taki sam, natomiast nowe i stare położenie mogą się nakładać. Wymagana jest jednocześnie opcja -N, aby określić tylko jedną, konkretną partycję.

    Opcjonalna ścieżka określa nazwę pliku dziennika. Dziennik zawiera informacje o wszystkich operacjach odczytu/zapisu na danych partycji. Słowo "@default" jako ścieżka wymusza na sfdisk korzystanie z pliku ~/sfdisk-<nazwa-urządzenia>.move. Dziennik jest opcjonalny od wersji 2.35.

    Proszę zauważyć, że operacja ta jest ryzykowna i nie jest niepodzielna. Należy wykonać kopię zapasową danych!

    Zob. też --move-use-fsync.

    W poniższym przykładzie, pierwsze polecenie utworzy wolną przestrzeń przed pierwszą partycją o rozmiarze 100 MiB i przeniesie dane, które ona zawiera (np. system plików). Następne polecenie utworzy nową partycję w wolnym miejscu (z przesunięciem 2048), a ostatnie zmieni kolejność partycji, aby odzwierciedlała kolejność na dysku (pierwotna sdc1 stanie się sdc2).

        echo '+100M,' | sfdisk --move-data /dev/sdc -N 1

        echo '2048,' | sfdisk /dev/sdc --append

        sfdisk /dev/sdc --reorder

--move-use-fsync
    Używa wywołania systemowego fsync(2) po każdym zapisie, przy przenoszeniu danych do nowego położenia opcją --move-data.

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

-q, --quiet
    Wyłącza dodatkowe komunikaty informacyjne.

--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.

-u, --unit S
    Opcja przestarzała. Sektor jest jedyną obsługiwaną jednostką. Opcja nie jest obsługiwana łącznie z poleceniem --show-size.

-X, --label typ
    Określa typ etykiety dysku (np. dos, gpt, ...). Jeśli nie poda się tej opcji, wartością domyślną będzie istniejąca etykieta, albo, gdy na urządzeniu nie ma jeszcze etykiet, sfdisk użyje dos. Etykietę domyślną lub bieżącą można nadpisać wierszem nagłówka skryptu "label: <nazwa>". Opcja --label nie wymusza na sfdisk utworzenia pustej etykiety dysku (zob. poniższy rozdział PUSTA ETYKIETA DYSKU).

-Y, --label-nested typ
    Wymusza edycję zagnieżdżonej etykiety dysku. Główna etykieta dysku musi już istnieć. Opcja pozwala na przykład na edycję hybrydowego/ochronnego MBR na urządzeniu z GPT.

-w, --wipe kiedy
    Usuwa sygnatury systemu plików, RAID i tablicy partycji z urządzenia, aby uniknąć ryzyka ewentualnych kolizji. Argumentem kiedy może być: auto, never (nigdy) lub always (zawsze). Jeśli nie użyje się niniejszej opcji, domyślnym zachowaniem jest auto, w którym sygnatury są usuwane tylko w trybie interaktywnym. Wyjątkiem są sygnatury tablicy partycji, które są usuwane zawsze przed utworzeniem nowej tablicy partycji, chyba że argumentem kiedy jest never. Tryb auto nie usuwa również pierwszego sektora (rozruchowego); aby usunąć ten obszar konieczne jest użycie trybu always. We wszystkich przypadkach, zanim dojdzie do utworzenia nowej tablicy partycji, program wypisze ostrzeżenia pokazujące wykryte sygnatury. Zob. też polecenie wipefs(8).

-W, --wipe-partitions kiedy
    Usuwa sygnatury systemu plików, RAID i tablicy partycji z nowo tworzonej partycji, aby uniknąć ryzyka ewentualnych kolizji. Argumentem kiedy może być: auto, never (nigdy) lub always (zawsze). Jeśli nie użyje się niniejszej opcji, domyślnym zachowaniem jest auto, w którym sygnatury są usuwane tylko w trybie interaktywnym i po potwierdzeniu przez użytkownika. We wszystkich przypadkach, zanim dojdzie do utworzenia nowej partycji, program wypisze ostrzeżenia pokazujące wykryte sygnatury. Zob. też polecenie wipefs(8).

-v, --version
    Wyświetla informacje o wersji i kończy działanie.

-h, --help
    Wyświetla ten tekst i wychodzi.

FORMATY WEJŚCIOWE

sfdisk obsługuje dwa formaty wejściowe i ogólne wiersze nagłówkowe.

  Wiersze nagłówkowe

Opcjonalne wiersze nagłówkowe określają ogólne informacje odnoszące się do tablicy partycji. Format wiersza nagłówkowego:

<nazwa>: <wartość>

Aktualnie rozpoznawane są następujące nagłówki:

unit
    Określa jednostkę partycjonowania. Jedyną obsługiwaną są sektory - sectors.

label
    Określa typ tablicy partycji np. dos lub gpt.

label-id
    Określa identyfikator tablicy partycji. Powinna być to liczba szesnastkowa (z przedrostkiem 0x) w przypadku MBR oraz UUID w przypadku GPT.

first-lba
    Określa pierwszy użyteczny sektor partycji GPT. Nagłówek ten jest ignorowany, jeśli rozmiary sektora w skrypcie i urządzeniu różnią się. W takim przypadku sfdisk użyje domyślnej wartości etykiety.

last-lba
    Określa ostatni użyteczny sektor partycji GPT. Nagłówek ten jest ignorowany, jeśli rozmiary sektora w skrypcie i urządzeniu różnią się. W takim przypadku sfdisk użyje domyślnej wartości etykiety. Nagłówek last-lba zostanie zignorowany jeśli użyto opcji --force, dzięki czemu skrypt stanie się możliwy do użycia na dyskach o różnych rozmiarach.

table-length
    Określa maksymalną liczbę partycji GPT.

grain
    Określa minimalny rozmiar w bajtach używany do obliczenia wyrównania partycji. Domyślną wartością jest 1MiB i usilnie zaleca się jej nie zmieniać. W przypadku jakichkolwiek wątpliwości proszę nie modyfikować tej zmiennej.

sector-size
    Określa rozmiar sektora użyty w wejściu. sfdisk zawsze wewnętrznie używa albo rozmiaru sektora urządzenia zapewnionego przez jądro dla danego urządzenia blokowego albo tego, jaki podał użytkownik w wierszu polecenia (zob. --sector-size). Od wersji 2.39 sfdisk oblicza ponownie rozmiary z wejścia, jeśli rozmiary z nagłówka sector-size oraz rozmiary sektora urządzenia różnią się.

Proszę zauważyć, że wiersze nagłówkowe można użyć jedynie przed podaniem pierwszej partycji w wejściu.

  Format pól nienazwanych

    początek rozmiar typ flaga-rozruchu

gdzie każdy wiersz dotyczy jednego opisu partycji.

Pola są oddzielone białym znakiem, przecinkiem (zalecane) lub średnikiem, po którym może wystąpić biały znak; początkowe i końcowe białe znaki są ignorowane. Liczby mogą być ósemkowe, dziesiętne lub szesnastkowe; domyślnie są dziesiętne. Jeśli jakieś pole jest nieobecne, puste lub podane jako "-" używane są domyślne wartości. Gdy jednak poda się opcję -N (zmiana pojedynczej partycji), domyślną wartością każdego pola jest jej poprzednia wartość.

Domyślną wartością początku jest pierwszy nieprzypisany sektor wyrównany zgodnie z limitami wejścia/wyjścia urządzenia. Domyślne przesunięcie początku pierwszej partycji wynosi 1 MiB. Jeśli po przesunięciu podano przyrostki oznaczające wielokrotność (KiB, MiB, GiB, TiB, PiB, EiB, ZiB i YiB), to liczba ta jest interpretowana jako przesunięcie w bajtach. Od wersji 2.38 przy użyciu opcji -N (zmiana pojedynczej partycji) można użyć znaku "+" do powiększenia partycji, przesuwając jej początek w celu wykorzystania wolnego miejsca przed partycją.

Domyślna wartość rozmiaru oznacza "tak bardzo, jak to możliwe" tzn. do następnej partycji lub do końca urządzenia. Argument numeryczny jest domyślnie interpretowany jako liczba sektorów, ale jeśli występują po nim przyrostki oznaczające wielokrotność (KiB, MiB, GiB, TiB, PiB, EiB, ZiB i YiB), to liczba jest interpretowana jako rozmiar partycji w bajtach, który jest następnie wyrównywany zgodnie z limitami wejścia/wyjścia urządzenia. Zamiast tego można też użyć znaku "+" aby powiększyć rozmiar partycji tak bardzo jak to możliwe. Proszę zwrócić uwagę, że "+" jest równoważny domyślnemu zachowaniu w przypadku nowej partycji; istniejące partycje będą miały zmieniony rozmiar wedle potrzeb.

Typ partycji jest podawany: szesnastkowo w przypadku MBR (DOS) (przy czym przedrostek 0x jest opcjonalny), jako łańcuch GUID w przypadku GPT, jako skrót lub jako alias. Zaleca się użycie dwóch liter w przypadku szesnastkowych kodów MBR, aby uniknąć kolizji pomiędzy przestarzałym skrótem "E" i kodem szesnastkowym MBR "0E". Ze względu na kompatybilność wsteczną, sfdisk w pierwszej kolejności spróbuje zinterpretować typ jako skrót w skryptach partycjonowania, choć w innych miejscach (np. przy poleceniu --part-type) skrót jest rozważany jako ostatnia możliwość.

Od wersji 2.36 libfdisk obsługuje aliasy typów partycji jako rozszerzenie skrótów. Alias jest słowem czytelnym dla człowieka (np. "linux").

Od wersji 2.37 libfdisk obsługuje nazwę typu partycji na wejściu, ignorując wielkość znaków oraz wszystkie znaki nazwy niebędące znakami alfanumerycznymi lub cyframi (np. "Linux /usr x86" odpowiada "linux usr-x86").

Obsługiwane skróty i aliasy:

L - alias "linux"
    Linux; oznacza 83 w przypadku MBR oraz 0FC63DAF-8483-4772-8E79-3D69D8477DE4 w przypadku GPT.

S - alias "swap"
    przestrzeń wymiany; oznacza 82 w przypadku MBR i 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F w przypadku GPT.

Ex - alias "extended"
    Partycja rozszerzona MBR; oznacza 05 w przypadku MBR. Oryginalny skrót "E" jest przestarzały ze względu na kolizję z typem partycji 0x0E MBR.

H - alias "home"
    partycja domowa; oznacza 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 w przypadku GPT.

U - alias "uefi"
    partycja systemu EFI, oznacza EF w przypadku MBR i C12A7328-F81F-11D2-BA4B-00A0C93EC93B w przypadku GPT.

R - alias "raid"
    Linuksowy RAID; oznacza FD w przypadku MBR i A19D880F-05FC-4D3B-A006-743F0F84911E w przypadku GPT.

V - alias "lvm"
    LVM; oznacza 8E w przypadku MBR i E6D6D379-F507-44C2-A23C-238F2A3DF928 w przypadku GPT.

Domyślnym typem jest linux.

Skrót "X" oznaczający linuksową partycję rozszerzoną (85) jest przestarzały na rzecz "Ex".

Flaga-rozruchu jest określona jako [*|-], przy czym domyślna jest wartość oznaczająca brak rozruchu (-). Wartość tego pola nie ma znaczenia dla Linuksa - jądro Linux uruchamia się już po fazie rozruchu - ale może być ważna dla pewnych menedżerów rozruchu lub innych systemów operacyjnych.

  Format pól nazwanych

Format ten jest czytelniejszy, pewniejszy, rozszerzalny i pozwala podać dodatkowe informacje (np. UUID). Zaleca się korzystać z formatu pól nazwanych, ponieważ wpływa on pozytywnie na przejrzystość skryptów użytkownika.

    [urządzenie :] nazwa[=wartość], ...

Pole urządzenie jest opcjonalne. sfdisk pobiera numer partycji z nazwy urządzenia. Pozwala to podać partycje w dowolnej kolejności. Funkcja przydatna głównie z --dump. W przypadku wątpliwości proszę jej nie używać.

Wartość można podać w cudzysłowach (np. name="To jest nazwa partycji"). Pola start= i size= obsługują "+" i "-" w ten sam sposób jak format pól nienazwanych.

Obecnie obsługiwane są następujące pola:

start=liczba
    Pierwszy nieprzypisany sektor, wyrównany zgodnie z limitami wejścia/wyjścia urządzenia. Domyślne przesunięcie początku pierwszej partycji wynosi 1 MiB. Jeśli po przesunięciu podano przyrostki oznaczające wielokrotność (KiB, MiB, GiB, TiB, PiB, EiB, ZiB i YiB), to liczba ta jest interpretowana jako przesunięcie w bajtach.

size=liczba
    Rozmiar partycji w sektorach. Po liczbie mogą występować przyrostki oznaczające wielokrotność (KiB, MiB, GiB, TiB, PiB, EiB, ZiB i YiB) i wówczas liczba jest interpretowana jako rozmiar partycji w bajtach, który jest następnie wyrównywany zgodnie z limitami wejścia/wyjścia urządzenia.

bootable
    Oznacza partycję jako rozruchową.

attrs=łańcuch
    Atrybuty partycji, zwykle bity atrybutów partycji GPT. Więcej informacji o formacie łańcucha bitów GPT w opisie --part-attrs.

uuid=łańcuch
    Unikalny identyfikator UUID partycji GPT.

name=łańcuch
    Nazwa partycji GPT.

type=kod
    Liczba szesnastkowa (bez 0x) w przypadku partycji MBR, łańcuch GUID w przypadku GPT, skrót (jak w formacie pól nienazwanych) lub nazwa typu (np. type="Linux /usr (x86)"). Proszę zapoznać się z rozdziałem o formacie pól nienazwanych (powyżej) aby dowiedzieć się więcej. Ze względu na kompatybilność wsteczną Id= ma takie samo znaczenie.

PUSTA ETYKIETA DYSKU

sfdisk domyślnie nie tworzy tablicy partycji niezawierającej partycji. Domyślnie oczekuje się podania wierszy z partycjami przez skrypt. Pusta tablica partycji musi być zażądana bezpośrednio wierszem nagłówkowym "label: <nazwa>" bez wierszy partycji. Przykładowo:

    echo 'label: gpt' | sfdisk /dev/sdb

utworzy pustą tablicę partycji GPT. Proszę zauważyć, że --append wyłącza tę funkcję.

KOPIA ZAPASOWA TABLICY PARTYCJI

Zaleca się zachowanie układu urządzeń. sfdisk obsługuje dwa sposoby.

  Zrzut w formacie kompatybilnym ze sfdisk

Polecenie --dump zapisze opis układu urządzenia do pliku tekstowego. Format zrzutu nadaje się później wykorzystania jako wejście sfdisk. Przykładowo:

    sfdisk --dump /dev/sda > sda.dump

Polecenie do późniejszego przywrócenia:

    sfdisk /dev/sda < sda.dump

Proszę zauważyć, że sfdisk w pełni przywróci typy partycji i UUID-y partycji. Może to być problematyczne, jeśli skopiuje się ten sam układ na inne dyski, ponieważ doprowadzi do zduplikowania UUID-ów w systemie.

  Pełna, binarna kopia zapasowa

W celu uzyskania pełnej, binarnej kopii zapasowej wszystkich sektorów, gdzie przechowywana jest tablica partycji, proszę użyć polecenia --backup-pt-sectors. Zapisuje sektory do plików ~/sfdisk-<urządzenie>-<przesunięcie>.bak. Domyślną nazwę plików kopii zapasowej można zmienić opcją --backup-file. Pliki kopii zapasowej zawierają jedynie surowe dane z urządzenia. Przykładowo:

    sfdisk --backup-pt-sectors /dev/sda

Nagłówek GPT można później przywrócić poleceniem:

    dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda seek=$((0x00000200)) bs=1 conv=notrunc

Można również użyć opcji --backup do utworzenia kopii zapasowej przed innymi poleceniami sfdisk. Przykładowo, aby utworzyć kopię zapasową tablicy partycji przed usunięciem z niej wszystkich partycji:

    sfdisk --backup --delete /dev/sda

Tego samego konceptu plików kopii zapasowej używa wipefs(8).

Proszę zauważyć, że sfdisk od wersji 2.26 nie udostępnia już opcji -I do odzyskania sektorów. Wystarczająca jest funkcjonalność programu dd(1).

KOLORY

Kolorowanie wyjściowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie można wyłączyć za pomocą pustego pliku

    /etc/terminal-colors.d/sfdisk.disable

dla polecenia sfdisk 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 sfdisk to:

header
    Nagłówek tabel wyjściowych.

warn
    Ostrzeżenia.

welcome
    Powitania.

ŚRODOWISKO

SFDISK_DEBUG=all
    włącza wyjście debugowania sfdisk.

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.

LOCK_BLOCK_DEVICE=<tryb>
    używa blokady na wyłączność BSD. Tryb to "1" lub "0". Więcej informacji w opisie opcji --lock.

UWAGI

Od wersji 2.26 sfdisk nie udostępnia opcji -R lub --re-read do wymuszenia ponownego odczytania przez jądro tablicy partycji. Proszę zamiast tego użyć polecenia blockdev --rereadpt.

Od wersji 2.26 sfdisk nie udostępnia opcji --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer oraz --not-inside-outer.

PRZYKŁADY

sfdisk --list --label-nested=mbr /dev/sda
    Wypisuje ochronny MBR na urządzeniu z etykietą dysku GPT.

echo -e ',10M,L\n,10M,L\n,+,\n' | sfdisk /dev/sdc
    Tworzy trzy partycje linuksowe, z domyślnym początkiem; rozmiar pierwszych dwóch partycji to 10MiB, a ostatnia zajmie całe dostępne miejsce na urządzeniu.

echo -e 'size=10M, type=L\n size=10M, type=L\n size=+\n' | sfdisk /dev/sdc
    Jak we wcześniejszym przykładzie, ale w formacie pól nazwanych.

echo -e 'type=swap' | sfdisk -N 3 /dev/sdc
    Ustawia typ trzeciej partycji na "swap".

sfdisk --part-type /dev/sdc 3 swap
    Jak we wcześniejszym przykładzie, ale bez używania skryptu.

sfdisk --delete /dev/sdc 2
    Usuwa drugą partycję.

echo "+,+" | sfdisk -N 3 --move-data /dev/sdc
    Powiększa trzecią partycję w obu kierunkach, przesuwając początek w celu zajęcia wolnego miejsca przed partycją i powiększając jej rozmiar, w celu zajęcia całego wolne miejsca za partycją, a także przesuwa dane partycji.

AUTORZY

Obecna implementacja sfdisk korzysta z oryginalnego sfdisk autorstwa Andriesa E. Brouwera.

ZOBACZ TAKŻE

fdisk(8), cfdisk(8), parted(8), partprobe(8), partx(8)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie sfdisk jest częścią pakietu util-linux, który można pobrać ze strony