Linux fdisk and fdisk

Команда 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:

Читайте также:  Clearing arp cache in linux

Вам не обязательно возвращаться к этой статье, когда вы захотите снова поработать с программой, посмотреть доступные команды можно выполнив команду 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 если надо разметить диск в терминале. Последнюю мы разберем в одной из следующих статей.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Читайте также:  Linux bash if eval

Источник

Managing partitions in Linux with fdisk

From the stone age, we bring you fdisk: A still-useful tool for the modern sysadmin to be familiar with.

Using the fdisk command

Great Linux resources

Lately, I have been doing a lot of research and writing around disk management utilities in Linux and the different options that we, as sysadmins and operators, have at our disposal to accomplish these types of tasks. Disk management has been and will most likely be one of the most crucial considerations for system administrators. Everything that we do is tied to a storage device in some way. Ensuring that our projects, backups, customer, and user data are all appropriately segmented and stored is absolutely essential.

Because of this, there have been multiple utilities developed to ease the burden of storage management. I wrote a series of articles on the popular Logical Volume Manager (LVM) recently, and it led me to explore the other options we have for creating and partitioning disks and volumes.

I want to take a look specifically at the command suite fdisk .

The fdisk command suite is a classic disk partitioning utility that was developed in the early 1980s. It was released for a wide variety of operating systems. We are going to focus on it as a Linux tool here, however. It has a huge amount of functionality. From listing, creating, removing, and formating, fdisk can do it all. So let’s take a look at how it works.

Listing partitions with fdisk

The fdisk -l command allows you to view all partitions on your system:

[root@rhel ~]# fdisk -l Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x184931d5 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 62914559 60815360 29G 8e Linux LVM Disk /dev/sdc: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes

Now that we know what partitions we have, we are going to create and format a new one.

Creating partitions with fdisk

To create a new partition with fdisk , you need to select a primary disk that has unused space. Once you decide on the disk you want to use, you will need to run the following (I have opted to work in /dev/sdb ):

[root@rhel ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only until you decide to write them. Be careful before using the write command. Does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x569c5370. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-2097151, default 2048): Last sector, +sectors or +size (2048-2097151, default 2097151): +500 Created a new partition 1 of type 'Linux' and of size 250.5 KiB. **Be sure to write your changes to disk using the `w` flag**

You will see that we first entered the command prompt for the disk we wanted to use /dev/sdb . Use the n option to create a new partition. We then have to decide if we are creating a primary partition or an extended partition. For this example, I created a primary partition (designated with the selection p ). We will then label the partition using a partition number. If this is the first new partition you are creating, feel free to use the number 1 . Otherwise, number appropriately. After we have made our selections, we need to designate the size of the partition we are creating. As the /dev/sdb was only 1 GB, I have decided to keep it small here and only create a 250 KiB partition. I left the First sector portion blank and entered +500 . Partition created! Now let’s format.

Читайте также:  Установка gdebi astra linux

Formatting partitions in Linux

As fdisk doesn’t have an internal format command, we are going to use the mkfs command.

The syntax is something like this:

[root@rhel ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.44.6 (5-Mar-2019) Filesystem too small for a journal Creating filesystem with 248 1k blocks and 32 inodes Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done

Deleting partitions with fdisk

To remove a partition using fdisk , you need to enter the command prompt for fdisk on the disk you are removing from. For example, to remove the partition I created in the previous example ( /dev/sdb1 ), I need to enter the command line for /dev/sdb . Then give the d option for delete and select the partition number I wish to remove. As there is only one partition in /dev/sdb it deleted the only existing one here without further input. Again, be sure to write your changes to the disk with the w flag.

[root@rhel ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only until you decide to write them. Be careful before using the write command. Command (m for help): d Selected partition 1 Partition 1 has been deleted.

I highly recommend that you check out the fdisk utility for yourself. There is no better practice than firing up a virtual machine and playing in the filesystem. If you mess up, you can just blow the VM away and start again. I also would urge you to compare your fdisk experience with that of LVM. I personally prefer the LVM utility as it is a bit more user friendly, however, that is subjective at best. If you are interested in my LVM series, you can find it at the bottom of the article. I will also be exploring the parted command in a future article, so keep an eye out for that!

Источник

Оцените статью
Adblock
detector