VMを扱う場合はCockpitやvirt-managerを利用したほうが扱いやすいですが、LXD-UIで一括管理したい場合のために、Windows11を動かす例の記録を残しておきます。
Windows11のISOをダウンロードしたフォルダを/home/user/iso以下に保存している例です。
1. 依存パッケージのインストール
sudo apt update
sudo apt install -y libhivex-bin libwin-hivex-perl wimtools genisoimage \
golang-go git make
2. distrobuilderのビルド
# ソースをクローン&ビルド
git clone https://github.com/lxc/distrobuilder
cd distrobuilder
make
# バイナリをコピー
sudo cp ~/go/bin/distrobuilder /usr/local/bin/distrobuilder
# 確認
distrobuilder --version
もしsnap版インストール済みで動作しない場合は下記コマンドで削除したあとに、上記コマンドでソースからビルドします。sudo snap remove distrobuilder
3. Windows 11 ISOの再パッケージ化
virtioドライバ統合のためISOを再パッケージします。
cd ~/iso
# virtio-win ISOをダウンロード
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
# virtioドライバ統合済みISOを再パッケージ
sudo distrobuilder repack-windows Win11_25H2_Japanese_x64_v2.iso Win11-v.iso \
--drivers=/home/user/iso/virtio-win.iso
4. VM作成と設定
# VM作成(既存のwin11がある場合は先にlxc delete win11)
lxc init win11 --empty --vm
# CPU・メモリ設定
lxc config set win11 limits.cpu 4
lxc config set win11 limits.memory 8GiB
# ディスクサイズ
lxc config device override win11 root size=50GiB
# ISOをマウント
lxc config device add win11 iso disk source=/home/user/iso/Win11-v.iso boot.priority=10
# vTPMデバイスを追加
lxc config device add win11 vtpm tpm path=/dev/tpm0
5. 起動・インストール
lxc start win11
ブラウザでLXD UIを開き(https://ホストIP:8443)、win11のコンソールからWindowsインストールを進めます。

6. インストール完了後はISOをアンマウント
これはLXD-UIから行っても良いですが、コマンドで操作するなら下記です。
# ISOをアンマウント
lxc config device remove win11 iso
# 再起動
lxc restart win11
virtioドライバ統合ISOを作っていない場合
手順3のvirtio-win ISOをダウンロードしてマウントして利用します。
# virtio-win ISOをVMにマウント
lxc config device add win11 virtio-iso disk source=/home/user/iso/virtio-win.iso
# VM内でDドライブとして認識されるので
# デバイスマネージャーからドライバを手動インストール
Ubuntu デスクトップをVMで使用
UbuntuデスクトップをLXDのVMで行う方法も。
~/iso/ubuntu-26.04-beta-desktop-amd64.isoにある前提です。
下記でスクリプトを作成して実行。その後、LXD-UIで作業します。
cat << 'EOF' > ~/setup-ubuntu-vm.sh
#!/bin/bash
set -e
VM_NAME="ubuntu26"
ISO_PATH="$HOME/iso/ubuntu-26.04-beta-desktop-amd64.iso"
CPU=4
MEMORY="8GiB"
DISK="50GiB"
echo "==> VMを作成: $VM_NAME"
lxc init "$VM_NAME" --empty --vm
echo "==> CPU・メモリを設定"
lxc config set "$VM_NAME" limits.cpu $CPU
lxc config set "$VM_NAME" limits.memory $MEMORY
echo "==> ディスクサイズを設定"
lxc config device override "$VM_NAME" root size=$DISK
echo "==> ISOをマウント"
lxc config device add "$VM_NAME" iso disk \
source="$ISO_PATH" \
boot.priority=10
echo "==> VMを起動"
lxc start "$VM_NAME"
echo ""
echo "==> 完了!LXD UIのコンソールからインストールを進めてください。"
echo " インストール完了後は以下を実行してISOを取り外す:"
echo " lxc config device remove $VM_NAME iso"
echo " lxc restart $VM_NAME"
EOF
chmod +x ~/setup-ubuntu-vm.sh
~/setup-ubuntu-vm.sh
Windowsと違う点:
- Ubuntu VMはvTPM・SecureBootは不要なので設定なし
- virtioドライバ統合も不要(LXDがKVMに最適化されたドライバを自動で使用)
- インストール後はLXD UIのコンソールかSSHで接続可能


