SFDISK(8)

НАЗВА
sfdisk - показ або керування таблицею розділів диска

КОРОТКИЙ ОПИС

sfdisk [параметри] пристрій [-N номер_розділу]

sfdisk [параметри] команда

ОПИС

sfdisk — орієнтований на скрипти інструмент для поділу будь-якого блокового пристрою на розділи. Програма працює в інтерактивному режимі, якщо її запущено з термінала (stdin посилається на термінал).

Починаючи з версії 2.26, у sfdisk передбачено підтримку міток дисків MBR (DOS), GPT, SUN та SGI, але більше не передбачено жодних функціональних можливостей для адресування CHS (Cylinder-Head-Sector або циліндр-голівка-сектор). CHS ніколи не була важливою для Linux, і ця концепція адресування немає жодного сенсу для нових пристрої.

sfdisk захищає перший сектор диска при створенні мітки диска. Параметр --wipe always вимикає цей захист. Зауважте, що fdisk(8) і cfdisk(8) типово повністю витирають цю область.

sfdisk (починаючи з версії 2.26), якщо вказано відносні розміри, вирівнює початок і кінець розділів до меж введення-виведення блокового пристрою, якщо використано типові значення або якщо використано суфікси множення (наприклад МіБ) для множення. Розмір розділу буде оптимізовано (зменшено або збільшено), якщо це можливо, через вирівнювання, якщо початок відступу вказано точно у секторах і розмір розділу відносно або за суфіксами множення.

Рекомендованим способом є не визначення початкових відступів, а визначення розміру розділу у МіБ, ГіБ (або подібних одиницях). У цьому випадку sfdisk вирівнює усі розділ до обмежень введення-виведення блокового пристрою (або, якщо обмеження введення-виведення є надто низькими, межа у мегабайтах для збереження портативності компонування диска). Якщо ця типова поведінка є небажаною (зазвичай, для дуже малих розділів), вкажіть відступи і розміри у секторах. У цьому випадку sfdisk повністю використовує вказані числа без будь-якої оптимізації.

sfdisk не створює стандартних розділів диска для дискових міток SGI і SUN, як це робить fdisk(8). Усі розділи слід буде створити явним чином, включно із розділами системи на увесь диск.

sfdisk використовує BLKRRPART ioctl (повторного читання таблиці розділів) для забезпечення того, щоб пристрій не буде використано системою або іншими інструментами (див також --no-reread). Може так статися, що ця можливість або інші дії sfdisk конфліктуватимуть за ресурси з systemd-udevd(8). Рекомендованим способом уникнути цих конфліктів є використання параметра --lock. Виключне блокування призведе до того, що systemd-udevd не виконуватиме обробку подій на пристрої.

Запит sfdisk є лише підказкою для користувачів, а показаний номер розділу не означає, що буде створено той самий запис таблиці розділів (якщо не вказано -N), особливо для таблиць із прогалинами.

КОМАНДИ

Команди є взаємно виключними.

[-N, --partno partition-number] device
    Типова команда sfdisk читає специфікацію для бажаного поділу на розділи пристрою зі стандартного джерела вхідних даних, а потім створює таблицю розділів відповідно до специфікації. Нижче наведено опис формату вхідних даних. Якщо стандартним джерелом введення є термінал, sfdisk розпочинає інтерактивний сеанс.

    If the option -N or --partno is specified, then the changes are applied to the partition addressed by partition-number. The unspecified fields of the partition are not modified.

    Зауважте, що можна адресувати невикористаний розділ за допомогою параметра -N. Наприклад, MBR завжди містить 4 розділи, але кількість використаних розділів може бути меншою. У цьому випадку sfdisk використовує типові значення з таблиці розділів і не використовує вбудовані типові значення для невикористаного розділу, які задано за допомогою -N. Див. також --append.

