Рейтинг:0

сжать загрузочный раздел ext4 внутри образа qemu

флаг nl

Мне нужно уменьшить мой загрузочный кему изображение (которое скачано с взглянуть мельком) виртуальный размер от 12G до 2G:

$ qemu-img информация w.img
изображение: w.img
формат файла: сырой
виртуальный размер: 12 ГиБ (12884901888 байт)
размер диска: 1,67 ГиБ
$ sudo virt-df -h w.img
Используемый размер файловой системы Доступное использование %
w.img:/dev/sda1 11G 1.4G 10G 13%
w.img:/dev/sda15 104M 5.2M 99M 5%
$ sudo virt-resize --shrink /dev/sda1 w.img меньше.img
[ 0.0] Проверка work.img
virt-resize: ошибка: /dev/sda1: этот раздел содержит файловую систему ext4
который будет поврежден при сжатии ниже 12304109568 байт (пользователь спросил
чтобы уменьшить его до 2029748224 байт). Если вы хотите уменьшить этот раздел,
вам нужно использовать опцию «--resize-force», но это может разрушить любой
данные на этом разделе. (Эта ошибка возникла из-за опции «--сжать» на
командная строка.)

Если вы сообщаете об ошибках, запустите virt-resize с включенной отладкой и включите
полный вывод:

  virt-resize -v -x [...]

И мне нужно не уничтожить его. Является ли это возможным?

Рейтинг:1
флаг sl

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

Чтобы достичь вашей цели «сжать диск», вам нужно освободить место с его конца, но в вашем случае нужно сделать несколько шагов для достижения этого, насколько я вижу.

Прежде всего, вам нужно знать, как использовать это как блочное устройство, но НЕ монтируйте его, так как для всех следующих действий потребуется его размонтирование. Для этого - так как это необработанный файл - используйте lossup, как объяснено здесь.

Затем вам нужно сжать ext FS на sda1 через изменить размер2fs как объяснил здесь. Это освободит место в конце sda1.

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

Тогда у вас есть свободное место в конце, которое позволяет вам изменять размер с помощью qemu-img изменить размер --shrink как поясняется на справочная страница.

Наконец, поскольку вы переместили загрузочный раздел, вам может потребоваться исправить некоторые вещи загрузчика (не всегда верно, но может применяться в вашем случае). Для этого, наконец, смонтируйте свои диски, сделайте sda15 /boot под корневой файловой системой sda1. затем выполните chroot в эту среду и запустите sudo update-grub чтобы убедиться, что все мета-записи находятся в нужном месте. Этот последний шаг обременительный и не всегда необходимый (зависит от слишком многих деталей). Делайте это только в том случае, если результат предыдущего шага не загрузится из-за того, что загрузчик не найден.

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

Ответить или комментировать

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