Scroll to navigation

FDISK(8) Керування системою FDISK(8)

НАЗВА

fdisk - керування таблицею розділів диска

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

fdisk [options] device

fdisk -l [device...]

ОПИС

fdisk is a dialog-driven program for creation and manipulation of partition tables. It understands GPT, MBR, Sun, SGI and BSD partition tables.

Блокові пристрої можна поділити на один або декілька логічних дисків, які називаються розділами. Цей поділ записують до таблиці розділів, яка, зазвичай, починається у секторі 0 диска. (У світі BSD це називається «зрізи диска» або «мітка диска».)

Типово, поділ на розділи є керованим обмеженнями введення-виведення пристрою (топологією). fdisk може оптимізувати компонування диска для розміру сектора у 4 кБ і використовувати зсув вирівнювання на сучасних пристроях для MBR і GPT. Завжди варто використовувати типові значення fdisk (наприклад, перший і останній сектори розділу), а розміри розділів, які вказано у позначеннях +/-<size>{M,G,...}, завжди вирівнюються відповідно до властивостей пристрою.

Адресування CHS (Cylinder-Head-Sector або циліндр-голівка-сектор) вважається застарілим і типово не використовуються. Будь ласка, не користуйтеся застарілими статтями і рекомендаціями, де радять fdisk -S <n> -H <n> для SSD або пристроями із секторами з розміром 4 кБ.

Зауважте, що у partx(8) передбачено чудовий інтерфейс для виведення компонувань дисків за допомогою скриптів, fdisk, здебільшого, дуже зручний у користуванні. Зворотну сумісність у виведених fdisk даних не гарантовано. Вхідні дані (команди) завжди мають бути сумісними із попередніми версіями.

ПАРАМЕТРИ

-b, --sector-size розмір-сектора

Вказати розмір сектора на диску. Коректними є значення 512, 1024, 2048 і 4096. (Нові ядра самі визначають розмір сектора. Користуйтеся цим параметром лише для застарілих ядер або для зміни автоматично визначеного значення.) З випуску util-linux-2.17 fdisk розрізняє розміри логічного і фізичного секторів. За допомогою цього параметра можна змінити обидва розміри на розмір_сектора.

-B, --protect-boot

Не витирати початок першого сектора диска при створенні мітки диска. Підтримку цієї можливості передбачено для GPT і MBR.

-c, --compatibility[=режим]

Вказати режим сумісності, «dos» або «nondos» Типовим є режим не-DOS Для зворотної сумісності можна скористатися параметром без аргументу режим — буде використано типове значення Зауважте, що необов’язковий аргумент режим не може бути відокремлено від параметра -c пробілом. Правильною формою, наприклад, є така: «-c=dos».

-h, --help

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

-V, --version

Вивести дані щодо версії і завершити роботу.

-L, --color[=умова]

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

-l, --list

Вивести список таблиць розділів для вказаних пристроїв і завершити роботу.

Якщо пристроїв не задано, буде використано пристрої, які згадано у /proc/partitions (якщо цей файл існує) Пристрої у списку завжди буде упорядковано так, як їх упорядковано у рядку команди або упорядковано ядром за списком у /proc/partitions.

-x, --list-details

Подібний до --list, але надає більше подробиць.

--lock[=режим]

Скористатися виключним блокуванням BSD для пристрою або файла, який ним керує. Значенням додаткового аргументу режим може бути yes, no (або 1 і 0) чи nonblock. Якщо пропустити аргумент режим, типовим значенням буде "yes". Цей параметр переписує змінну середовища $LOCK_BLOCK_DEVICE. Типовим станом є невикористання блокування, але рекомендуємо уникати конфліктів із systemd-udevd(8) або іншими програмами.

-n, --noauto-pt

Не створювати типової таблиці розділів на порожньому пристрої автоматично. Таблицю розділів має бути створено явним чином користувачем (за допомогою команд, подібних до «o», «g» тощо).

-o, --output список

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

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

-s, --getsz

Вивести розмір у 512-байтових секторах кожного заданого блокового пристрою. Цей параметр вважається ЗАСТАРІЛИМ. Користуйтеся blockdev(8).

-t, --type тип

Увімкнути підтримку лише міток диску вказаного типу і вимкнути підтримку усіх інших типів.

-u, --units[=одиниця]

При виведенні таблиць розділів показувати розміри у секторах («sectors») або у циліндрах («cylinders») Типовим є показ розмірів у секторах Для зворотної сумісності можна скористатися параметром без аргументу одиниця - буде використано типовий варіант Зауважте, що необов’язковий аргумент одиниця не можна відокремлювати від параметра -u пробілом. Правильною формою, наприклад, є «-u=cylinders».

-C, --cylinders число

Вказати кількість циліндрів на диску. Невідомо, чи комусь взагалі це потрібно.

-H, --heads число

Вказати кількість голівок на диску. (Звичайно ж, не фізичну кількість, а кількість, яку використано для таблиць розділів.) Прийнятними значеннями є 255 та 16.