-A, --activate пристрій [номер_розділу...]
    Увімкнути прапорець завантажуваності для вказаних розділів і вимкнути прапорець завантажуваності для всіх невказаних розділів. Можна скористатися особливим замінником, \(aq-\(aq, замість номерів розділів для вимикання прапорця завантажуваності для усіх розділів.

    Підтримку команди активації передбачено лише для MBR і PMBR. Якщо виявлено мітку GPT, sfdisk виведе попередження і автоматично увійде до PMBR.

    Якщо не вказано аргументу номер-розділу, буде виведено список розділів із прапорцем «enabled».

--backup-pt-sectors пристрій
    Створити резервну копію секторів поточної таблиці розділів у двійковому форматі і завершити роботу Див. розділ «РЕЗЕРВНЕ КОПІЮВАННЯ ТАБЛИЦІ РОЗДІЛІВ».

--delete пристрій [номер_розділу...]
    Вилучити усі або вказані розділи.

-d, --dump пристрій
    Створити дамп розділів пристрою у форматі, яким можна скористатися як вхідним для sfdisk. Див. розділ РЕЗЕРВНЕ КОПІЮВАННЯ ТАБЛИЦІ РОЗДІЛІВ.

-g, --show-geometry [пристрій...]
    Вивести список геометрії усіх або вказаних пристроїв. Для зворотної сумісності застарілий параметр --show-pt-geometry має те саме значення, що і цей.

-J, --json пристрій
    Створити дамп розділів пристрою у форматі JSON. Зауважте, що sfdisk не може використовувати формат вхідних даних JSON.

-l, --list [пристрій...]
    Вивести список розділів на усіх або вказаних пристроях. Цією командою можна скористатися разом із --verify.

-F, --list-free [пристрій...]
    Вивести список не розподілених на розділи областей на усіх або вказаних пристроях.

--part-attrs пристрій номер_розділу [атрибути]
    Змінити біти атрибутів розділу GPT. Якщо аргумент атрибути не вказано, вивести поточні параметри розділу. Аргументом атрибути має бути список номерів або назв бітів, які відокремлено комами або пробілами. Наприклад, рядок "RequiredPartition,50,51" встановлює три біти. У поточній версії підтримуваними бітами атрибутів є такі:

    Біт 0 (RequiredPartition)
        Якщо встановлено цей біт, від розділу вимагатиметься працездатність платформи. Засіб створення розділу визначатиме, що вилучення або внесення змін до вмісту може призвести до втрати можливостей платформи або помилок у завантаженні або роботі платформи. Система не зможе нормально працювати, якщо цей розділ буде вилучено, а сам розділ можна розглядати як частину обладнання системи.

    Біт 1 (NoBlockIOProtocol)
        Мікропрограма EFI має ігнорувати вміст розділу і не намагатися виконати читання з нього.

    Біт 2 (LegacyBIOSBootable)
        Розділ може бути придатним до завантаження застарілою мікропрограмою BIOS.

    Біти 3-47
        Не визначено, мають бути нульовими. Зарезервовано для розширення у майбутніх версіях специфікації UEFI.

    Біти 48-63
        Зарезервовано для специфічного використання GUID. Використання цих бітів визначатиметься типом розділу. Наприклад, Microsoft використовує біт 60 для позначення розділів як придатних лише до читання, 61 для позначення тіньової копії іншого розділу, 62 для позначення прихованих розділів, а 63 для позначення вимикання автоматичного монтування.

--part-label пристрій номер-розділу [мітка]
    Змінити назву розділу GPT (мітку). Якщо мітку не вказано, вивести мітку поточного розділу.

--part-type пристрій номер-розділу [тип]
    Змінити тип розділу. Якщо тип не вказано, вивести тип поточного розділу.

    Аргумент тип має бути шістнадцятковим числом для MBR, GUID for GPT, альтернативною назвою типу (наприклад "linux") або скороченням типу (наприклад 'L'). Для зворотної сумісності параметри -c і --id мають те саме призначення, що і цей параметр.

--part-uuid пристрій номер-розділу [uuid]
    Змінити UUID розділу GPT (мітку) Якщо uuid не вказано, вивести UUID поточного розділу.

--disk-id пристрій [ідентифікатор]
    Змінити ідентифікатор диска. Якщо ідентифікатор не вказано, вивести поточний ідентифікатор. Ідентифікатором є UUID для GPT або додатне ціле число для MBR.

--discard-free пристрій
    Відкинути усі невикористані (не розподілені між розділами) сектори на пристрої. Скористайтеся параметром --list-free, щоб отримати список вільних областей. Див. також blkdiscard(8).

        Warning

        Усі дані у відкинутих областях пристрою буде втрачено! Не користуйтеся цим параметром, якщо не впевнені у наслідках.

    Зауважте, що команда «T» у fdisk запускає діалог для визначення, яку невикористану область має бути відкинуто. Втім, sfdisk завжди відкидає усі нерозподілені ділянки (окрім областей, де не можна створити розділи, зокрема на початку пристрою).

-r, --reorder пристрій
    Перенумерувати розділи, упорядкувавши їх за початковим відступом.

-s, --show-size [пристрій...]
    Вивести список розмірів усіх або вказаних пристроїв в одиницях у 1024 байти. Ця команда є ЗАСТАРІЛОЮ. Користуйтеся замість неї blockdev(8).

-T, --list-types
    Вивести усі підтримувані типи для поточної мітки диска або мітки, яку вказано за допомогою параметра --label.

-V, --verify [пристрій...]
    Перевірити, чи є коректною таблиця розділів і розділи.

--relocate дія пристрій
    Перемістити заголовок таблиці розділів. Підтримку цієї команди у поточній версії передбачено лише для заголовків GPT. Аргументом дія може бути:

    gpt-bak-std
        Пересунути резервний заголовок GPT до стандартного місця наприкінці пристрою.

    gpt-bak-mini
        Пересунути резервний заголовок GPT за останній розділ. Зауважте, що стандарт UEFI вимагає, щоб резервний заголовок перебував наприкінці пристрою, і засоби поділу на розділи можуть автоматично пересувати заголовок так, щоб він відповідав стандартам.

ПАРАМЕТРИ

-a, --append
    Не створювати нову таблицю розділів, а лише дописати дані до вказаних розділів.

    Note that in this case an unused partition may be re-used even though it is not the last partition in the partition table. See also -N for addressing a specific entry in the partition table.

-b, --backup
    Створити резервну копію поточної таблиці розділів до початку поділу на розділи. Типовою назвою файла резервної копії є ~/sfdisk-<device>-<offset>.bak; щоб скористатися іншою назвою, додайте параметр -O, --backup-file. Див. розділ РЕЗЕРВНЕ КОПІЮВАННЯ ТАБЛИЦІ РОЗДІЛІВ, щоб дізнатися більше.

--bytes
    Print SIZE in bytes rather than in human readable format.

--color[=умова]
    Розфарбувати виведені дані. Значенням додаткового аргументу варіант може бути auto, never або always. Якщо аргумент варіант пропущено, типовим значенням вважається auto. Розфарбовування можна вимкнути. Із поточним вбудованим типовим значенням можна ознайомитися за допомогою виведення команди з параметром --help. Див. також розділ КОЛЬОРИ.

-f, --force
    Вимкнути усі перевірки узгодженості.

--Linux
    Застарілий та ігнорований параметр. Типовим є поділ на розділи, який є сумісним із Linux (та іншими сучасними операційними системами).

--lock[=режим]
    Use an exclusive BSD lock for the device or file that is operated upon. The optional argument mode can be yes (1), no (0), or nonblock. If the mode argument is omitted, it defaults to yes. This option overrides the environment variable $LOCK_BLOCK_DEVICE. The default is to not use any lock at all, but using a lock is recommended to avoid collisions with systemd-udevd(8) or other tools.

-n, --no-act
    Виконати усі дії, окрім запису на пристрій.

--no-reread
    Не виконувати перевірку за допомогою ioctl повторного читання таблиці розділів того, чи використовується пристрій.

--no-tell-kernel
    Не повідомляти ядру про зміни розділу. Цей параметр рекомендовано використовувати разом із параметром --no-reread для внесення змін до розділу на використаному для роботи диску. Змінений розділ не слід використовувати (наприклад монтувати).

-O, --backup-file шлях
    Перевизначити типову назву файла резервної копії. Зауважте, що до назви файла завжди буде додано назву пристрою і відступ.

--move-data[=шлях]
    Пересунути дані після пересування розділу, наприклад, при пересуванні початку розділу до іншого місця на диску. Розмір розділу має лишитися тим самим, нове і старе розташування можуть перекриватися. Цей параметр потребує параметра -N для обробки лише на одному вказаному розділі.

    Необов’язковий аргумент шлях вказує назву файла журналу Файл журналу містить відомості щодо усіх дій читання-запису щодо даних розділу. Якщо вказано «@default», як шлях, B<sfdisk> у примусовому режимі використовуватиме ~/sfdisk-<назва-пристрою>.move для ведення журналу. Журнал є необов’язковим, починаючи з версії 2.35.

    Зауважте, що ця дія є ризикованою і не є атомарною. Не забудьте створити резервну копію ваших даних!

    Див. також --move-use-fsync.

    У наведеному нижче прикладі перша команда створює вільну область у 100 МіБ до першого розділу і пересуває дані (наприклад файлову систему), які там містяться. Наступна команда створює розділ на основі вільного місця (із відступом 2048), а остання команда перевпорядковує розділи так, щоб вони відповідали порядку на диску (початковий sdc1 стане sdc2).

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

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

        sfdisk /dev/sdc --reorder

--move-use-fsync
    Використовувати системний виклик fsync(2) після кожного запису при пересуванні даних до нового місця за допомогою --move-data.

-o, --output список
    Визначити, які стовпчики слід використовувати для виведення. Скористайтеся параметром --help, щоб переглянути список підтримуваних стовпчиків.

    Типовий список стовпчиків може бути розширено, якщо список вказано у форматі +список (наприклад, -o +UUID)

-q, --quiet
    Придушити додаткові інформаційні повідомлення.

--sector-size розмір-сектора
    Вказати розмір сектора на диску. Коректними є значення 512, 1024, 2048 і 4096. Ядро знає розмір сектора для звичайних блокових пристроїв. Користуватися цим параметром слід лише на дуже старих ядрах, під час роботи з образами дисків або для заміни стандартного розміру сектора ядра. Починаючи з util-linux-2.17, fdisk розрізняє розмір логічного та фізичного секторів. Цей параметр змінює розміри обох секторів на вказаний розмір-сектора.

-u, --unit S
    Застарілий параметр. Передбачено підтримку лише одиниці «сектор». Підтримки цього параметра не передбачено, якщо використано команду --show-size.

-X, --label тип
    Specify the disk-label type (e.g., dos, gpt, ...). If this option is not given, then sfdisk defaults to the type of the existing label, but if there is no label on the device yet, then the type defaults to dos. This default may be overridden by the "label: <name>" script-header line. The option --label does not force sfdisk to create an empty disk label (see the EMPTY DISK LABEL section below).

-Y, --label-nested тип
    Примусове редагування вкладеної мітки диска. Основна мітка диска має вже існувати. За допомогою цього параметра можна редагувати, наприклад, гібридну/захисну MBR на пристроях з GPT.

-w, --wipe умова
    Витерти файлову систему, підписи RAID і таблицю розділів з пристрою з метою уникнення можливих конфліктів Значенням аргументу умова може бути auto, never і always. Якщо цей параметр не задано, типовим значенням є auto, значення, яке призводить до витирання лише в інтерактивному режимі; окрім застарілих підписів таблиці розділів, які завжди буде витерто до створення таблиці розділів, якщо значенням аргументу умова не є never. У режимі auto програма також не витирає перший сектор (сектор завантаження), необхідно скористатися режимом always для витирання цієї області. В усіх варіантах виявлені підписи буде показано шляхом попереджень, перш ніж буде створено нову таблицю розділів. Див. також команду wipefs().

-W, --wipe-partitions умова
    Витерти файлову систему, RAID та підписи таблиці розділів з новостворених розділів для того, щоб уникнути можливих конфліктів. Значенням аргументу варіант може бути auto, never або always. Якщо не вказано цей параметр, типовим варіантом є auto, коли підписи буде витерто, лише якщо програма працює в інтерактивному режимі і після підтвердження з боку користувачів. В усіх випадках програма повідомлятиме про виявлені підписи шляхом видання попереджень після створення розділу. Див. команду wipefs(8).

-h, --help
    Вивести текст довідки і завершити роботу.

-v, --version
    Показати дані щодо версії і завершити роботу.

ФОРМАТИ ВХІДНИХ ДАНИХ

У sfdisk передбачено підтримку двох форматів вхідних даних і типових рядків заголовка.

  Рядки заголовка

Необов’язкові рядки заголовка визначають загальні відомості, які застосовуються до таблиці розділів. Формат рядка заголовка є таким:

<назва>: <значення>

У поточній версії розпізнаваними заголовками є такі:

unit
    Визнає одиницю поділу на розділи. Єдиною підтримуваною одиницею є sectors (сектори).

label
    Вказати тип таблиці розділів. Приклади: dos або gpt.

label-id
    Вказати ідентифікатор таблиці розділів. Це має бути шістнадцяткове число (із префіксом 0x) для MBR і UUID для GPT.

first-lba
    Вказати перший придатний до використання сектор розділів GPT. Цей заголовок буде проігноровано, якщо розміри секторів у скрипті та на пристрої є різними. У цьому випадку sfdisk використає специфічне для мітки значення.

last-lba
    Вказати останній придатний до використання сектор розділів GPT. Цей заголовок буде проігноровано, якщо розміри секторів у скрипті та на пристрої є різними. У цьому випадку sfdisk використає специфічне для мітки значення. Заголовок last-lba буде проігноровано, якщо вказано --force, що робить скрипт придатним до користування на дисках із різними розмірами.

table-length
    Вказати максимальну кількість розділів GPT.

grain
    Вказати мінімальний розмір у байтах, який буде використано для обчислення вирівнювання розділів. Типовим є 1 МіБ, і ми наполегливо рекомендуємо його не змінювати. Не змінюйте значення цієї змінної, якщо ви не певні щодо результатів.

sector-size
    Визначає розмір сектора, який використовується у вхідних даних. sfdisk завжди на внутрішньому рівні використовує розмір сектора пристрою, наданий ядром для блокового пристрою, або розмір, який зазначено користувачем у командному рядку (див. --sector-size). Починаючи з версії 2.39 sfdisk перераховує розміри на основі вхідних даних, якщо заголовок sector-size і розмір сектора пристрою відрізняються.

Зауважте, що рядки заголовка можна використовувати лише до того, як у вхідних даних визначено перший розділ.

  Формат полів без назви

    початок розмір тип завантажуваність

де кожен рядок складається з одного дескриптора розділу.

Поля відокремлюють пробілами, комами (рекомендовано) або крапками з комами, за якими може бути використано пробіл; початковий та кінцевий пробіли буде проігноровано. Числа може бути записано у вісімковій, десятковій або шістнадцятковій системі; типовою є десяткова. Якщо поле пропущено, вказано порожнім або вказано як '-', буде використано типове значення. Але якщо вказано параметр -N (змінити окремий розділ), типовим для кожного з полів буде його попереднє значення.

Типовим значенням аргументу початок є перший непов’язаний сектор, який вирівняно відповідно до обмежень введення-виведення пристрою. Типовим початковим відступом для першого розділу є 1 МіБ. Якщо після відступу вказано суфікси множення (KiB, MiB, GiB, TiB, PiB, EiB, ZiB і YiB), число буде оброблено як відступ у байтах. Починаючи з v2.38, коли було реалізовано параметр -N (зміна окремого розділу), можна скористатися '+' для збільшення розділу пересуванням початку розділу, якщо перед розділом є вільне місце.

Типове значення аргументу розмір визначає поведінку «якомога більше»; тобто, аж до наступного розділу або кінця пристрою. Числовий аргумент типово буде оброблено як кількість секторів. Втім, якщо за числовим розміром вказано один із суфіксів-множників (KiB, MiB, GiB, TiB, PiB, EiB, ZiB або YiB), число буде оброблено як розмір розділу у байтах і вирівняно відповідно до обмежень на введення-виведення пристрою. Замість числа можна вказати '+'. Це значення призведе до максимального збільшення розділу. Зауважте, що '+' є еквівалентом типової поведінки для нового розділу; якщо потрібно, розмір наявних розділів буде змінено відповідним чином.

Значення тип для розділу задається у форматі шістнадцяткового числа для MBR (DOS), де префікс x є необов’язковим; рядка GUID для GPT; скорочення або альтернативної назви. Рекомендуємо користуватися двома літерами для шістнадцяткових кодів MBR, щоб уникнути плутанини між застарілим скороченням 'E' і шістнадцятковим кодом MBR '0E'. У скриптах поділу на розділи для зворотної сумісності sfdisk намагається спершу обробити тип як скорочення, хоча в інших місцях (наприклад у команді --part-type) програма намагається використати скорочення як останню можливість.

Починаючи з версії v2.36, у libfdisk передбачено підтримку альтернативних назв типів розділів, як розширення до скорочень. Альтернативною назвою є просте зручне для читання слово (наприклад "linux").

Починаючи з версії 2.37, у libfdisk передбачено надання вхідних даних щодо назв типів розділів без врахування регістру символів та усіх не буквенно-числових символів у назві (наприклад "Linux /usr x86" є тим самим, що і "linux usr-x86").

Підтримувані скорочення і альтернативи:

L - альтернатива 'linux'
    Linux; означає 83 для MBR і 0FC63DAF-8483-4772-8E79-3D69D8477DE4 для GPT.

S - альтернатива 'swap'
    простір резервної пам’яті на диску; означає 82 для MBR і 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F для GPT

Ex - альтернатива 'extended'
    розширений розділ MBR; означає 05 для MBR. Початкове скорочення «E» вважається застарілим через конфлікт з типом розділів MBR 0x0E.

H - альтернатива 'home'
    домашній розділ; означає 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 для GPT

U - інший запис «uefi»
    системний розділ EFI, означає EF для MBR і C12A7328-F81F-11D2-BA4B-00A0C93EC93B для GPT

R - інший запис «raid»
    Linux RAID; означає FD для MBR і A19D880F-05FC-4D3B-A006-743F0F84911E for GPT

V - інший запис «lvm»
    LVM; означає 8E для MBR і E6D6D379-F507-44C2-A23C-238F2A3DF928 for GPT

Типовим значенням типу є linux.

Скорочення «X» для розширеного розділу Linux (85) вважається застарілим, його замінило скорочення «Ex».

Аргумент завантажуваність вказують як [*|-]. Типовим є значення, яке вказує на непридатність до завантаження. Значення цього поля не беруть до уваги для Linux — якщо запущено Linux, його вже завантажено, — але він може братися до уваги для певних типів завантажувачів і для інших операційних систем.

  Формат іменованих полів

Цей формат є зручнішими для читання, стійкішим та розширюванішим і надає змогу вказати додаткові відомості (наприклад UUID). Рекомендуємо користуватися цим форматом, щоб зробити ваші скрипти зручнішими для читання.

    [пристрій :] назва[=значення], ...

Поле пристрій є необов’язковим. sfdisk видобуває номер розділу з назви пристрою. Поле надає змогу вказати розділи у випадковому порядку. Цю функціональну можливість, здебільшого, використовують для --dump. Не користуйтеся нею, якщо не впевнені у результатах.

Аргумент значення може бути вказано у лапках (наприклад, name="This is partition name") Для полів start= і size= передбачено підтримку значень '+' і '-', які мають таке саме призначення, що і у форматі неіменованих полів.

У поточній версії поточними підтримуваними полями є такі:

start=число
    Перший непов’язаний сектор, який вирівняно відповідно до обмежень введення-виведення пристрою. Типовим початковим відступом для першого розділу є 1 МіБ. Якщо після відступу вказано суфікси множення (KiB, MiB, GiB, TiB, PiB, EiB, ZiB і YiB), число буде оброблено як відступ у байтах.

size=число
    Вказати розмір розділу у секторах. Після числового значення може бути вказано суфікс множення (KiB, MiB, GiB, TiB, PiB, EiB, ZiB або YiB). Значення з таким суфіксом буде оброблено як розмір у байтах і вирівняно відповідно до обмежень на введення-виведення пристрою.

bootable
    Позначити розділ як придатний до завантаження системи.

attrs=рядок
    Атрибути розділу, зазвичай, біти атрибутів розділу GPT. Див. --part-attrs, щоб дізнатися більше про формат рядка бітів GPT.

uuid=рядок
    UUID розділу GPT.

name=рядок
    Назва розділу GPT.

type=код
    Шістнадцяткове число (без 0x) для розділу MBR, GUID для розділу GPT, скорочення для формату неіменованих полів або назва типу (наприклад, type="Linux /usr (x86)"). Див. вище розділ щодо неіменованих полів, щоб дізнатися більше. Для зворотної сумісності поле Id= має те саме значення.

ПОРОЖНЯ МІТКА ДИСКА

Типово, sfdisk не створює таблиці розділів без розділів. Типово, програма очікує у скрипті рядків із розділами. Запит на порожню таблицю розділів можна надіслати явним чином за допомогою рядка заголовка скрипту "label: <назва>" без будь-яких рядків розділів. Приклад:

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

створює порожню таблицю розділів GPT. Зауважте, що --append вимикає цю можливість.

РЕЗЕРВНЕ КОПІЮВАННЯ ТАБЛИЦІ РОЗДІЛІВ

Рекомендуємо зберегти компонування ваших пристроїв. У sfdisk передбачено підтримку двох способів.

  Дамп у сумісному із sfdisk форматі

Скористайтеся командою --dump для збереження опису компонування розділів до текстового файла. Формат дампу є сумісним із вхідними командами sfdisk. Приклад:

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

Копію пізніше може бути відновлено такою командою:

    sfdisk /dev/sda < sda.dump

Зауважте, що sfdisk повністю відновлює типи та UUID розділів. Це, потенційно, може викликати проблеми, якщо ви дублюєте компонування на різних дисках, оскільки може призвести до дублювання UUID у межах вашої системи.

  Повністю двійкова резервна копія

Якщо ви хочете виконати повне резервне копіювання двійкової копії усіх секторів, де зберігалася таблиця розділів, скористайтеся командою --backup-pt-sectors. Ця команда записує сектори до файлів ~/sfdisk-<пристрій>-<відступ>.bak. Типову назву файла резервної копії можна змінити за допомогою параметра --backup-file. Файли резервних копій містять лише необроблені дані з пристрою. Приклад:

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

Заголовок GPT пізніше може бути відновлено такою командою:

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

Також можна скористатися параметром --backup для створення тієї самої резервної копії негайно після запуску для інших команд sfdisk. Наприклад, резервне копіювання таблиці розділів до вилучення усіх розділів з таблиці розділів:

    sfdisk --backup --delete /dev/sda

Ту саму концепцію файлів резервних копій використано у wipefs(8).

Зауважте, що у sfdisk, починаючи з версії 2.26, не надає параметра -I для відновлення секторів. Усі необхідні функціональні можливості надає dd(1).

КОЛЬОРИ

Розфарбовування виведених даних реалізовано у можливості terminal-colors.d(5). Неявне розфарбовування може бути вимкнено спорожненням файла

    /etc/terminal-colors.d/{команда}.disable

для команди {команда} або для усіх інструментів

    /etc/terminal-colors.d/disable

Починаючи з версії 2.41, передбачено підтримку змінної середовища $NO_COLOR для вимикання розфарбовування виведених даних, якщо розфарбовування не буде явним чином увімкнено параметром командного рядка.

Специфічні для користувача $XDG_CONFIG_HOME/terminal-colors.d або $HOME/.config/terminal-colors.d мають пріоритет над загальними параметрами.

Зауважте, що можна типово увімкнути розфарбовування виведених даних і у цьому випадку каталоги terminal-colors.d не повинні існувати.

Логічними назвами кольорів, підтримку яких передбачено у sfdisk, є такі:

header
    Заголовок виведених таблиць.

warn
    Повідомлення попереджень.

welcome
    Повідомлення вітання.

СЕРЕДОВИЩЕ

SFDISK_DEBUG=all
    вмикає діагностичне виведення даних sfdisk.

LIBFDISK_DEBUG=all
    вмикає показ діагностичних повідомлень libfdisk.

LIBBLKID_DEBUG=all, LIBSMARTCOLS_DEBUG=all
    вмикає показ діагностичних повідомлень libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on
    використати символи візуального доповнення.

вмикає показ діагностичних повідомлень libblkid.

LOCK_BLOCK_DEVICE=<режим>
    використати виключне блокування BSD. Режимом може бути «1» або «0». Див. --lock, щоб дізнатися більше.

ЗАУВАЖЕННЯ

Починаючи з версії 2.26, у sfdisk не передбачено параметра -R або --re-read для примушення ядра до повторного читання таблиці розділів. Скористайтеся замість цих параметрів командою blockdev --rereadpt.

Починаючи з версії 2.26, у sfdisk не передбачено підтримки параметрів --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer, --not-inside-outer.

ПРИКЛАДИ

sfdisk --list --label-nested=mbr /dev/sda
    Вивести захисний MBR на пристрій із міткою диска GPT.

echo -e ',10M,L\n,10M,L\n,+,\n' | sfdisk /dev/sdc
    Створити три розділи Linux із типовим початком, розміром перших двох розділів у 10 МіБ, а останнім розділом заповнити усю решту доступного місця на пристрої.

echo -e 'size=10M, type=L\n size=10M, type=L\n size=+\n' | sfdisk /dev/sdc
    Те саме, що і у попередньому прикладі, але у форматі іменованих полів.

echo -e 'type=swap' | sfdisk -N 3 /dev/sdc
    Встановити типом третього розділу «swap».

sfdisk --part-type /dev/sdc 3 swap
    Те саме, що і у попередньому прикладі, але без використання скрипту.

sfdisk --delete /dev/sdc 2
    Вилучити другий розділ.

echo "+,+" | sfdisk -N 3 --move-data /dev/sdc
    Збільшити третій розділ в обох напрямках, пересунути початок для використання вільного місця перед розділом і збільшити розмір, щоб скористатися усім вільним місцем після розділу, також пересунути дані розділу.

АВТОРИ

Поточну реалізацію sfdisk засновано на початковій версії sfdisk, автором якої є Andries E. Brouwer.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

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

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся

ДОСТУП ДО ПРОГРАМИ

Програма sfdisk є частиною пакунка util-linux, який можна отримати з