Восстановление файловой системы через LiveCD: пошаговое руководство с SystemRescue и GParted | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

Восстановление файловой системы через LiveCD: пошаговое руководство с SystemRescue и GParted

18 мая 2026 9 мин. чтения

Подготовка к восстановлению: минимизация рисков и выбор инструмента

Повреждение файловой системы или загрузчика требует немедленных, но взвешенных действий. Главный принцип: сначала диагностика и резервное копирование, только потом восстановление. Загрузка с LiveCD - единственный корректный метод, когда основная операционная система не стартует. Вы получаете контроль над дисками, не монтируя поврежденные разделы в режиме записи.

Работайте в read-only режиме на первом этапе. Подключите внешний накопитель или сетевое хранилище для сохранения резервных копий и логов. Убедитесь, что питание стабильно. Любой сбой во время процедуры может привести к необратимой потере данных.

Первый и обязательный шаг: создание посекторной резервной копии (dd/gddrescue)

Прямое копирование файлов с поврежденной файловой системы часто невозможно. Посекторное копирование всего диска или раздела создает точный образ, с которым можно безопасно экспериментировать. Утилита dd подходит для стабильных носителей. Для дисков с аппаратными ошибками используйте gddrescue (GNU ddrescue), который сохраняет прогресс и повторяет чтение проблемных секторов.

Команда для создания образа стабильного диска:

dd if=/dev/sdX of=/путь/к/внешнему/диску/backup.img bs=4M status=progress conv=noerror,sync

Замените /dev/sdX на идентификатор проблемного устройства (например, /dev/sda). Параметр bs=4M ускоряет операцию. Ключи conv=noerror,sync позволяют продолжить копирование при ошибках чтения, заполняя плохие секторы нулями.

Если диск издает щелчки, система зависает при обращении к нему, или SMART показывает много переназначенных секторов, запустите gddrescue:

gddrescue -v /dev/sdX /путь/к/образу.img /путь/к/логу.log

Программа сохранит карту восстановления в файл лога. После первого прохода можно выполнить повторные попытки для спасения оставшихся данных:

gddrescue -v -r 3 /dev/sdX /путь/к/образу.img /путь/к/логу.log

Дальнейшую диагностику и восстановление проводите с файлом образа, смонтировав его как loop-устройство. Это гарантирует, что исходный носитель не пострадает от ошибочных команд.

Выбор Live-дистрибутива: SystemRescue, Ubuntu Live или GParted Live?

Выбор дистрибутива влияет на доступный инструментарий и сложность настройки.

  • SystemRescue - специализированный набор для аварийного восстановления. Включает утилиты: testdisk, photorec, fsck для всех популярных файловых систем, gdisk, ddrescue, редакторы hex, инструменты для работы с сетью. Идеален для сложных случаев, когда тип повреждения неизвестен. Базируется на Arch Linux, использует пакетный менеджер pacman.
  • Ubuntu Live / Debian Live - знакомое окружение для администраторов. Позволяет использовать apt для установки дополнительных пакетов (testdisk, gddrescue, smartmontools). Подходит, если нужна стандартная среда и вы планируете использовать преимущественно родные утилиты Linux. Для восстановления Windows-разделов может потребовать установки ntfs-3g.
  • GParted Live - узконаправленный дистрибутив для работы с разделами. Содержит графическую утилиту GParted и базовый набор консольных инструментов (fdisk, fsck). Оптимален, если проблема точно связана с таблицей разделов (GPT/MBR) и не требуется глубокий анализ файловых систем.

Рекомендация для большинства сценариев: используйте SystemRescue. Он покрывает 95% задач по восстановлению и диагностике. Запишите его на USB-накопитель с помощью dd или утилиты Ventoy, которая позволяет хранить несколько ISO-образов на одной флешке. Подробнее о создании универсального аварийного набора читайте в руководстве Загрузочная флешка с дисковыми утилитами: создание и актуальный набор инструментов на 2026 год.

Диагностика проблемы: определяем состояние дисков и файловых систем

После загрузки с LiveCD откройте терминал с правами root. Ваша цель - построить полную картину: какие диски видны, их размер, состояние разделов, типы файловых систем, наличие ошибок в ядре.

Выполните последовательность команд. Записывайте вывод.

Базовые команды: lsblk, fdisk, blkid и dmesg | tail

1. lsblk показывает дерево блочных устройств, точки монтирования и файловые системы.

lsblk -f

