Hyper V - arosh/arosh.github.com GitHub Wiki

内部仮想スイッチの IP アドレス帯を固定する

New-VMSwitch -SwitchName "WinNAT" -SwitchType Internal
Get-NetAdapter
New-NetIPAddress -IPAddress 172.31.255.1 -PrefixLength 24 -InterfaceIndex $ifIndex
New-NetNAT -Name "WinNAT" -InternalIPInterfaceAddressPrefix 172.31.255.0/24

VHDX のサイズを縮小する

thin provisioning されているので、空き領域をゼロ埋めして Optimize-VHD -Mode Full すればかなり小さくなる。ただしファイルシステムにより書き込み位置が散逸していると効果が薄いのでまず resize2fs で縮小しておくと効果が大きい(ただし ext4 しか縮小できない)。

umount する必要があるので別の仮想マシンからマウントする。

# resize2fs する前に必要
sudo e2fsck -y -v -f /dev/mapper/ubuntu--vg-ubuntu--lv

# 縮小する(サイズは適切に設定する)
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 20G

# ゼロ埋めするために拡大する
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

# 適当な箇所にマウントしてからゼロ埋めする(サイズは適切に設定する)
dd if=/dev/zero of=zero iflag=count_bytes count=100G bs=1M
sync; rm zero

# umount してから十分なサイズに縮小しておく
sudo e2fsck -y -v -f /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 32G
Optimize-VHD -Mode Full .\Foo.vhdx