Как восстановить файл образа диска qcow2 с помощью fsck с хоста
Загрузить модуль сетевого блочного устройства:
sudo modprobe nbd max_part = 8
Машина отключения питания:
sudo virsh уничтожить виртуальную машину
Подключить образ диска:
sudo qemu-nbd --connect=/dev/nbd0 /var/lib/libvirt/images/virtual-machine.qcow2
Проверьте диск: (теперь диск смонтирован на хосте, вы можете увидеть его в nautilus/explorer)
судо fsck /dev/nbd0p2
Для меня у меня было установлено два дополнительных диска, которые я только что просканировал как nbd-dm3, так и nbd0p2, вот пример ожидаемого результата, на который я только что ответил «да» всем.
fsck из util-linux 2.25.2
e2fsck 1.42.12 (29 августа 2014 г.)
/dev/nbd0p1: восстановление журнала
/dev/nbd0p1 содержит файловую систему с ошибками, принудительная проверка.
Проход 1: проверка индексных дескрипторов, блоков и размеров
Найдены индексные дескрипторы, которые были частью поврежденного связанного списка потерянных файлов. Исправить<у>? да
Инод 274 был частью списка потерянных индексов. ИСПРАВЛЕНО.
Инод 132276 был частью списка потерянных индексов. ИСПРАВЛЕНО.
У удаленного inode 142248 нулевое время ожидания. Исправить<у>? да
Проход 2: проверка структуры каталогов
Шаг 3: проверка подключения к каталогу
Шаг 4: проверка счетчиков ссылок
Шаг 5: Проверка сводной информации о группе
Различия в растровых изображениях блоков: -603674 -623174 +(689342--689343)
Исправить<у>? да
Неверный подсчет свободных блоков для группы №18 (15076, counted=15077).
Исправить<у>? да
Неверный подсчет свободных блоков для группы №19 (11674, counted=11675).
Исправить<у>? да
Неправильный подсчет свободных блоков (632938, counted=670871).
Исправить<у>? да
Различия в растровых изображениях inode: -274 -132276 -142248
Исправить<у>? да
Неверный подсчет свободных инодов для группы №0 (52, counted=53).
Исправить<у>? да
Неверный подсчет свободных инодов для группы №16 (99, counted=100).
Исправить<у>? да
Неверный подсчет свободных инодов для группы №17 (519, counted=520).
Исправить<у>? да
Неверный подсчет свободных инодов (204392, counted=204599).
Исправить<у>? да
/dev/nbd0p1: ***** ФАЙЛОВАЯ СИСТЕМА БЫЛА ИЗМЕНЕНА *****
/dev/nbd0p1: 101833/306432 файла (0,2% несмежных), 553321/1224192 блоков
Отключить устройство:
судо qemu-nbd --отключить /dev/nbd0
/dev/nbd0 отключен
Запустите свою машину и проверьте, работает ли она:
virsh запустить виртуальную машину
Источник: https://gist.github.com/islander/8517685e3a9f7e0e1d458033710f0893