Разбиение жесткого диска (FDISK). Работа с новым жестким диском с помощью FDISK

Чтобы определить, в каком состоянии находится жесткий диск приобретенного ПК, следует:

1) попытаться загрузиться с жесткого диска, для чего включить компьютер при отсутствии дискеты в приводе А. Если какая-нибудь операционная система загрузилась, то жесткий диск к работе уже подготовлен и можно не прибегать к помощи утилиты FDISK. Если загрузка не прошла, то нужно перейти к п. 2.

2) проверить, сконфигурирован ли жесткий диск, т.е. имеются ли на нем разделы DOS. Для этого нужно загрузиться с загрузочной дискеты, ввести команду FDISK (на дискете должна быть утилита FDISK) и выбрать опцию «Вывод сведений об имеющихся разделах» в главном меню. Если в результате будет сообщено, что разделы отсутствуют, то конфигурирование жесткого диска обязательно. В противном случае имеется возможность реконфигурирования (изменения количества и/или размеров разделов и логических дисков) этой же утилитой. В любом из описанных случаев можно завершить подготовку жесткого диска к работе путем высокоуровневого форматирования всех логических дисков с использованием команды FORMAT (очень часто форматирование дисков осуществляется в дальнейшем в процессе установки операционной системы). Если хотите произвести форматирование перед установкой ОС, то на одной из дискет должна иметься утилита FORMAT. Если же утилита FDISK не запускается, нужно перейти к п. 3.

3) произвести низкоуровневое форматирование жесткого диска специальной утилитой, поставляемой вместе с ПК. Низкоуровневое форматирование винчестера заключается в формировании секторов (с учетом коэффициента чередования), заключающемся в записи на дорожки секторных меток и в проверке их доброкачественности (физической возможности записи в них информации). Дефектные секторы специальным образом помечаются. После низкоуровневого форматирования следует выполнить команду FDISK и, если необходимо, произвести форматирование логических дисков. Невозможность низкоуровневого форматирования диска означает, что оборудование ПК неисправно или плохо подстыкованы кабели.

Таким образом, подготовка жесткого диска к работе «с нуля» реализуется тремя этапами: 1) низкоуровневым форматированием жесткого диска; 2) конфигурированием жесткого диска; 3) высокоуровневым форматированием всех созданных на нем логических дисков (этот пункт необязателен). Низкоуровневое форматирование современных жестких дисков производится еще на заводе-изготовителе. Повторное низкоуровневое форматирование таких дисков не требуется, да и является весьма опасной операцией, поскольку может привести к потере служебной информации. Низкоуровневое переформатирование жестких дисков устаревших моделей можно выполнить утилитой CALIBRATE из комплекта NORTON UTILITIES. Эту процедуру полезно производить примерно раз в год, чтобы восстановить секторные метки и одновременно протестировать качество поверхности диска. Необходимость разнесения низкоуровневого и высокоуровневого форматирования жесткого диска во времени объясняется тем, что после низкоуровневого форматирования требуется осуществить его конфигурирование. Алгоритм конфигурирования жесткого диска для работы в среде Windows состоит в следующем:


1) создание основного раздела DOS с логическим диском в нем;

2) создание дополнительного раздела DOS (если необходимо, например, есть потребность установить на компьютере 2 ОС: Windows 98 и Windows NT и работать с различными файловыми системами);

3) формирование логических дисков в дополнительном разделе DOS (если он создан в п.2);

4) установка признака активности основного раздела DOS.

Для нормальной работы винчестера необходимо, чтобы он имел таблицу разбиения (иногда её называют partition, хотя строго говоря, partition -это непосредственно разделы диска). При её отсутствии операционная система не имеет доступа к винчестеру("не видит" жесткий диск). Таблица разбиения содержит сведения о физических характеристиках диска: количестве сторон, количестве дорожек и секторов на дорожке, а также информацию о разделах и логических дисках.

Разделы диска