-S, --sectors число

Вказати кількість секторів на доріжку на диску. (Звичайно ж, не фізичну кількість, а кількість, яку використано для таблиць розділів.) Прийнятним значенням є 63.

-w, --wipe умова

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

-W, --wipe-partitions умова

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

-V, --version

Вивести дані щодо версії і завершити роботу.

ПРИСТРОЇ

Аргументом пристрій>, зазвичай, є _/dev/sda, /dev/sdb або щось подібне. Назва пристрою вказує на цілий диск. У старих системах без libata (бібліотеки, яку використано у ядрі Linux для підтримки контролерів і пристроїв ATA основної системи) є різниця між дисками IDE і SCSI. У таких випадках назвою пристрою буде /dev/hd* (IDE) або /dev/sd* (SCSI).

Аргументом розділ є назва пристрою, за якою має бути вказано номер розділу Наприклад, /dev/sda1 є першим розділом на першому жорсткому диску у системі. Див. також документацію з ядра Linux (файл Documentation/admin-guide/devices.txt).

РОЗМІРИ

У діалозі «останній сектор» приймається розмір розділу, який вказано за кількістю секторів або за позначенням +/-<розмір>{K,B,M,G,...}.

Якщо до розміру дописано префікс «+», його буде оброблено як визначник значення, яке є відносним щодо першого сектора розділу. Якщо до розміру додано префікс «-», значення буде оброблено, як відносне до верхнього обмеження (останнього доступного сектора для розділу).

У випадку, якщо розмір вказано у байтах, за числом можна вказати одиницю виміру: KiB (=1024 байтів), MiB (=1024*1024 байтів) тощо для GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов’язковою, наприклад «K» є тим самим, що і «KiB»).

Відносні розміри завжди вирівняно відповідно до обмежень на введення-виведення для пристрою. Рекомендовано користуватися позначенням +/-<розмір>{K,B,M,G,...}.

Для забезпечення зворотної сумісності у fdisk також можна використовувати суфікси KB (1000 байтів), MB (1000*1000 байтів), і так само для GB, TB, PB, EB, ZB і YB. Ці суфікси для 10^N вважаються застарілими.

ФАЙЛИ СКРИПТІВ

fdisk allows reading (by 'I' command) sfdisk(8) compatible script files. The script is applied to in-memory partition table, and then it is possible to modify the partition table before you write it to the device.

І навпаки, можна записувати поточне компонування диска у пам’яті до файла скрипту за допомогою команди «O».

Файли скриптів є сумісними одразу з cfdisk(8), sfdisk(8), fdisk та іншими програмами libfdisk. Докладніші відомості можна знайти у підручнику з sfdisk(8).

МІТКИ ДИСКІВ

GPT (GUID Partition Table)

GPT - сучасний стандарт для компонування таблиці розділів. GPT використовує 64-бітові адреси логічних блоків, контрольні суми, UUID та назви для розділів та уможливлює необмежену кількість розділів (хоча кількість розділів, зазвичай, обмежується 128 у багатьох інструментах для роботи з розділами).

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

GPT є завжди кращим вибором за MBR, особливо на сучасному обладнанні із завантажувачем UEFI.

DOS-тип (MBR)

Таблиця розділів DOS-типу може описувати необмежену кількість розділів У секторі 0 є місце для опису 4 розділів (які називають «основними»). Одним з цих розділів може бути розширеним розділом. Розширений розділ може містити логічні розділи за допомогою дескрипторів, які розміщують у пов’язаному списку секторів, кожен з яких передує відповідним логічним розділам. Чотири основні розділи, є вони на диску чи ні, мають номери 1-4. Номери логічних розділів починаються з 5.

У таблиці розділів DOS-типу початкове зміщення та розмір кожного з розділів зберігається у два способи: як абсолютна кількість секторів (задана у 32 біти) і як трійка циліндри/голівки/сектори (задана у 10+8+6 бітів). З першим варіантом усе гаразд - з 512-байтовими секторами це працює до 2 ТБ. З другим варіантом є дві проблеми. Перша полягає у тому, що ці поля Ц/Г/С може бути заповнено, лише якщо відома кількість голівок та секторів на доріжку. А друга - у тому, що навіть якщо нам відомі значення цих параметрів, 24 доступних бітів недостатньо для їхнього запису. У DOS використано лише Ц/Г/С, у Windows - обидва варіанти, Linux ніколи не використовує Ц/Г/С. Адресування Ц/Г/С вважається застарілим, його підтримку може бути вилучено у якійсь з майбутніх версій fdisk.

Please, read the DOS-mode section if you want DOS-compatible partitions. fdisk does not care about cylinder boundaries by default.

BSD/Sun-тип

Мітка диска BSD/Sun може описувати 8 розділів, третім з яких має бути розділ «усього диска». Не розпочинайте розділ, який використовує його перший сектор (подібний до розділу резервної пам’яті на диску) на циліндрі 0, оскільки це знищить мітку диска. Зауважте, що мітку BSD, зазвичай, вкладено у розділ DOS.

