Как посмотреть разделы диска: команды lsblk, fdisk, parted, diskpart и Get-Partition

Информация о разделах жёсткого диска — это данные о таблице партиций (MBR или GPT), их размерах, файловых системах и точках монтирования. Стандартный способ её получить — консольные утилиты: в Linux это lsblk, fdisk и parted, в Windows — diskpart и PowerShell, в macOS — diskutil.

Что такое таблица разделов и зачем нужна информация о ней

Раздел (партиция) — это логически выделенная область на физическом накопителе. Каждый раздел может иметь собственную файловую систему (ext4, NTFS, exFAT, XFS) и использоваться для отдельных целей: установки операционной системы, хранения пользовательских данных, подкачки (swap). Информация о разделах хранится в специальной структуре — таблице разделов — в начальных секторах диска.

Знание структуры партиций необходимо при установке ОС, настройке двойной загрузки, восстановлении данных, диагностике сбоев загрузки и подключении нового накопителя. Без чёткого понимания, какой раздел является системным, а какой — пользовательским, любые изменения ведут к потере данных. Полная информация о разделах — обязательный этап любой такой операции.

Сегодня используются два стандарта таблицы разделов: MBR и GPT. Каждый диск имеет ровно один такой заголовок, и все утилиты — от diskpart до parted — читают именно его содержимое.

Стандарты MBR и GPT: сравнение и ограничения

MBR (Master Boot Record) — классический формат, появившийся в PC DOS 2.0 в марте 1983 года. По этой спецификации MBR располагается в секторе 0 диска и занимает 512 байт. Стандарт поддерживает не более 4 основных разделов (или 3 основных + 1 расширенный с логическими разделами внутри). Максимальный размер диска ограничен значением 2 ТБ из-за 32-битного поля адреса сектора.

GPT (GUID Partition Table) — современный формат, входящий в спецификацию UEFI (Unified Extensible Firmware Interface, версия 2.0 и выше, официальный документ uefi.org). По стандарту GPT поддерживает до 128 разделов по умолчанию, работает с дисками объёмом более 9,4 ЗБ и хранит резервную копию таблицы в конце диска для защиты от повреждения. GPT требует прошивки UEFI на компьютере — на старых системах с BIOS без CSM загрузка с GPT-диска невозможна.

Информация о разделах в GPT дублируется: если основная таблица повреждена, ОС читает резервную. В MBR такого дублирования нет — повреждение сектора 0 делает диск нечитаемым без специальных утилит вроде TestDisk. По сравнению с MBR формат GPT работает быстрее при монтировании больших дисков за счёт индексации разделов через GUID.

По размеру одна запись раздела в GPT составляет 128 байт, что даёт достаточно места для имени раздела в UTF-16 и полного GUID типа. В MBR запись — всего 16 байт, поэтому нельзя хранить имя раздела и приходится идентифицировать разделы только номером и типом (0x07 для NTFS, 0x83 для Linux).

Разделы в Linux: базовые команды lsblk, fdisk, parted

Linux предоставляет несколько консольных утилит для чтения таблицы разделов. Все они входят в базовые пакеты дистрибутивов и не требуют дополнительной установки.

lsblk (list block devices) выводит древовидную структуру блочных устройств. Команда не требует прав root и показывает диски, разделы, LVM-тома и RAID-массивы. Ключ -f добавляет колонки с файловой системой и UUID. Типичный вывод содержит имя устройства (sda, nvme0n1p2), размер и точку монтирования.

fdisk -l выводит подробную таблицу разделов с точными границами в секторах, моделью диска и типом таблицы (Disklabel type: gpt или dos). Утилита требует прав sudo, иначе часть дисков не отобразится. С 2016 года fdisk поддерживает как MBR, так и GPT — старое ограничение снято в util-linux 2.23.

parted -l — GNU-утилита с более удобным выводом для GPT-дисков. Показывает Partition Table: gpt или msdos, флаги разделов (boot, esp, lvm) и точные размеры в удобных единицах. Также требует sudo.

Информация о разделах Linux в blkid, df и /proc/partitions

Помимо базовой тройки, в Linux есть несколько специализированных инструментов, полезных при диагностике и настройке fstab.

blkid выводит UUID и тип файловой системы каждого раздела. Именно эти UUID используются в /etc/fstab для надёжного монтирования: имя /dev/sda1 может измениться при добавлении диска, а UUID остаётся постоянным. Формат UUID для ext4 и NTFS отличается — это связано с реализацией драйверов ФС в ядре Linux.

df -h показывает только смонтированные ФС с занятым и свободным местом. Ключ -h (human-readable) выводит размеры в удобных единицах. Для исключения виртуальных ФС применяют -x tmpfs -x devtmpfs. Команда не показывает неразмеченное пространство и несмонтированные разделы.

