Разбиение на разделы жизненно важно для системного администрирования. Это причина того, что программное обеспечение для разметки существует во многих вариантах. fdisk и cfdisk созданы для интерактивного взаимодействия. С помощью parted вы можете создавать все с помощью команд. Это наиболее часто используемые; sfdisk не очень распространен. У него есть много функций, но вы можете использовать его для скриптов в гораздо большей степени. Долгое время sfdisk отставал в поддержке GPT, начиная с версии 2.26, он действительно поддерживает GPT.
Эта программа по-прежнему использует MBR по умолчанию, поэтому вы должны явно указать, что используете GPT.
Перед тем как начать работу с диском, вы должны сделать резервную копию любых важных данных на другом носителе! Это предположение, что у вас должен быть ясный ум с самого начала. Чтобы убедиться, что вы можете восстановить текущее состояние или реализовать его на другом диске, вы можете выгрузить таблицу.
$ sfdisk –dump /dev/sda > sda-tables.txt
Результат, как и текст, отправляется прямо на стандартный вывод. В приведенной выше команде файл легко читать. Вы также можете использовать это, чтобы вернуть все на диск. Вот как это выглядит.
label: gpt label-id: C9247CFD-5AF7-4AB1-9F62-CDDDFCC12982 device: /dev/sda unit: sectors first-lba: 34 last-lba: 976773134 sector-size: 512 /dev/sda1 : start= 2048, size= 1021952, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/sda2 : start= 1024000, size= 614400, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name="EFI system partition" /dev/sda3 : start= 1638400, size= 126093312, type=E6D6D379-F507-44C2-A23C-238F2A3DF928 /dev/sda9 : start= 623642624, size= 353130496, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4 /dev/sda10 : start= 127731712, size= 303263744, type=E6D6D379-F507-44C2-A23C-238F2A3DF928 /dev/sda11 : start= 430995456, size= 192647168, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4
Чтобы вернуть его или поместить на новый диск, используйте параметр восстановления. Точнее, вы просто передаете этот результат в следующий вызов sfdisk.
$ sudo sfdisk /dev/sda < sda-tables.txt
Кстати, это хороший пример правильно отформатированного командного файла для разметки диска. Все части являются необязательными, это позволяет подключить другой диск к той же машине и разбить его на такие же разделы. Когда вы удаляете dev/sdaX из вышеуказанного файла, вы можете разбить любой диск с этим файлом.
В интерактивном режиме вам нужно знать, что вы делаете. Начальный дисплей скудный. Вы увидите тип диска и его размер. Когда диск пуст, вы НЕ увидите старую ситуацию, из-за чего начало работы может сбить с толку. Тем не менее процедура строгая. У вас есть четыре значения для каждого раздела, разделенные запятой, для значений по умолчанию вы просто ставите запятую.
Перед тем, как начать, создайте этикетку. Этот пример предназначен для раздела GPT.
$ echo "label: gpt" | sudo sfdisk /dev/sdc
Именно так разработан Sfdisk, но давайте начнем с интерактивного режима.
Выполняется простое разбиение.
$ sfdisk/dev/sdc ... # Приглашение изменится на '>>>' >>> ,350M, U >>> ,10G, L >>> ,,S >>> write # Появится результат. Подтвердите!
Данные записываются на диск, и вы можете приступить к форматированию разделов. Каким бы простым он ни был, он также подвержен ошибкам. Использование скриптов – основная идея sfdisk. Давайте рассмотрим параметры, а затем язык сценариев.
Вы также можете использовать sfdisk с командой за раз. Для этого вы используете параметры с тире. Многие из этих команд можно установить с помощью файлов сценариев. Установить метку диска можно двумя способами, один из которых вы видели ранее в этом руководстве.
$ sfdisk –label /dev/sdc gpt
Это сделает ваш диск диском GPT. У вас есть возможность остаться с dos или, что более целесообразно, использовать флаг LegacyBIOSBootable для gpt, когда вы используете оборудование, которое не поддерживает gpt. Это редко, поэтому, скорее всего, вы будете использовать этот флаг только для карты памяти, которая вам нужна, чтобы иметь возможность загружаться даже на старом оборудовании.
Вы также можете установить метки для каждого раздела. См. Команды ниже.
$ sfdisk –part-label /dev/sdc 1 boot $ sfdisk –part-label /dev/sdc 2 home
Обратите внимание на разницу между меткой детали и меткой диска. Этикетка диска дает только вспомогательную метку для использования другим программным обеспечением. Метка диска делает диск целиком, либо gpt, либо dos.
Если вы решили использовать sfdisk, у вас, вероятно, есть причина для этого. Некоторые из этих причин могут заключаться в том, что вы хотите сделать много одинаковых дисков. Используя fdisk, вы можете разделить весь диск одной командой. Другая причина может заключаться в том, что вы хотите сделать новый диск по той же схеме, что и первый. Самый простой способ создать сценарий – это команда dump, описанная ранее.
Использование выходных данных в качестве руководства облегчает начало работы, просто не забудьте проверить документацию, прежде чем делать что-нибудь необдуманное. Вы можете, например, отредактировать предыдущий файл, удалив диск. В этом примере дамп взят из /dev/sda. Если вы удалите эту часть, у вас останется действующий файл.
start= 1024000, size= 614400, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name="EFI system partition"
Все остальные части файла также можно использовать в качестве команд. Скопируйте или заберите то, что хотите, и вставьте в sfdisk.
$ sfdisk /dev/sdc < Disk-tables.txt
Будьте осторожны! Все команды будут запущены немедленно. Хотя он покажет вам итоговую таблицу и попросит подтвердить уничтожение диска, с которым вы работаете.
Это был краткий обзор возможностей и слабостей использования программы sfdisk для ваших новых дисков. Как вы можете видеть из этого беглого осмотра, вы можете использовать эту программу для многих вещей, особенно если вы заранее спланировали то, что вам нужно сделать. Также существует большая степень свободы при добавлении sfdisk в скрипты.