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 розмір-сектора
-B, --protect-boot
-c, --compatibility[=режим]
-h, --help
-V, --version
-L, --color[=умова]
-l, --list
Якщо пристроїв не задано, буде використано пристрої, які згадано у /proc/partitions (якщо цей файл існує) Пристрої у списку завжди буде упорядковано так, як їх упорядковано у рядку команди або упорядковано ядром за списком у /proc/partitions.
-x, --list-details
--lock[=режим]
-n, --noauto-pt
-o, --output список
Типовий список стовпчиків може бути розширено, якщо список вказано у форматі +список (наприклад, -o +UUID)
-s, --getsz
-t, --type тип
-u, --units[=одиниця]
-C, --cylinders число
-H, --heads число
-S, --sectors число
-w, --wipe умова
-W, --wipe-partitions умова
-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 усе ще зарезервовано для захисного MBR. Він запобігає помилковому розпізнаванню і перезапису дисків GPT інструментами для роботи з розділами, які розуміють лише MBR.
GPT є завжди кращим вибором за MBR, особливо на сучасному обладнанні із завантажувачем UEFI.
DOS-тип (MBR)
У таблиці розділів 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-тип
IRIX/SGI-тип
Якщо таблицю розділів було оновлено, перед виходом з програми буде виконано 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
LIBFDISK_DEBUG=all
LIBBLKID_DEBUG=all
LIBSMARTCOLS_DEBUG=all
LIBSMARTCOLS_DEBUG_PADDING=on
LOCK_BLOCK_DEVICE=<режим>
АВТОРИ¶
Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>
Початкову версію було написано Andries E. Brouwer, A. V. Le Blanc та іншими авторами.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ¶
Для звітування щодо вад скористайтеся системою стеження за вадами - <https://github.com/util-linux/util-linux/issues>.
ДОСТУП ДО ПРОГРАМИ¶
Програма fdisk є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2024-11-13 | util-linux 2.40.2 |