cat /proc/partitions читает данные прямо из ядра Linux. Файл существует всегда, даже в минимальных rescue-образах, где нет lsblk. Размеры выводятся в блоках по 1 КБ; чтобы получить нужное значение в байтах, число умножают на 1024.

Информация о разделах в Windows: diskpart и PowerShell

Windows содержит две основные утилиты для работы с таблицей разделов из командной строки. Обе входят в базовую поставку с версии Windows XP и не требуют установки.

diskpart — консольный инструмент, унаследованный от Windows 2000. Запускается от имени администратора. Последовательность команд: list disk (показывает все диски), select disk N (выбор), list partition (разделы выбранного диска), detail disk (модель, файловая система, статус). Звёздочка в колонке Gpt означает GPT-диск, отсутствие — MBR.

PowerShell предоставляет более современный интерфейс: Get-Disk (список дисков со стилем раздела), Get-Partition (все разделы с DriveLetter и размером), Get-Volume (тома с точками монтирования). Командлеты доступны с PowerShell 3.0 (Windows 8, 2012) и подходят для автоматизации через скрипты.

Графическая утилита «Управление дисками» (diskmgmt.msc) открывается через Win+R. Она удобна для визуального обзора, но не даёт полной информации о GPT-заголовке — для этого нужен diskpart с командой uniqueid disk. Информация об идентификаторе GPT-диска нужна для восстановления загрузчика и монтирования по DiskID.

Практические сценарии диагностики

Собранная информация о разделах используется в трёх ключевых сценариях: определение типа таблицы, поиск диска по UUID и оценка свободного места.

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

Чтобы определить тип, нужно выполнить одну из команд. В Linux откройте терминал и выберите sudo parted /dev/sda print | grep "Partition Table". Вывод: gpt для GPT или msdos для MBR. Далее альтернатива — sudo fdisk -l /dev/sda | grep Disklabel. В Windows: откройте diskpart, затем введите list disk — наличие звёздочки в столбце Gpt. В macOS: diskutil info /dev/disk0 | grep "Partition Type".

Как найти диск по UUID

Каталог /dev/disk/by-uuid/ в Linux содержит символические ссылки, где UUID указывает на реальное имя устройства. Команда ls -la /dev/disk/by-uuid/ мгновенно даёт сопоставление. Утилита blkid | grep UUID решает ту же задачу через прямой запрос ядра.

Ошибки и подводные камни

При работе с таблицей разделов ошибок хватает даже у опытных администраторов. Fdisk без sudo не покажет часть дисков — это не баг, а поведение по умолчанию. NVMe-накопители используют схему именования /dev/nvme0n1p1, а не /dev/sda1 — все команды работают одинаково, но новичка это сбивает с толку.

После перезагрузки имя /dev/sdb может стать /dev/sdc из-за порядка инициализации SATA-контроллеров. Именно поэтому в fstab прописывают UUID, а не имена устройств. Команды fdisk и parted без ключа -l входят в интерактивный режим редактирования — случайное нажатие w в этом режиме перезаписывает таблицу разделов.

Информация о разделах, полученная разными утилитами, может отличаться единицами измерения. Fdisk по умолчанию считает диски в секторах по 512 байт, parted — в мегабайтах, lsblk — в человекочитаемых единицах. Это не расхождение, а особенность отображения — сами числа корректны. Утилита fdisk без sudo не гарантирует полноту вывода, а команда df не отображает несмонтированные разделы: невозможно оценить неразмеченное пространство только через df.

Вопрос-ответ

Как быстро посмотреть все разделы диска в Linux? Введите lsblk без параметров. Утилита не требует sudo и выводит древовидный список всех блочных устройств с размерами и точками монтирования. Для UUID добавьте ключ -f.

Чем отличается MBR от GPT? MBR (1983 год, IBM) поддерживает до 4 основных разделов и диски до 2 ТБ. GPT (спецификация UEFI, uefi.org) — до 128 разделов и диски практически любого размера. GPT дублирует таблицу в конце диска для защиты от повреждений.

Как узнать разделы в Windows через командную строку? Запустите diskpart от администратора, затем list disk и list partition. Альтернатива — PowerShell с Get-Partition, которая доступна начиная с Windows 8 и Server 2012.

Что делать, если fdisk -l не показывает диск? Запустите команду с sudo. Без прав root fdisk не может прочитать таблицу разделов части устройств. Если и с sudo диск не виден — проверьте dmesg, возможно, ядро не инициализировало контроллер.

Оцените статью
uchet-jkh.ru
Добавить комментарий