Поиск по сайту:

10 команд fdisk для управления разделами диска Linux


fdisk (от «fixed disk или format disk») — наиболее часто используемая утилита для манипуляций с дисками на основе командной строки для Linux/Unix системы. С помощью команды fdisk вы можете просматривать, создавать, изменять размер, удалять, изменять, копировать и перемещать разделы на жестком диске, используя собственный удобный текстовый интерфейс с меню.

Этот инструмент очень полезен с точки зрения создания места для новых разделов, организации пространства для новых дисков, реорганизации старых дисков и копирования или перемещения данных на новые диски. Он позволяет вам создать максимум четыре новых основных раздела и количество логических (расширенных) разделов в зависимости от размера жесткого диска вашей системы.

В этой статье описаны 10 основных команд fdisk для управления таблицей разделов в системах на базе Linux. Для запуска команды fdisk вы должны быть пользователем root, в противном случае вы получите сообщение об ошибке «команда не найдена».

1. Просмотр всех разделов диска в Linux

Следующая базовая команда выводит список всех существующих разделов диска в вашей системе. Аргумент «-l» (список всех разделов) используется с командой fdisk для просмотра всех доступных разделов в Linux. Разделы отображаются по именам их устройств. Например: /dev/sda, /dev/sdb или /dev/sdc.

[[email  ~]# fdisk -l

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

2. Просмотр определенного раздела диска в Linux

Чтобы просмотреть все разделы определенного жесткого диска, используйте опцию «-l» с именем устройства. Например, следующая команда отобразит все разделы диска устройства /dev/sda. Если у вас разные имена устройств, просто запишите имя устройства как /dev/sdb или /dev/sdc.

[[email  ~]# fdisk -l /dev/sda

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

3. Проверьте все доступные команды fdisk.

Если вы хотите просмотреть все команды, доступные для fdisk. Просто используйте следующую команду, указав имя жесткого диска, например /dev/sda , как показано ниже. Следующая команда даст вам результат, аналогичный показанному ниже.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):

Введите «m», чтобы просмотреть список всех доступных команд fdisk, которыми можно управлять на жестком диске /dev/sda. После того, как я введу на экране «m», вы увидите все доступные параметры fdisk, которые можно использовать на устройстве /dev/sda.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

4. Распечатать всю таблицу разделов в Linux

Чтобы распечатать всю таблицу разделов жесткого диска, вы должны находиться в командном режиме конкретного жесткого диска, например /dev/sda.

[root@tecmint ~]# fdisk /dev/sda

В командном режиме введите «p» вместо «m», как мы делали ранее. Когда я ввожу «p», он распечатывает конкретную таблицу разделов /dev/sda.

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

5. Как удалить раздел в Linux

Если вы хотите удалить определенный раздел (например, /dev/sda9) с определенного жесткого диска, например /dev/sda. Для этого вы должны находиться в командном режиме fdisk.

[root@tecmint ~]# fdisk /dev/sda

Затем введите «d», чтобы удалить любое имя раздела из системы. Когда я ввожу «d», мне будет предложено ввести номер раздела, который я хочу удалить с жесткого диска /dev/sda. Предположим, я ввожу здесь номер «4», тогда он удалит раздел с номером «4» (т. е. /dev/sda4) на диске и покажет свободный место в таблице разделов. Введите «w», чтобы записать таблицу на диск и выйти после внесения новых изменений в таблицу разделов. Новые изменения вступят в силу только после следующей перезагрузки системы. Это можно легко понять из приведенного ниже вывода.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): d
Partition number (1-4): 4

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

Внимание. Будьте осторожны при выполнении этого шага, поскольку использование опции «d» полностью удалит раздел из системы и может привести к потере всех данных в разделе.

6. Как создать новый раздел в Linux

Если на одном из ваших устройств осталось свободное место, скажите /dev/sda и вы хотите создать под ним новый раздел. Тогда вы должны находиться в командном режиме fdisk /dev/sda. Введите следующую команду, чтобы войти в командный режим определенного жесткого диска.

[root@tecmint ~]# fdisk /dev/sda

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

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e

При создании нового раздела вам будет предложено два варианта создания раздела: «расширенный» или «основной». Нажмите «e» для расширенного раздела и «p» для основного раздела. Затем он попросит вас ввести следующие два поля.

  1. Номер первого цилиндра создаваемого раздела.
  2. Номер последнего цилиндра создаваемого раздела (Последний цилиндр, +цилиндры или +размер).

Вы можете ввести размер цилиндра, добавив «+5000M» в последний цилиндр. Здесь «+» означает добавление, а 5000M означает размер нового раздела (т. е. 5000 МБ). Имейте в виду, что после создания нового раздела вам следует запустить команду «w», чтобы изменить и сохранить новые изменения в таблице разделов, и, наконец, перезагрузить систему, чтобы проверить вновь созданный раздел.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

7. Как отформатировать раздел в Linux

После создания нового раздела не пропускайте форматирование вновь созданного раздела с помощью команды «mkfs». Введите следующую команду в терминале, чтобы отформатировать раздел. Здесь /dev/sda4 — мой недавно созданный раздел.

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8. Как проверить размер раздела в Linux

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

[root@tecmint ~]# fdisk -s /dev/sda2
5194304

9. Как исправить порядок таблицы разделов

Если вы удалили логический раздел и снова создали его, вы можете заметить проблему «раздел не в порядке» или сообщение об ошибке, например «Записи таблицы разделов расположены не в порядке». '.

Например, если три логических раздела, такие как (sda4, sda5 и sda6), удалены и создан новый раздел, вы можете ожидать, что новый имя раздела будет sda4. Но система создаст его как sda5. Это происходит из-за того, что после удаления раздела раздел sda7 был перемещен как sda4 и свободное пространство сместилось в конец.

Чтобы исправить такие проблемы с порядком разделов и назначить sda4 вновь созданному разделу, введите «x», чтобы войти в раздел дополнительных функций, а затем введите «f<' экспертная команда, чтобы исправить порядок таблицы разделов, как показано ниже.

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): x

Expert command (m for help): f
Done.

Expert command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

После запуска команды «f» не забудьте выполнить команду «w», чтобы сохранить изменения и выйти из командного режима fdisk. Как только порядок таблицы разделов будет исправлен, вы больше не будете получать сообщения об ошибках.

10. Как отключить флаг загрузки (*) раздела

По умолчанию команда fdisk отображает символ загрузочного флага (т. е. «*») на каждом разделе. Если вы хотите включить или отключить флаг загрузки для определенного раздела, выполните следующие действия.

[root@tecmint ~]# fdisk  /dev/sda

Нажмите команду «p», чтобы просмотреть текущую таблицу разделов. Вы увидите флаг загрузки (символ звездочки (*) оранжевого цвета) на /dev/ sda1, как показано ниже.

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Затем введите команду «a», чтобы отключить флаг загрузки, затем введите номер раздела «1», как в моем случае (т. е. /dev/sda1). . Это отключит флаг загрузки в разделе /dev/sda1. Флаг звездочки (*) будет удален.

Command (m for help): a
Partition number (1-9): 1

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

Я изо всех сил старался включить почти все основные команды fdisk, но fdisk все же содержит множество других профессиональных команд, которые вы можете использовать, введя «x». Для получения более подробной информации выполните команду «man fdisk» в терминале. Если я пропустил какую-либо важную команду, поделитесь со мной через раздел комментариев.

Читайте также:

  1. 12 команд «df» для проверки дискового пространства в Linux
  2. 10 полезных команд «du» для определения использования файлов и каталогов на диске