Введение

Утилита командной строки операционных систем DOS и Microsoft Windows

fdisk — это командная строка для разделения диска на разделы. Она входила в состав DOS, DR FlexOS, IBM OS/2 и ранних версий Microsoft Windows, а также некоторых портов FreeBSD, NetBSD, OpenBSD, DragonFly BSD и macOS в целях обеспечения совместимости. Начиная с Windows 2000 и последующих версий, fdisk была заменена более продвинутым инструментом diskpart.

DOS

IBM представила первую версию (официально названную "Fixed Disk Setup Program") в марте 1983 года, с выпуском компьютера IBM PC/XT (первого ПК, предназначенного для хранения данных на жестком диске) и операционной системы IBM PC DOS 2.0. fdisk версии 1.0 может создавать один раздел FAT12, удалять его, изменять активный раздел или отображать данные о разделе. Она записывает главную загрузочную запись, которая поддерживает до четырех разделов. Остальные три предназначались для других операционных систем, таких как CP/M 86 и Xenix, которые, как ожидалось, будут иметь собственные утилиты для разбиения диска на разделы. Microsoft впервые добавила fdisk в MS DOS в версии 3.2. MS DOS версий 2.0–3.10 включали в себя инструменты разделения диска, специфичные для OEM-производителей, которые могли называться по-разному. PC DOS 3.0, выпущенная в августе 1984 года, добавила поддержку разделов FAT16 для более эффективной работы с большими жесткими дисками. PC DOS 3.30, выпущенная в апреле 1987 года, добавила поддержку расширенных разделов (эти разделы не хранят данные напрямую, но могут содержать до 23 логических дисков). В обоих случаях fdisk была модифицирована для работы с FAT16 и расширенными разделами. Поддержка FAT16B была впервые добавлена в fdisk от Compaq в MS DOS 3.31. Позже FAT16B стала доступна с MS DOS и PC DOS 4.0. Недокументированный параметр /mbr в fdisk, который позволял восстановить главную загрузочную запись, вскоре стал популярным. IBM PC DOS 7.10 поставлялась с новой утилитой. ROM DOS, DR DOS 6.0 FlexOS, PTS DOS 2000 Pro и FreeDOS включают в себя реализацию этой команды.

Окна

Windows 95, Windows 98 и Windows ME поставлялись с производной от MS-DOS. Windows 2000 и последующие версии поставлялись с более продвинутой утилитой diskpart и графическими инструментами управления дисками. Начиная с Windows 95 OSR2, fdisk поддерживает файловую систему FAT32. Версия fdisk, поставляемая с Windows 95, не отображает правильный размер жесткого диска, превышающего 64 ГБ. Microsoft выпустила обновление для устранения этой проблемы. Кроме того, fdisk не может создавать разделы размером более 512 ГБ, хотя FAT32 поддерживает разделы до 2 ТБ. Это ограничение распространяется на все версии fdisk, поставляемые с Windows 95 OSR 2.1, Windows 98 и Windows ME.

IBM OS/2

До версии 4.0, OS/2 поставлялась с двумя программами управления таблицей разделов: текстовым режимом fdisk и графическим fdiskpm. Обе программы обладают идентичной функциональностью и могут работать как с FAT-разделами, так и с более продвинутыми HPFS-разделами. OS/2 версии 4.5 и выше (включая eComStation и ArcaOS) поддерживают файловую систему JFS, наряду с FAT и HPFS. Эти программы были заменены на Логический менеджер томов (LVM).

Мах и 386BSD

для операционной системы Mach была написана Робертом Бароном. Она была портирована на 386BSD Джулианом Элишером, и эта реализация используется FreeBSD, NetBSD и DragonFly BSD, по состоянию на 2019 год, а также в ранних версиях OpenBSD в период с 1995 по 1997 год, до OpenBSD 2.2. Тобиас Вайнгартнер переписал её в 1997 году до OpenBSD 2.2, которая впоследствии была форкнута компанией Apple Computer, Inc. в 2002 году и до сих пор используется в качестве основы для macOS по состоянию на 2019 год. Для нативных разделов системы BSD традиционно используют BSD disklabel, а поддержка разделов реализована только на определенных архитектурах (в целях совместимости) и только в дополнение к BSD disklabel (который является обязательным).

Линукс

В Linux, fdisk входит в состав стандартного пакета, распространяемого организацией Linux Kernel, util linux. Исходная программа была написана Андрисом Э. Брауэром и А. В. Ле Бланком, а затем переписана Карелом Заком и Дэвидомлором Бюэзо после выделения пакета util linux в отдельный проект в 2006 году. Альтернативная программа cfdisk, основанная на ncurses, позволяет пользователям создавать схемы разбиения диска через текстовый пользовательский интерфейс (TUI).