При работе в системе MS-DOS каждый жесткий диск может иметь следующие разделы:

  • Первичный раздел DOS: присутствует обязательно. В этом разделе формируется единственный системный логический диск (имеющий, как правило, имя С:)
  • Расширенный раздел DOS: присутствует только тогда, когда винчестер имеет два или более логических диска.
  • Раздел не DOS: формируется, если вы работаете с двумя и более операционными системами. Этот раздел отдаётся в пользование другим операционным системам и для MS-DOS невидим.

Команда FDISK

Для выполнения этой команды необходимо иметь загрузочную дискету, сделанную в Windows 98SE, желательно на русском языке. Хотя в комплекте с операционной системой поставляется внешняя команда FDISK , но на английском языке.

После загрузки компьютера с дискеты введите команду

На экране при этом отобразится главное меню:

FDISK Options
(
Опции FDISK)
Current fixed disk drive: 1
(Текущий привод жесткого диска: 1)
Choose one of the following:
(
Выберите одну из опций:)
1.Create DOS partition or Logical DOS Drive
(
1. Создать раздел DOS или логический диск DOS.)
2.Set active partition
(
2. Установить активный раздел.)
3.Delete partition or Logical DOS Drive
(
3. Удалить раздел или логический диск DOS.)
4.Display partition information
(
4. Просмотреть информацию о разделах.)
5.Change current fixed disk drive
(5. Сменить текущий привод жесткого диска.)
Enter choice:
(Введите ваш выбор:)
Press Esc to exit FDISK
(Для выхода нажмите Esс)

Примечание : Если в компьютере установлен только один винчестер, то опция 5 не выдается.

Разбиение жесткого диска

Для разбиения жесткого диска необходимо выполнить следующие операции:

  • Сделать активным реконфигурируемый привод(если необходимо)
  • Удалить все существующие на жестком диске разделы.
  • Создать новые необходимые вам разделы.
  • При необходимости создать логические диски.
  • При необходимости назначить активный раздел (с него будет осуществляться загрузка)
  • Отформатировать получившиеся логические диски.

Удаление существующих разделов

Если ваш диск уже был конфигурирован, то вначале придется удалить предыдущее разбиение. Чтобы сделать это, выберите пункт 3 главного меню. На экране появится:

Delete DOS Partition or Logical DOS Drive
(Удаление разделов DOS или логических дисков)
Current fixed disk drive: 1
(Текущий привод: 1)
Choose one of the following:
(Выберите один из вариантов:)
1. Delete Primary DOS Partition
(1. Удалить первичный раздел DOS)
2. Delete Extended DOS Partition
(2. Удалить расширенный раздел DOS)
3. Delete Logical DOS Drive(s) in the Extended DOS
(3. Удалить логические диски из расширенного раздела DOS)
4. Delete Non-DOS Partition
(4. Удалить не-DOS раздел)

Порядок ваших действий:

  • Удалите не DOS раздел(если он существует)
  • Удалите логические диски из расширенного раздела DOS (если этот раздел существует), причем вам при удалении нужно будет несколько раз подтвердить свои намерения и ввести метку диска.
  • Удалите сам расширенный раздел DOS (если он у вас был), причем при удалении необходимо будет несколько раз подтвердить свои намерения.
  • Удалите первичный раздел DOS, причем вам при удалении необходимо будет несколько раз подтвердить свои намерения и ввести метку диска.

Теперь предыдущее разбиение удалено, и вы можете создать новое.

Создание нового разбиения

После удаления предыдущего разбиения нужно создать новое. Для этого надо выбрать опцию 1 из главного меню.

Create DOS partition or Logical DOS Drive
(Создание разделов DOS или логических дисков)
Current fixed disk drive: 1
(Текущий привод: 1)
Choose one of the following:
(Выберите один из вариантов:)
1. Create Primary DOS Partition
(1. Создать первичный раздел DOS)
2. Create Extended DOS Partition
(2. Создать расширенный раздел DOS)
3. Create Logical DOS Drive(s) in Extended DOS Partition
(3. Создать логические диски в расширенном разделе DOS)

Вначале нужно создать первичный раздел DOS. Выберите пункт 1. Вам будет задан вопрос:

