У меня базовый образ машины Windows10.
[win10_base image].qcow2 -- [overlay_with_bug].qcow2
У меня есть ошибка приложения, которую я могу воспроизвести. Эта ошибка что-то меняет в системе.
Я хочу воспроизвести ошибку на невинной виртуальной машине Windows. Все изменения следует отслеживать в наложении этого изображения. Как я могу получить изменения, сохраненные в оверлее? Какой формат лучше всего? Есть ли что-то вроде инструмента сравнения / анализа для виртуальных образов?
virt-diff может перечислить различные файлы между изображениями raw или qcow2. Он утверждает, что разрешает различие между наложениями, и в этом случае попробуйте создать пустой qcow2 для -a
аргумент. Или сравните гостей с накладкой и без нее, используя -d
вариант.
Хотя Сборки RHEL исправляют NTFS из libguestfs так что вам могут понадобиться другие инструменты.
Также ценна видимость того, что делает гость. Использовать Прокмон или, может быть, отладчик, чтобы детально посмотреть, что делает проблемная программа.
Qcow2 трекинг работает поблочно; это означает, что нет простых способов определить, какие файлы были изменены. Предлагаю вам смонтировать оба дисковых файла, посчитать md5-сумму всех интересных файлов и сравнить результаты.
При этом не изменяйте файлы на диске и / или не монтируйте их дважды.
РЕДАКТИРОВАТЬ: Я не знал о virt-diff (+1 за ответ Джона), который, похоже, делает то, что я предлагал выше, - монтирует два образа дисков и сравнивает отдельные файлы внутри них, но гораздо более простым способом. Во всяком случае в мире RHEL, где guestfs
не поддерживают NTFS (ожидайте win-virt-reg
), вам может потребоваться выполнить сравнение жестким (ручным) способом.