Команда fdisk в Linux
В Linux существует множество способов разметки диска, создания на нём разделов и просмотра уже существующих. Это утилиты parted и cfdisk в терминале и графическая утилита gparted. Однако сегодня мы поговорим про самую простую утилиту для разметки диска в терминале — fdisk.
Именно она используется чаще всего, если надо посмотреть как диски и разделы доступны на компьютере. Далее рассмотрим основные опции утилиты, её синтаксис, а также примеры использования.
Опции и синтаксис fdisk
Синтаксис утилиты ничем не отличается от других команд Linux:
$ fdisk опции устройство
Ей надо передать опции, согласно действия, которое вы хотите выполнить, а также раздел диска или устройство к которому эти действия надо применить. Давайте теперь рассмотрим опции fdisk:
- -B, —protect-boot — не стирать первые 512 байт диска чтобы не повредить загрузочную запись;
- -L, —color — настройка цветного вывода, возможные значения auto, never или always;
- -l, —list — вывести все разделы на выбранных устройствах или если устройств не задано, то на всех устройствах;
- -o, —output — указывает какие поля данных надо показывать в выводе программы, доступные поля рассмотрим ниже;
- -u, —units — настраивает формат вывода размера разделов, доступные значения: cylinders, sectors, по умолчанию используется sectors;
- -w, —wipe — режим стирания файловой системы или RAID с диска, возможные значения auto, never или always по умолчанию используется auto;
- -W, —wipe-partition — режим стирания файловой системы или RAID из только что созданного раздела. Возможные значения аналогичны предыдущей опции;
- -h, —help — показать справку по утилите;
- -v, —version — опция выводит версию утилиты.
Опции используются для настройки работы утилиты, мы рассмотрели только самые главные, которые могут вам пригодится, теперь перейдём к командам:
- a — включение или выключения флага boot для раздела;
- d — удалить раздел;
- F — показать свободное место;
- l — вывести список известных типов разделов;
- n — создать новый раздел;
- p — вывести таблицу разделов;
- t — изменение типа раздела;
- i — вывести информацию о разделе;
- I и O — записать или загрузить разметку в файл сценария sfdisk;
- w — записать новую таблицу разделов на диск;
- q — выйти без сохранения;
- g — создать пустую таблицу разделов GPT;
- o — создать пустую таблицу разделов MBR.
Теперь вы знаете основные опции и команды fdisk, давайте рассмотрим использование программы.
Примеры использования команды fdisk
1. Список дисков и разделов
Чтобы посмотреть список доступных вам дисков и разделов на них используйте опцию -l:
Утилита покажет все блочные устройства. На снимке есть /dev/sda, это обычный жесткий диск и /dev/nvme0n1 — это M.2 накопитель, а также там есть есть несколько /dev/loop* устройств, созданных ядром, которые лучше не трогать.
2. Интерактивный режим
Большинство операций fdisk по разметке дисков выполняются в интерактивном режиме. Чтобы запустить fdisk в интерактивном режиме передайте утилите блочное устройство которое надо разметить. В моём примере, это /dev/nvme0n1:
sudo fdisk /dev/nvme0n1
Вам не обязательно возвращаться к этой статье, когда вы захотите снова поработать с программой, посмотреть доступные команды можно выполнив команду m:
3. Просмотр таблицы разделов
Чтобы посмотреть текущий тип таблицы разделов, а также доступные разделы на диске используйте команду p:
В данном примере на диске уже есть несколько разделов, а таблица разделов используется MBR (dos).
4. Создание таблицы разделов
Давайте создадим новую таблицу разделов GPT. Для этого используйте команду g. Для таблицы разделов MBR нам бы понадобилась команда o.
5. Создание разделов
Чтобы создать раздел используйте команду n. Команда спросит какой номер раздела надо присвоить этому разделу, затем спросит сектор начала раздела, эти значения можно оставить по умолчанию, так как утилита предлагает минимальные доступные. Далее надо указать размер раздела. Это можно сделать тремя способами:
- указать количество секторов раздела;
- указать последний сектор раздела;
- указать размер раздела в килобайтах, мегабайтах или гигабайтах, обозначения стандартные K,M,G.
Давайте создадим три раздела разными способами:
Первый раздел создадим с помощью обычных единиц измерения. Перед ними надо ставить плюс, так как это место, которое добавляется к первому сектору раздела.
Во втором способе укажем размер раздела в секторах. Для получения раздела размером 1 гигабайт нам понадобится примерно 2 000 000 секторов. По умолчанию размер сектора 512 байт, поэтому 2 000 000 * 512 получится примерно 1024 000 000 байт:
И в третьем способе с помощью калькулятора добавим к первому сектору раздела те же два миллиона:
На этом создание разделов fdisk завершено. А вот форматирование разделов в fdisk невозможно, для этого придется воспользоваться утилитой mkfs.
6. Тип раздела
Кроме обычных разделов для пользовательских файлов существуют и другие типы разделов, например раздел EFI, BIOS boot, Windows Recovery, Linux swap, этот тип влияет на назначение раздела, например, раздел EFI не будет использоваться пока для него не будет выбран правильный тип. Чтобы изменить тип раздела используйте команду t:
Для вывода всех доступных типов и их номеров используйте команду L:
Для выхода из списка разделов нажмите q, а затем просто наберите номер нужного типа:
7. Удаление раздела
Чтобы удалить раздел выполните команду d, а затем введите его номер:
Вот так просто выполняется удаление.
8. Загрузочный раздел
При загрузке компьютера с диска, на котором используется таблица разделов MBR, BIOS ищет раздел, отмеченный как загрузочный и начинает искать загрузчик именно на нём. Чтобы сделать раздел загрузочным если он ещё не загрузочный или наоборот сделать его не загрузочным используйте команду a:
Загрузочность отмечается звездочкой в выводе команды p. В таблице разделов GPT для записи загрузчика используется раздел с типом BIOS boot, а флага загрузочности здесь уже нет.
9. Применение изменений
Все изменения, которые вы сейчас вносили, ещё не записаны на диск. Для их записи надо выполнить команду w:
После записи изменений программа завершится.
Выводы
В этой статье мы рассмотрели как пользоваться fdisk в Linux, как создавать разделы с помощью этой утилиты, а также как выбрать тип диска. Несмотря на все возможности утилиты намного удобнее пользоваться gparted или же cfdisk если надо разметить диск в терминале. Последнюю мы разберем в одной из следующих статей.
linux-notes.org
Утилита FDISK в Unix/Linux
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
Чтобы вывести таблицу разделов вашего блочного устройства, используйте:
После чего, вы попадаете в меню ( в нем можно проводить различные операции с разделами), нас интересует только просмотр, по этому — вводим «p» опцию:
Создать таблицу разделов ( disklabel) в Unix/Linux
Если имеется пустое блочное устройство и вы хотите на нем сделать разметку для установки будущей ОС, то для начала, стоит выбрать будущую разметку.
Приеду основные таблицы для разметки:
Чтобы создать таблицу разделов вашего блочного устройства, используйте:
Данным действием было выбрано блочное устройство /dev/sda и чтобы создать на нем новую таблицу разделов, используем одну из опций:
- g — Чтобы создать новую, пустую таблицу GPT разделов.
- o — Чтобы создать новую, пустую таблицу DOS разделов .
И переходим к созданию разделов.
Создать новый раздел в Unix/Linux
И так, допустим у вас есть свободное место на одном из устройств ( у меня это /dev/sda) и вам необходимо создать новый раздел (например для установки ОС). Тогда вы должны запустить утилиту следующим образом (Введите следующую команду, чтобы войти в режим управления конкретного блочного устройства):
После входа в командный режим нажмите «n», чтобы создать новый раздел в /dev/sda с определенным размером.
Как создать новый раздел в Linux fdisk
После нажатия «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 для форматирования раздела. Данная утилита поддерживает следующие ФС:
Выбираем тип ФС и переходим к фармотированию.
Проверить размер раздела в Unix/Linux
После форматирования нового раздела, проверить размер раздела можно с помощью флага «s» и команды FDISK. Таким образом, вы можете проверить размер любого конкретного устройства. Например:
Размер отображается в блоках.
Для вывода в гигабайтах (Гб), используйте:
Включение/Выключение загрузки флага (*) из раздела в Unix/Linux
При разметке, я обычно выделяю 100мб для раздела, в котором будет хранится загрузчик. И для этой цели, необходимо указать что именно с него будет выполнятся загрузка. И по этому, нужно указать нужный из разделов. Начнем:
Первым шагом, будет просмотр имеющихся разделов, чтобы увидеть текущую таблицу разделов. Как вы помните — это «p» опция. У меня на скриншоте ниже, видно что загрузочный раздел на / dev/sda1 диске (вы видите, что это флаг загрузки — звездочка ‘*’), как показано ниже:
Затем введите ‘а’ опцию, чтобы отключить флаг загрузки. Нам предлагают выбрать номер раздела где будет убрана загрузка ( я выбираю ‘1 ‘ т.е. / dev/sda1). Это отключит флаг загрузки на разделе / dev/sda1:
Чтобы включить флаг с загрузки, используем «a» опцию. После того как нажали, необходимо будет ввести номер раздела который будет загружаться ( например 1-й) и сново вернули все на места.
Удалить раздел в Unix/Linux
Если вы хотели бы удалить определенный раздел (т.е. /dev/sda4) от конкретного блочного устройства (например — /dev/sda). Вы должны выполнить:
Затем, введите ‘d’ — чтобы войти в меню удаления разделов. После ввода, просят ввести номер раздела, который я хочу удалить. Предположим, мне нужно удалить 4-й раздел, то я ввожу «4». Все, раздел был удален. Вводим ‘w’ для записи всех изменений! Новые изменения будут работать только после следующей перезагрузки системы. Это можно легко понять из приведенного ниже вывода.
Как удалить раздел в Linux fdisk
Предупреждение: Будьте осторожны, выполняя этот шаг, потому что с помощью опции ‘d’ полностью удалит раздел из системы и вы можете потерять все данные с разделе!
Использование fdisk в bash скриптах
Если хорошо знаешь команды, то можно написать небольшой баш-скрипт или просто использовать данную конструкцию в шеле оболочки, который эмулировал бы работу пользователя:
Я не буду объяснять что делает данные буквы, т.к я описывал все опции выше.
Тема «Как использовать команду FDISK на Linux», я старался изо всех сил рассказать почти о всех основных командах fdisk, но все еще FDISK содержит множество других команд вы можете использовать их, введя «х». Для получения более подробной информации, введите команду ‘man Fdisk «в терминала.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.