IRIX/SGI-тип

Мітка диска IRIX/SGI може описувати 16 розділів, одинадцятим з яких має бути розділ усього «тому», а дев’ятий має бути позначено як «заголовок тому» Заголовок тому також покриває таблицю розділів, тобто він починається на нульовому блоці і, типово, займає п’ять циліндрів. Решту місця у заголовку тому може бути використано для записів каталогів заголовка. Жоден з розділів не може перекривати заголовок тому. Також не можна змінювати тип заголовка та створювати на ньому файлову систему, оскільки при цьому буде втрачено таблицю розділів. Користуйтеся цим типом міток, лише якщо ви працюєте з Linux на машинах IRIX/SGI або працюєте з дисками IRIX/SGI у Linux.

Якщо таблицю розділів було оновлено, перед виходом з програми буде виконано sync(2) та ioctl(BLKRRPART) (повторне читання таблиці розділів з диска).

РЕЖИМ DOS І ПОПЕРЕДЖЕННЯ ЩОДО DOS 6.X

Note that all this is deprecated. You don’t have to care about things like geometry and cylinders on modern operating systems. If you really want DOS-compatible partitioning then you have to enable DOS mode and cylinder units by using the '-c=dos -u=cylinders' fdisk command-line options.

Команда FORMAT для DOS 6.x шукає певні дані у першому секторі області даних розділу і обробляє ці дані як надійніші за відомості з таблиці розділів. FORMAT для DOS очікує від FDISK для DOS очищення перших 512 байтів області даних розділу під час кожної зміни розмірів. FORMAT для DOS шукатиме ці додаткові відомості, навіть якщо вказано параметр /U - ми вважаємо це вадою у FORMAT для DOS та FDISK для DOS.

У підсумку, якщо ви користуєтеся fdisk або cfdisk(8) для зміни розмірів запису у таблиці розділів DOS, вам слід також скористатися dd(1) для занулення перших 512 байтів цього розділу до використання FORMAT для DOS для форматування розділу. Наприклад, якщо ви скористалися fdisk для створення запису DOS у таблиці розділів для /dev/sda1, далі, (після виходу з fdisk і перезавантаження Linux, щоб освіжити дані таблиці розділів) вам слід скористатися командою dd if=/dev/zero of=/dev/sda1 bs=512 count=1 для занулення перших 512 байтів розділу.

fdisk usually obtains the disk geometry automatically. This is not necessarily the physical disk geometry (indeed, modern disks do not really have anything like a physical geometry, certainly not something that can be described in the simplistic Cylinders/Heads/Sectors form), but it is the disk geometry that MS-DOS uses for the partition table.

Зазвичай, усе має бути типово добре, і не повинно бути проблем, якщо Linux є єдиною системою на диску. Втім, якщо диск спільно використовується іншими операційними системами, часто варто надати змогу fdisk з іншої операційної системи створити принаймні один розділ. При завантаженні Linux система аналізує таблицю розділів і намагається визначити, яка (фіктивна) геометрія потрібна для належної сумісності з іншими операційними системами.

Кожного разу, коли виводиться таблиця розділів у режимі DOS, буде виконано перевірку записів таблиці розділів. Під час перевірки буде встановлено, чи є ідентичними фізичні і логічні початкова і кінцева точки, і чи кожен розділ починається і завершується на межі циліндра (окрім першого розділу).

Деякі версії MS-DOS створюють перший розділ, який починається не на початку межі циліндра, а на секторі 2 першого циліндра. Розділи, що починаються на циліндрі 1, не можуть починатися на межі циліндра, але це навряд чи спричинить труднощі, якщо на вашому комп’ютері немає OS/2.

Для покращення результатів вам слід завжди користуватися специфічною для операційної системи програмою для роботи з таблицею розділів. Наприклад, вам слід створювати розділи DOS за допомогою програми FDISK для DOS, а розділи Linux за допомогою програм fdisk та Linux cfdisk(8) для Linux.

КОЛЬОРИ

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

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

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

/etc/terminal-colors.d/disable

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

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

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

header

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

help-title

Заголовки розділів довідки.

warn

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

welcome

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

СЕРЕДОВИЩЕ

FDISK_DEBUG=all

вмикає діагностичне виведення fdisk.

LIBFDISK_DEBUG=all

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

LIBBLKID_DEBUG=all

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

LIBSMARTCOLS_DEBUG=all

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

LIBSMARTCOLS_DEBUG_PADDING=on

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

LOCK_BLOCK_DEVICE=<режим>

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

АВТОРИ

Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>

Початкову версію було написано Andries E. Brouwer, A. V. Le Blanc та іншими авторами.

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

cfdisk(8), mkfs(8), partx(8), sfdisk(8)

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

Для звітування щодо вад скористайтеся системою стеження за вадами - <https://github.com/util-linux/util-linux/issues>.

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

Програма fdisk є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-27 util-linux 2.40