Обратите внимание на столбцы FSTYPE (тип ФС) и MOUNTPOINTS. Отсутствие типа ФС или наличие метки unknown указывает на повреждение. Если раздел смонтирован, размонтируйте его перед проверкой: umount /dev/sdX1.

2. fdisk выводит таблицу разделов.

fdisk -l /dev/sdX

Проверьте, соответствуют ли размеры разделов ожидаемым. Для дисков GPT используйте gdisk -l /dev/sdX.

3. blkid отображает UUID и типы файловых систем, которые ядро может определить.

blkid

Сравните UUID с записями в /etc/fstab вашей системы (если доступно). Несоответствие может быть причиной ошибок загрузки.

4. dmesg содержит логи ядра. Ищите ошибки ввода-вывода (I/O errors), сообщения о сбоях файловых систем.

dmesg | tail -100

Фразы типа "EXT4-fs error (device sda1): ext4_find_entry: reading directory" прямо указывают на повреждение структуры ext4.

5. Проверка аппаратного состояния (SMART). Установите пакет smartmontools если его нет. Для SATA-диска:

smartctl -a /dev/sdX

Обратите внимание на атрибуты Reallocated_Sector_Ct, Current_Pending_Sector, Uncorrectable_Sector_Ct. Высокие значения сигнализируют о физической деградации носителя. В этом случае приоритет - посекторное копирование данных, а не восстановление ФС на этом же диске.

Рецепт 1: Восстановление файловых систем ext2/3/4 и NTFS с помощью fsck

Утилита fsck (file system check) - основной инструмент исправления логических ошибок в файловых системах. Для ext2/3/4 она вызывает e2fsck, для NTFS - ntfsfix. Перед запуском убедитесь, что раздел не смонтирован.

Сначала выполните проверку без внесения изменений:

fsck -n /dev/sdX1

Утилита просканирует метаданные и выведет список проблем: неверные указатели inode, битые блоки, несоответствия счетчиков. Если ошибок немного, запустите исправление с ключом -y (автоматический ответ «yes» на все запросы):

fsck -y /dev/sdX1

Для принудительной проверки, даже если файловая система помечена как чистая, используйте -f. Для подробного вывода добавьте -v.

Если fsck прерывается с сообщением о необходимости ручного вмешательства или зависает, проблема может быть в повреждении критических структур. В этом случае переходите к восстановлению через запасные суперблоки.

Для файловых систем NTFS в Linux используется утилита ntfsfix. Она исправляет распространенные ошибки и сбрасывает флаги, которые Windows устанавливает при некорректном завершении работы.

ntfsfix /dev/sdX1

Эта команда не выполняет глубокую проверку целостности данных. Для этого потребуется загрузка с Windows PE и запуск chkdsk /f.

Использование запасных суперблоков для критических повреждений ext*

Суперблок - это заголовок файловой системы ext*, хранящий критическую информацию: размер блока, количество inode, список свободных блоков. В начале раздела создаются его резервные копии. Если основной суперблок поврежден, система не смонтирует раздел.

Сначала найдите расположение запасных суперблоков. Команда mke2fs -n покажет их, не записывая ничего на диск.

mke2fs -n /dev/sdX1

Вывод будет содержать строку типа: Superblock backups stored on blocks: 32768, 98304, 163840, 229376....

Укажите один из этих номеров блока в fsck с ключом -b:

fsck -b 32768 /dev/sdX1

Если первый запасной суперблок также поврежден, попробуйте следующий из списка. После успешного восстановления суперблока выполните полную проверку fsck -y /dev/sdX1.

Более детальные методы ручного восстановления структур ext4, XFS и Btrfs, включая работу с журналами транзакций, описаны в отдельном руководстве: Диагностика и восстановление файловых систем Linux: ext4, XFS и Btrfs.

Рецепт 2: Восстановление загрузчика GRUB2 для UEFI и BIOS

Симптомы сбоя загрузчика: сообщения «GRUB rescue», «Boot device not found», «Invalid EFI file path». Алгоритм восстановления различается для старых систем с BIOS (MBR) и современных с UEFI.

Общие подготовительные шаги:

  1. Загрузитесь с LiveCD и откройте терминал.
  2. Определите корневой раздел вашей системы (/) с помощью lsblk -f и смонтируйте его. Например, если это /dev/sda2:
mount /dev/sda2 /mnt

3. Если у вас отдельный раздел /boot или /boot/efi (для UEFI), смонтируйте их в соответствующие подкаталоги:

# Для /boot
mount /dev/sda1 /mnt/boot
# Для EFI-раздела (обычно FAT32)
mount /dev/sda1 /mnt/boot/efi

