<?xml version="1.0" encoding="UTF-8" ?><oembed><version>1.0</version><provider_name>Чудо{вищные} заметки</provider_name><provider_url>https://miracle.rpz.name</provider_url><author_name>MiRacLe</author_name><author_url>https://miracle.rpz.name/author/miracle/</author_url><title>Увеличиваем размер vmdk</title><html>Порой возникает необходимость изменить размер виртуальных дисков для VirtualBox-а, в моём случае диски оказываются в формате vmdk и руководство пользователя предлагает нам  скопировать диск в формате VDI, изменить размер полученного vdi и вновь скопировать результат  в vmdk. Всё вроде  бы просто, но требует наличие на хосте свободного места под &quot;промежуточный&quot; диск. На этот раз ищем способ проще. &lt;a href=&quot;http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1004047&quot;&gt;На форуме поддержки VMware&lt;/a&gt; была найдена 32-битная утилита vmware-vdiskmanager для работы с vmdk напрямую, минуя стадию vdi, к  счастью мы имеем возможность ей воспользоваться (спасибо multilib):
&lt;h4&gt;Добываем утилиту:&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;
wget &quot;http://kb.vmware.com/selfservice/viewAttachment.do?attachID=1023856-vdiskmanager-linux.7.0.1.zip&amp;documentID=1023856&quot; -O 1023856-vdiskmanager-linux.7.0.1.zip
unzip 1023856-vdiskmanager-linux.7.0.1.zip
mv 1023856-vmware-vdiskmanager-linux.7.0.1 ~/bin/vmware-vdiskmanager
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Изменяем размер целевого диска&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;
vmware-vdiskmanager -x 40800M ~/VirtualBox\ VMs/LowSizedVM/LowSizedVM-disk1.vmdk 
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Используем новое пространство в гостевом окружении&lt;/h4&gt;
Здесь должна была быть ссылка на resize2fs, но напрямую ей воспользоваться у меня не получилось&lt;a href=&quot;#note&quot;&gt;*&lt;/a&gt;, я воспользовался утилитой &lt;a href=&quot;https://github.com/rekby/fsextender&quot;&gt;fsextender&lt;/a&gt;, 64-битные бинарник можно взять у автора, но мне понадобился 32bit, который пришлось собрать на 64-битном хосте:
&lt;pre&gt;&lt;code&gt;
go get -t github.com/rekby/fsextender
cd src/github.com/rekby/fsextender/fsextender
GOOS=linux GOARCH=386 go build -compiler gccgo --gccgoflags &quot;-static&quot;
&lt;/code&gt;&lt;/pre&gt;
Полученный бинарник закачиваем на целевую ось и используем:
&lt;pre&gt;&lt;code&gt;
fsextender /dev/sda1 --do
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;a name=&quot;note&quot;&gt;&lt;/a&gt;В защиту resize2fs - проблема с её использованием возникла из-за &lt;span title=&quot;через заднепроходное отверстие&quot;&gt;&quot;нетрадиционно&quot; разбитого диска&lt;/span&gt; и в следующий раз столкнувшись с похожей проблемой я найду решение без сторонних утилит, тем не менее опыт кросскомпиляции GO-утилит не пройдёт даром.&lt;/blockquote&gt;
Полезные ссылки:
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://habrahabr.ru/post/274451/&quot; target=&quot;_blank&quot;&gt;Пост в поддержку утилиты fsextender&lt;/a&gt; на Хабре&lt;/li&gt;
	&lt;li&gt;Руководство по изменению размера vdi-диска: &lt;a href=&quot;https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi&quot;&gt;VBoxManage modifyhd --resize&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</html><type>rich</type></oembed>