Допустим, вы обнаружили в Gparted странный ext4-раздел с нулевым доступным пространством, а команды parted и df показывают противоречивые данные. Давайте разберёмся, что это может быть и как действовать без риска потерять данные.
Анализ раздела через parted
Когда вы запустили sudo parted -s /dev/nvme0n1p2 print, вывод показал «Partition Table: loop». Это не ошибка, а особенность интерпретации данных в parted. Loop здесь означает, что внутри раздела нет вложенной таблицы разделов – и это абсолютно нормально!
Представьте: ваш диск nvme0n1 уже разбит на разделы (p1, p2 и т.д.), и создавать внутри p2 ещё одну таблицу – всё равно что пытаться вложить один чемодан в другой такого же размера. Технически возможно, но на практике бессмысленно (если только вы не работаете с образами дисков). Поэтому «loop» – просто способ утилиты сказать: «Здесь нечего показывать, двигаемся дальше».
Кстати, если бы таблица разделов внутри p2 действительно существовала, это вызвало бы больше вопросов. Например, могла остаться «мусорная» разметка после экспериментов с виртуальными машинами или неудачного клонирования.
Почему df показывает udev вместо данных раздела
Выполнив df /dev/nvme0n1p2, вы увидели информацию о udev, а не о своём разделе. Это происходит потому, что:
- df отображает сведения о смонтированных файловых системах.
- Аргумент /dev/nvme0n1p2 – это путь к файлу устройства внутри каталога /dev, который смонтирован как виртуальная файловая система udev (хранится в RAM).
Проще говоря, вы спросили: «Сколько места занимает этот файл?», а система ответила: «Файл лежит в виртуальной папке /dev, которая сама по себе не использует диск». Чтобы увидеть реальные данные раздела, его нужно сначала смонтировать.
Как проверить содержимое раздела:
1. Убедитесь, что файловая система распознаётся:
sudo blkid /dev/nvme0n1p2
Если вывод содержит TYPE=”ext4″, раздел точно форматирован.
2. Создайте временную точку монтирования:
sudo mkdir /mnt/temp_partition && sudo mount -o ro /dev/nvme0n1p2 /mnt/temp_partition
Ключ -o ro предотвратит случайную запись.
3. Проверьте занятое пространство:
df -h /mnt/temp_partition
Если раздел пуст, Used будет близок к нулю. Но даже в этом случае посмотрите логи через journalctl -k, чтобы найти упоминания nvme0n1p2 при загрузке – возможно, это остаток от старой системы или резервной копии.
Можно ли удалять такой раздел?
Перед удалением ответьте на три вопроса:
- Связан ли раздел с загрузчиком? Проверьте, не используется ли он в Grub: grep nvme0n1p2 /boot/grub/grub.cfg
- Есть ли данные? Даже пустой ext4-раздел может быть «контейнером» для LVM или шифрования.
- Не является ли он частью Windows? Запустите diskpart в Windows и посмотрите описание раздела через detail partition.
Если решили удалять:
- В Linux используйте sudo fdisk /dev/nvme0n1, выберите раздел (p2) и удалите его командой d.
- В Windows – «Управление дисками»: клик правой кнопкой → «Удалить том».
Но помните: если раздел был создан автоматически (например, для восстановления Windows или обновлений), его удаление может повлиять на работу ОС. Лучше сначала переименуйте его через e2label /dev/nvme0n1p2 TEMP и понаблюдайте за системой пару дней.
Одна из частых ошибок – путаница между разделом и файловой системой. Даже после удаления раздела данные могут оставаться на диске до перезаписи. Для полной очистки используйте wipefs -a /dev/nvme0n1p2.
Если после всех манипуляций Gparted всё ещё показывает раздел – обновите таблицу разделов через Ctrl+R или перезагрузите компьютер. Иногда кэш мешает отображению изменений.