Подготовка окружения chroot: монтирование /proc, /sys, /dev

Для корректной работы установщика GRUB внутри восстановленной системы необходимо примонтировать виртуальные файловые системы ядра и устройства. Без этого команда grub-install может завершиться ошибкой.

mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts

Теперь перейдите в окружение chroot:

chroot /mnt

Для систем с UEFI: Убедитесь, что пакет grub-efi-amd64 (или grub-efi-amd64-signed для Secure Boot) установлен. Установите загрузчик:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

Обновите конфигурацию GRUB:

update-grub

Для систем с BIOS (MBR): Установите загрузчик в MBR диска:

grub-install --target=i386-pc /dev/sda

Здесь /dev/sda - это диск (устройство), а не раздел. После этого также выполните update-grub.

Выйдите из chroot (exit), перезагрузитесь и извлеките Live-носитель.

Рецепт 3: Работа с поврежденной таблицей разделов (GPT/MBR)

Если диск определяется, но разделы не отображаются в lsblk или отображаются как «unknown», вероятно, повреждена таблица разделов. GPT хранит резервную копию в конце диска, что повышает шансы на восстановление.

Восстановление GPT с помощью gdisk:

gdisk /dev/sdX

В интерактивном режиме gdisk:

  1. Введите r для перехода в меню восстановления.
  2. Введите v для проверки целостности таблицы. Программа укажет на проблемы.
  3. Введите b для создания резервной копии текущей (поврежденной) таблицы в файл.
  4. Введите c для восстановления основной таблицы разделов из резервной копии в конце диска.
  5. Используйте w для записи изменений на диск.

Поиск утерянных разделов с помощью testdisk: Эта утилита сканирует диск, ища сигнатуры (заголовки) файловых систем.

testdisk /dev/sdX

В меню выберите тип таблицы разделов (обычно «Intel» для MBR или «EFI GPT»). Выберите «Analyse», затем «Quick Search». Testdisk отобразит найденные разделы. Вы можете восстановить таблицу, выбрав раздел и нажав «Write». Перед записью обязательно создайте резервную копию текущего состояния диска через опцию «Backup».

Если восстановление таблицы разделов не помогло, а данные критически важны, переходите к процедуре низкоуровневого восстановления файлов с помощью инструментов вроде photorec (входит в пакет testdisk). Подробный алгоритм действий в таких сценариях описан в руководстве Восстановление данных с жесткого диска: пошаговый алгоритм для IT-специалистов.

Особые случаи и устранение неполадок

1. Диски с шифрованием LUKS. Сначала разблокируйте контейнер, чтобы получить доступ к файловой системе внутри.

cryptsetup luksOpen /dev/sdX1 my_volume

После ввода пароля появится блочное устройство /dev/mapper/my_volume. Проводите диагностику и восстановление ФС уже с ним: fsck /dev/mapper/my_volume.

2. Аппаратные RAID-массивы. Загрузите необходимые модули ядра для вашего контроллера RAID (например, mdadm для программного RAID, megaraid_sas для LSI). Соберите массив вручную:

mdadm --assemble --scan

После этого диски массива станут доступны как виртуальное устройство (например, /dev/md0).

3. Системы с включенным Secure Boot. Многие Live-дистрибутивы (включая SystemRescue) имеют подписанные загрузчики. Если загрузка не происходит, отключите Secure Boot в настройках UEFI вашего компьютера или сервера.

4. Файловые системы Btrfs и ZFS. Используйте их родные утилиты. Для Btrfs:

btrfs check --repair /dev/sdX1

Ключ --repair используйте с крайней осторожностью и только после создания бэкапа. Для импорта пула ZFS:

zpool import -f pool_name

Затем проверьте целостность: zpool scrub pool_name.

5. Физически поврежденные HDD/SSD. Если диагностика SMART указывает на критический износ, а утилиты чтения зависают, приоритет - спасение данных, а не восстановление ФС. Используйте gddrescue для создания образа, как описано в первом разделе. Для сложных случаев с аппаратными дефектами изучите расширенное руководство: Восстановление данных с поврежденных HDD и SSD: практическое руководство для админов.

Помните, что успех восстановления напрямую зависит от аккуратности и последовательности действий. Всегда начинайте с резервного копирования, используйте проверенные дистрибутивы вроде SystemRescue и тестируйте команды на образе диска перед работой с физическим носителем. Эта методика позволяет решать большинство инцидтов с файловыми системами в корпоративной среде с минимальным временем простоя.

Поделиться:
Сохранить гайд? В закладки браузера