Do you wish to use the maximum available size for a Primary DOS Partition and make the partition active
(Y/N...............?
(Вы хотите использовать для первичного раздела DOS все дисковое пространство и сделать этот раздел активным?)
Если вы ответите положительно, то на всем вашем винчестере будет создан один логический диск, с которого будет проводиться загрузка операционной системы.
В этом случае разбиение жесткого диска закончено. Если же вы хотите разбить свой винчестер на несколько логических, то надо ответить отрицательно. На экран будет выведен запрос:

Enter partition size in Mbytes or percent of disk space (%) to create a Primary DOS Partition.............:
(Введите размер первичного раздела DOS в Мбайтах или в процентах от дискового пространства.)
После того как вы создадите первичный раздел нужно будет создать расширенный раздел DOS.(Create Extended DOS Partition )

На экране появиться сообщение:

Enter partition size in Mbytes or percent of disk space (%) to create an Extended DOS Partition..........:
(Введите размер расширенного раздела DOS в Мбайтах или в процентах от дискового пространства.)
Если вам не нужно оставлять место для работы с другой операционной системой(не MS-DOS), то вы должны указать все пространство на диске, оставшееся свободным, что и предлагается по умолчанию.
После того как вы создали расширенный раздел DOS нужно разбить его на логические диски.( Create Logical DOS Drive(s) in Extended DOS Partition )
Enter Logical drive size in Mbytes or percent of disk space (%)....
(Введите размер логического диска в Мбайтах или процентах от дискового пространства.)
Если вы хотите создать два логических (один-первичный раздел DOS, другой-полный размер расширенного раздела DOS),то нужно согласиться с предлагаемым по умолчанию максимальным размером. В противном случае введите ваш размер и повторите эту операцию для следующего логического диска.

После разбиения винчестера на разделы и логические диски нужно установить активный раздел (именно с него будет загружаться компьютер).

Установка активного раздела

Для загрузки с винчестера необходимо, чтобы первичный раздел DOS был активным. Выберите опцию 2 из главного меню и введите номер раздела с которого будет осуществляться загрузка:

Enter the number of the partition you want to make active......:
(Введите номер раздела, который вы хотите сделать активным)

При выводе на экран информации о разбиении активный раздел помечается буквой А.

После выполнения этих действий разбиение жесткого диска закончено. Осталось только отформатировать получившиеся логические диски.

Примечание: Если ни один из разделов не сделан активным, то загрузиться с винчестера невозможно. При этом каких-либо сообщений не выводится.

Форматирование винчестера

Форматирование винчестера имеет некоторые особенности. Во-первых, диск С: должен быть сделан системным.

Во-вторых, форматировать винчестер придется после загрузки с дискеты. После загрузки с дискеты введите команду:

На экран будет выведено предупреждение, что вы форматируете винчестер:

Warning: all data on non-removable disk
Drive D: will be lost!

Будет задан вопрос на продолжение:

При вашем положительном ответе винчестер будет отформатирован и на него будет перенесена операционная система.

После этого вы сможете загрузиться с винчестера, перенести на него необходимые вам файлы(операционную систему), и при необходимости, отформатировать остальные логические диски(параметр S задавать, естественно, уже не нужно). Процесс реконфигурирования винчестера полностью закончен.

fdisk [-BIaipstu] [ -b загрузчик ] [-1234] [ диск ] fdisk -f файл_конфигурации [-itv] [ диск ]

ПРОЛОГ Чтобы BIOS смог загрузить ядро, необходимо придерживаться определённых соглашений. Нулевой сектор диска должен содержать загрузочный код, таблицу слайсов и магическое число. Используя слайсы BIOS , диск может быть разбит на несколько частей. BIOS считывает нулевой сектор и проверяет магическое число. Затем загрузочный код из нулевого сектора проверяет таблицу слайсов, чтобы найти слайс, помеченный как "активный"". Затем он считывает программу начальной загрузки из активного слайса, и если слайс помечен как загрузочный, запускает её. В DOS может быть несколько слайсов, один из которых будет активным. Утилита fdisk для DOS позволяет разделить дисковое пространство на слайсы и пометить один из них как активный. ОПИСАНИЕ Утилита fdisk для служит тем же целям, что и аналогичная ей утилита для DOS. Первая форма вызова используется для вывода информации о параметрах слайсов или для её редактирования в интерактивном режиме. Вторая - для записи таблицы слайсов c использованием файла конфигурации файл_конфигурации ; она предназначена для использования другими сценариями или программами. fdisk поддерживает следующие опции: -a Только изменить активный слайс. Игнорируется в сочетании с опцией -f . -b загрузчик Использовать код загрузки из файла загрузчика. По умолчанию используется /boot/mbr . -B Изменить код загрузки в нулевом секторе диска. Игнорируется в сочетании с опцией -f . -f файл_конфигурации Установить параметры слайсов из файла файл_конфигурации . С помощью файла конфигурации меняются параметры только явно указанных слайсов, но если также указана опция -i, то перед чтением файла конфигурации все существующие слайсы удаляются (помечаются как неиспользуемые, "unused "). При указании "- " (знак минус) в качестве файла конфигурации будет использоваться стандартный ввод. Описание формата файла конфигурации смотрите ниже в секции ФАЙЛ КОНФИГУРАЦИИ .

ПРЕДУПРЕЖДЕНИЕ: в отличие от интерактивного режима, при использовании опции -f изменения вносятся без запроса на подтверждение. Соблюдайте осторожность!
-i Инициализировать нулевой сектор диска. Перед редактированием, существующие слайсы будут помечены как неиспользуемые ("unused "). (Сравните с опцией -u ). -I Инициализировать таблицу слайсов в секторе 0 одним слайсом FreeBSD на весь диск. -p Вывести таблицу слайсов в формате конфигурационного файла fdisk и выйти; см. ФАЙЛ КОНФИГУРАЦИИ ниже. -s Вывести краткую информацию и выйти. -t Режим тестирования: изменения на диск записываться не будут. Как правило, используется совместно с опцией -f чтобы узнать, что было бы записано в таблицу слайсов. Включает опцию -v . -u Редактировать таблицу слайсов диска в секторе 0. Игнорируется в сочетании с опцией -f . -v Выводить подробные сообщения. В сочетании с -f , fdisk печатает записываемую таблицу слайсов. -1234 Оперировать только с одним слайсом. Игнорируется в сочетании с опцией -f . В качестве аргумента диск допустимо указание как просто имени диска (например, da0 ), так и полного пути к нему. Если аргумент не указан, fdisk пытается определить имя диска по умолчанию по имени устройства, на котором находится корневая файловая система. При вызове без аргументов печатается таблица слайсов из сектора 0 . Выглядит примерно следующим образом: ******* Working on device /dev/ad0 ******* parameters extracted from in-core disklabel are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) parameters to be used for BIOS calculations are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 495, size 380160 (185 Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 2 is: sysid 164,(unknown) start 378180, size 2475 (1 Meg), flag 0 beg: cyl 764/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 3 is: The data for partition 4 is: sysid 99,(ISC UNIX, other System V/386, GNU HURD or Mach) start 380656, size 224234 (109 Meg), flag 80 beg: cyl 769/ sector 2/ head 0; end: cyl 197/ sector 33/ head 14 Диск поделён на три слайса, которые полностью его охватывают. Второй слайс частично перекрывается с концом первого. (Используется в целях отладки). sysid используется для маркировки слайсов. FreeBSD резервирует для себя магическое число 165 в десятичной системе счисления (A5 в шестнадцатеричной). start и size поля, содержащие начальный адрес и размер слайса в секторах. flag 80 указывает на то, что это активный слайс. cyl, sector и head поля используются для указания начального и конечного адресов слайса (цилиндр, сектор и головка соответственно). Замечание: эти числа вычисляются исходя из геометрии диска, предполагаемой BIOS, и хранятся в загрузочном секторе. Флаги -i и -u указывают программе на то, что таблица слайсов должна быть изменена. Если флаг -f не был указан, работа с утилитой будет происходить в диалоговом режиме. В этом случае никакие изменения на диск записываться не будут, пока вы явно не потребуете этого. Fdisk покажет каждый слайс и спросит, хотите ли вы его отредактировать. В случае утвердительного ответа, fdisk будет последовательно переходить от поля к полю, отображая старое значение и запрашивая новое. Когда вы закончите редактировать слайс, fdisk выведет информацию о нём и спросит, согласны ли вы с введёнными значениями, и если ответ будет утвердительным, перейдёт к следующему слайсу. Правильно вычислить значения cyl , sector , и head бывает сложно, поэтому по умолчанию они вычисляются автоматически. Тем не менее, при необходимости вы можете задать их самостоятельно. После того, как все слайсы были обработаны, вам будет предложено изменить "активный" слайс. Наконец, когда все новые данные будут собраны, программа запросит подтверждение на запись в нулевой сектор. Разница между флагами -u и -i заключается в том, что -u редактирует (обновляет) параметры существующих слайсов, тогда как -i используется для их "инициализации" (старые значения игнорируются). Если редактируется первый слайс, то -i настроит его так, чтобы он охватывал весь диск, и сделает его активным. ЗАМЕЧАНИЯ При автоматическом вычислении начального цилиндра, головки и т.д. используется набор значений, отражающих геометрию диска на основе данных BIOS . По умолчанию эти значения берутся из метки диска в ядре (in-core disk label ), но fdisk предоставляет возможность изменить их. Это позволяет создать загрузочный блок, который может работать с дисками, использующими трансляцию адресов через BIOS . Размечая диск вручную убедитесь, что слайсы FreeBSD начинаются на границе цилиндра. Изменение параметров существующего слайса с большой вероятностью может привести к потере данных, хранящихся на этом слайсе. Имеет смысл несколько раз запустить fdisk в интерактивном режиме, чтобы просмотреть все изменения, которые она произведёт. Это безопасно при условии, что вы ответите отрицательно на последний вопрос, "Should we write new partition table? ". Имеется ряд тонкостей конфигурации, которые утилита fdisk обнаруживает, но которые не описываются подробно в этой странице справочника. ФАЙЛ КОНФИГУРАЦИИ При использовании опции -f таблица слайсов диска может быть записана с помощью значений, указанных в файле файл_конфигурации . Формат этого файла достаточно прост, каждая строка является либо комментарием, либо спецификацией, как показано ниже: # комментарий строки, начинающиеся с # являются комментариями и игнорируются. g spec1 spec2 spec3 Задать геометрию BIOS, использующуюся для вычисления параметров слайсов. Должно быть указано три значения, с буквой перед каждым числом:
  • cnum - Установить число цилиндров равным num .
  • hnum - Установить число головок равным num .
  • snum - Установить число секторов на дорожку равным num .
Значения могут быть указаны в любом порядке, т.к. первая буква однозначно определяет какое значение имеется ввиду. Однако в любом случае, должны быть указаны все три значения. Эта строка должна предшествовать строкам, задающим параметры слайсов. Значения могут быть в таких диапазонах: 1 <= число цилиндров 1 <= число головок <= 256 1 <= число секторов на дорожке < 64 Число цилиндров должно быть меньше либо равным 1024 . Это не строго обязательно, но если вы укажете число, большее 1024 , будет выдано предупреждение. Следует учитывать, что загрузочные слайсы FreeBSD, содержащие корневую ("/") файловую систему, должны располагаться в первых 1024 цилиндрах, иначе могут возникнуть проблемы c загрузкой. Это ограничение не распространяется на незагрузочные слайсы. Пример геометрии диска (все варианты идентичны) с 1019 цилиндрами, 39 головками и 63 секторами на дорожке: g c1019 h39 s63 g h39 c1019 s63 g s63 h39 c1019 p slice type start length Задать слайсу с номером slice (1-4 ) тип type , начальный сектор start и размер length секторов. Изменениям подвергнутся только те слайсы, параметры которых заданы такими строками, остальные слайсы сохранят свои прежние параметры. Однако, если существующая таблица слайсов будет некорректна или же будет указана опция -i , все существующие слайсы будут удалены (помечены как неиспользуемые), и для разметки необходимо будет задать соответствующие p строки . При задании параметров для нескольких слайсов следует задать несколько строк p , по одной на каждый слайс. Эти строки должны следовать за строкой, задающей геометрию, если такая строка присутствует в файле. Для FreeBSD слайсов значение type равно 165 . Указание нулевого типа аналогично удалению слайса (пометкой его "unused"), однако полям start и length в этом случае также должны быть присвоены произвольные значения, например, 0 . Замечание: при необходимости, начальное смещение будет округлено вверх до границы головки, а конечное смещение - вниз до границы цилиндра. Пример: чтобы удалить 4-й слайс и сделать его неиспользуемым ("unused"): p 4 0 0 0 Пример: чтобы установить 1-й слайс как слайс для FreeBSD, начинающийся с 1 -го сектора размером в 2503871 секторов (эти значения будут округлены вверх и вниз таким образом, чтобы слайс попадал на границы головки и цилиндра соответственно): p 1 165 1 2503871 a slice Сделать слайс slice активным. Эта строка может располагаться в файле где угодно, но может быть только одна такая строка на весь файл. Пример: чтобы сделать активным 1 -й слайс: a 1 ФАЙЛЫ /boot/mbr Код загрузчика по умолчанию. СМОТРИ ТАКЖЕ boot0cfg(8) , bsdlabel(8) , newfs(8) ПРОБЛЕМЫ Код загрузчика по умолчанию не всегда правильно распознает все типы слайсов, в частности те, которые были введены начиная с MS-DOS 6.x. Данная утилита могла бы быть более дружественной пользователю. Большинство новичков FreeBSD не понимают разницы между "слайсом" и "разделом", что приводит к проблемам. С помощью этой утилиты невозможно отдать весь диск целиком под использование FreeBSD. Для этого нужно использовать утилиту bsdlabel(8) .

За перевод этой части благодарим . Продолжение следует...

Об авторах

Daniel Robbins

Дэниэль Роббинс - основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo , написал множество технических статей для IBM developerWorks , Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure

  • блочные устройства
  • Добавить метки

    fdisk - общее название системных утилит для управления разделами жёсткого диска. Широко распространены и имеются практически в любой операционной системе, но работают по-разному. Используют текстовый интерфейс пользователя.

    Предупреждение : Не создавайте, не удаляйте и не изменяйте разделы, если вы не знаете, что вы делаете!

    Утилита FDISK в Unix/Linux

    С FDISK утилитой можно просматривать, создавать, изменять размер, удалять, копировать и перемещать разделы на жестком диске. И я приведу наглядные примеры по использованию.

    Просмотр разделов в Unix/Linux

    Начнем с самого легкого — просмотра разделов. Используйте опцию «-l» с командой FDISK, для просмотра доступных разделов в Linux (в Unix системах — данная опция может не сработать. Проверялось на Mac OS X). Все имеющиеся разделы в линукс отображаются по имени их устройства. Например: /dev/sda, /dev/sdb или /dev/sdc.

    И так, запустим команду:

    Вывод получаем следующий:

    Можно узнать некоторую полезную информацию по конкретному блочному устройству. Например, следующая команда отобразит все разделы для /dev/sda:

    Если у Вас есть разные названия устройств, простое имя устройства записи как /dev/sdb или /dev/sdc и так далее.

    Вывод доступных команд по FDISK

    Если вы хотели бы просмотреть все команды, которые доступны для FDISK, то просто используйте следующую команду, упомянув название жесткого диска, например /dev/sda, как показано ниже:

    вывод все доступных команд для FDISK например для /dev/sda

    Введите ‘m’, чтобы увидеть список всех доступных команд по FDISK, которые помогут с работой по жесткому диску /dev/sda. После, ввода ‘m’ на экране, вы увидите все доступные параметры для FDISK которые можете использовать для устройства /dev/sda (данное устройство взято как пример):

    ПРЕДУПРЕЖДЕНИЕ: DOS-совместимый режим не рекомендуется. Настоятельно рекомендуется
    выключить режим (команда ‘c’) и изменить units для сектора (команда ‘u’).

    Допустимые опции при работы с fdisk

    • a:- Данная опция служит для переключение загрузочного флага.
    • b:- Данная опция служит для редактирования BSD метки диска.
    • c:- Данная опция служит для переключения флага совместимости дос.
    • d:- Данная опция служит для удаления раздела.
    • g:- Данная опция служит для создания новой, пустой таблицы разделов GPT.
    • G:- Данная опция служит для создание таблицы разделов IRIX (SGI).
    • l:- Данная опция служит для вывода известных типов разделов (Linux swap, Linux, GPT, Solaris и так далее).
    • m:- Данная опция служит для вывода доступных команд (меню).
    • n:- Данная опция служит для добавления нового раздела.
    • o:- Данная опция служит для создание новой пустой таблицы разделов DOS.
    • p:- Данная опция служит для вывода таблиц разделов.
    • q:- Данная опция служит для выхода из меню но без какого-либо сохранения изменений.
    • s:- Данная опция служит для создания новой и пустой Sun метки диска (disklabel).
    • t:- Данная опция служит для изменения типа «System ID» раздела (взять можно с вывода «l» опции).
    • u:- Данная опция служит для изменения блоков отображения/ввода.
    • v:- Данная опция служит для проверка таблиц разделов.
    • w:- Данная опция служит для записи всего измененного и потом выйти.
    • x:- Данная опция служит для вызова дополнительной функциональности (только для экспертов).

    Вывод всех партиций (разделов) в Unix/Linux

    Чтобы вывести таблицу разделов вашего блочного устройства, используйте:

    # fdisk /dev/sda

    После чего, вы попадаете в меню (в нем можно проводить различные операции с разделами), нас интересует только просмотр, по этому — вводим «p» опцию:

    Создать таблицу разделов (disklabel) в Unix/Linux

    Если имеется пустое блочное устройство и вы хотите на нем сделать разметку для установки будущей ОС, то для начала, стоит выбрать будущую разметку.

    Приеду основные таблицы для разметки:

    • MBR (msdos)

    Чтобы создать таблицу разделов вашего блочного устройства, используйте:

    # fdisk /dev/sda

    Данным действием было выбрано блочное устройство /dev/sda и чтобы создать на нем новую таблицу разделов, используем одну из опций:

    • g — Чтобы создать новую, пустую таблицу GPT разделов.
    • o — Чтобы создать новую, пустую таблицу DOS разделов.

    И переходим к созданию разделов.

    Создать новый раздел в Unix/Linux

    И так, допустим у вас есть свободное место на одном из устройств (у меня это /dev/sda) и вам необходимо создать новый раздел (например для установки ОС). Тогда вы должны запустить утилиту следующим образом (Введите следующую команду, чтобы войти в режим управления конкретного блочного устройства):

    # fdisk /dev/sda

    После входа в командный режим нажмите «n», чтобы создать новый раздел в /dev/sda с определенным размером.

    После нажатия «n», вас просят выбрать тип будущего раздела:

    • p — Для «primary», т.е создать первичный раздел.
    • e — Для «extended», т.е создать расширенный раздел.

    Хочу отметить следующее, что «primary» разделов можно создать до 4-х штук, а все остальные будут «extended» (т.е расширенными разделами). Т.к у меня — это всего лишь 1-й раздел, то я выбираю опцию «p». Как я сказал ранее, это мой первый, первичный раздел и для него, я должен указать номер (номер партиции), логично указать 1 (Но можно выбрать 1-4, т.к всего 4). Для создания полноценного раздела, необходимо указать сектор (начало позиции цилиндра для создаваемого раздела), мне подсказывают что это будет — 2048 (выбрал стандартное значение), а так же, нужно указать где будет заканчиваться данный сектор (конец позиции цилиндра для создаваемого раздела) — мне предлагают указать стандартное значение, но оно мне не подходит, т.к оно создаст 1 раздел максимальной длины (у меня это 21 Гб — тестовая машина). На данном этапе, можно указывать конец сектора в килобайтах (K), мегабайтах (M), гигабайтах (G). Предположим, я хочу создать 1-й раздел 5Гб, тогда я должен прописать «+5G» (или «+5000M» и так далее).

    Можно еще создать несколько разделов. Действия будут какие же.

    Пожалуйста, имейте в виду, что после создания нового раздела, вы должны запустить (выполнить) команду ‘w’, чтобы все действия сохранились. Ну а после чего, выполнить перезапуск ОС, чтобы убедиться что создался раздел.

    Форматирование разделов в Unix/Linux

    После того, как разделы создали, необходимо выполнить форматирование. Но прежде чем перейти к данному действию, нужно определится с файловой системой (ФС).

    Я буду использовать утилиту «mkfs для форматирования раздела. Данная утилита поддерживает следующие ФС:

    • ext2: # mkfs.ext2 /dev/sda1
    • ext3: # mkfs.ext3 /dev/sda4
    • ext4: # mkfs.ext4 /dev/sda4
    • fat: # mkfs.fat /dev/sda4
    • minix: # mkfs.minix /dev/sda4
    • msdos: # mkfs.msdos /dev/sda4
    • vfat: # mkfs.vfat /dev/sda4
    • xfs: # mkfs.xfs /dev/sda4

    Выбираем тип ФС и переходим к фармотированию.

    Проверить размер раздела в Unix/Linux

    После форматирования нового раздела, проверить размер раздела можно с помощью флага «s» и команды FDISK. Таким образом, вы можете проверить размер любого конкретного устройства. Например:

    # fdisk -s / dev/sda3 5285413

    Размер отображается в блоках.

    Для вывода в гигабайтах (Гб), используйте:

    # echo "`fdisk -s /dev/sda2`/(2^20)" | bc # echo "`fdisk -s /dev/sda1`/(2^20)" | bc # echo "`fdisk -s /dev/sda`/(2^20)" | bc

    Выглядит юзабельно.

    Включение/Выключение загрузки флага (*) из раздела в Unix/Linux

    При разметке, я обычно выделяю 100мб для раздела, в котором будет хранится загрузчик. И для этой цели, необходимо указать что именно с него будет выполнятся загрузка. И по этому, нужно указать нужный из разделов. Начнем:

    # fdisk /dev/sda

    Первым шагом, будет просмотр имеющихся разделов, чтобы увидеть текущую таблицу разделов. Как вы помните — это «p» опция. У меня на скриншоте ниже, видно что загрузочный раздел на / dev/sda1 диске (вы видите, что это флаг загрузки — звездочка ‘*’), как показано ниже:

    Чтобы включить флаг с загрузки, используем «a» опцию. После того как нажали, необходимо будет ввести номер раздела который будет загружаться (например 1-й) и сново вернули все на места.

    Удалить раздел в Unix/Linux

    Если вы хотели бы удалить определенный раздел (т.е. /dev/sda4) от конкретного блочного устройства (например — /dev/sda). Вы должны выполнить:

    # fdisk /dev/sda

    Затем, введите ‘d’ — чтобы войти в меню удаления разделов. После ввода, просят ввести номер раздела, который я хочу удалить. Предположим, мне нужно удалить 4-й раздел, то я ввожу «4». Все, раздел был удален. Вводим ‘w’ для записи всех изменений! Новые изменения будут работать только после следующей перезагрузки системы. Это можно легко понять из приведенного ниже вывода.

    Предупреждение: Будьте осторожны, выполняя этот шаг, потому что с помощью опции ‘d’ полностью удалит раздел из системы и вы можете потерять все данные с разделе!

    Использование fdisk в bash скриптах

    Если хорошо знаешь команды, то можно написать небольшой баш-скрипт или просто использовать данную конструкцию в шеле оболочки, который эмулировал бы работу пользователя:

    Fdisk /dev/hda << EOF n p 1 a 1 t c w EOF

    Я не буду объяснять что делает данные буквы, т.к я описывал все опции выше.

    Тема «Как использовать команду FDISK на Linux», я старался изо всех сил рассказать почти о всех основных командах fdisk, но все еще FDISK содержит множество других команд вы можете использовать их, введя «х». Для получения более подробной информации, введите команду ‘man Fdisk «в терминала.