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» для основного раздела. Затем он попросит вас ввести следующие два поля.
- Номер первого цилиндра создаваемого раздела.
- Номер последнего цилиндра создаваемого раздела (Последний цилиндр, +цилиндры или +размер).
Вы можете ввести размер цилиндра, добавив «+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» в терминале. Если я пропустил какую-либо важную команду, поделитесь со мной через раздел комментариев.
Читайте также:
- 12 команд «df» для проверки дискового пространства в Linux
- 10 полезных команд «du» для определения использования файлов и каталогов на диске