Я случайно уменьшил свой образ KVM-диска со 100 ГБ до 50 ГБ, используя:
sudo qemu-img resize disk.raw 50G
Хотел увеличить диск со 100Гб до 250Гб. Теперь ВМ не загружается :( И получите это сообщение:
Что я могу сделать?
Вы разрезаете плохую файловую систему пополам. Если бы вы использовали образ на основе LVM, это было бы намного проще, так как он хранит историю изменений томов, и его относительно легко восстановить после операции изменения размера. Маловероятно, что когда-нибудь снова загрузится. Но вы могли бы хоть что-то спасти. Это зависит от того, насколько ценными были данные.
Поэтому, если с тех пор вы ничего не сделали / много, и ваше изображение не было распределено редко, а файловая система на хосте не была сильно фрагментирована, есть вероятность, что она была выделена одним фрагментом. Я не знаю простого способа найти эти фрагменты, но в случае ext4 FS на хосте, вероятно, что-то есть в журнале. Может быть, поможет инструмент extundelete.
В любом случае вы должны убедиться, что ничего не записывается в файловую систему, в которой находился образ. В идеале вам следует использовать live CD, например SystemRescueCD. Не устанавливайте ничего в пораженную файловую систему.
В идеале сделайте резервную копию всего диска, на котором раньше находился образ. Если что-то пойдет не так или вы получите лучший ответ, вы можете перезапустить.
Для каждого из них:
kpartx -a
в файле, который создаст устройство цикла и создаст устройства DM для разделов.Теперь вы видите, насколько важны резервные копии ...
[1]: Совет: на копирование всего диска потребуется много времени. Если вы используете LVM, вы можете скопировать образ диска на логический том, создать моментальный снимок и работать с моментальным снимком, так что исходный образ не будет затронут. Хотя моментальные снимки записываются медленнее, вы не собираетесь много писать в моментальный снимок. Ваша цель - спасти данные из изображения.