13.03.2017 20:51
Озадачился я, что для того образа ноутбука, где занято всего 20Гб, отвести 300Гб на диск будет, пожалуй, жирновато. Можно было, конечно, перевести в COW2, но на BTRFS двойное COW слишком тормозит.

Для начала я попробовал просто gparted image.raw, выяснилось, что таким образом можно посмотреть содержимое, удалять разделы, но, например, NTFS-раздел подвигать я не смог. Только расширить, что мне и не требовалось.

Не проблема - запустил в виртуалке, выбрал диск в диспетчере дисков винды и Shrink. До 40Гб ужалось чуть ли не моментально. Но, понятное дело, сам файл image.raw не изменился. Что делать? Как его ужать? Чуть ли не 250Гб Unallocated внутри. Есть два варианта.

прицепить образ устройством уже к самому хосту
Код:
losetup -fv /path/to/image.raw
Loop device is /dev/loop0
посмотреть что на нем и какие размеры имеет
Код:
fdisk -l /dev/loop0 

Disk /dev/loop0: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1449bcb0

 Device Boot      Start         End           Blocks   Id  System
/dev/loop0p1   *        2048    11452502     5725227    7  HPFS/NTFS
/dev/loop0p2        11452503    42432503    15490000    7  HPFS/NTFS
отцепить устройство
Код:
losetup -d /dev/loop0
и перелить из одного образа кусок в другой (не забываем добавить два блока к последнему)
Код:
dd if=/path/to/image.raw of=/path/to/shrinked_image.raw bs=512 count=42432505
способ вполне рабочий, я проверял, но проблема в том, что на моем домашнем старом винте можно усохнуть ожидая конца операции. Гораздо проще и быстрее посмотреть размер той же самой командой fdisk -l (выше вывод какой-то куцый, вы увидите и размер разделов), после чего режете image.raw командой, например
Код:
qemu-img resize image.raw 40G
отрабатывает влет с 300Гб до 40Гб.
Часовой пояс GMT +3, время: 08:21.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.