Debian 13 trixie

KVM : 仮想マシンを作成する2025/08/21

 

ゲスト OS をインストールして仮想マシンを作成します。
当例ではホスト OS と同じ Debian 13 をインストールします。

[1] 当例では、事前に Debian 13 インストール用 ISO ファイルを適当なディレクトリにダウンロードして (下例では [/home] 配下)、ISO ファイルからテキストモードでインストールします。
直接コンソールからでも、リモートから Putty 等のエミュレータ経由からでも実行可能です。
また、デフォルトでは仮想マシンのイメージの保管場所 (ストレージプール) は [/var/lib/libvirt/images] となっていますが、 当例では別パスにストレージプールを作成して進めます。(自身が覚えやすいパスで OK)
# ストレージプールとするディレクトリ作成

root@dlp:~#
mkdir -p /var/kvm/images

root@dlp:~# virt-install \
--name debian13 \
--ram 4096 \
--disk path=/var/kvm/images/debian13.img,size=20 \
--vcpus 2 \
--os-variant debian13 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /home/debian-13.0.0-amd64-DVD-1.iso \
--extra-args 'console=ttyS0,115200n8 serial' 

# インストールが開始される
# この後は通常のインストール手順と同じ
Starting install...
Retrieving file vmlinuz...                                  | 6.5 MB  00:00
Retrieving file initrd.gz...                                |  17 MB  00:00
Allocating 'debian13.img'                                   |  20 GB  00:00
.....
.....


# インストール終了後 一旦ホスト側に戻ってゲストをシャットダウン

root@dlp:~#
virsh shutdown debian13
# ゲスト領域をマウントしてサービスを有効にする

root@dlp:~#
guestmount -d debian13 -i /mnt

root@dlp:~#
ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service

root@dlp:~#
umount /mnt
# 再度起動し、コンソールに接続できればインストール完了

root@dlp:~#
virsh start debian13 --console


Debian GNU/Linux 13 debian ttyS0

debian login:
上例で指定しているオプションの意味です。その他多数のオプションは [man virt-install] で確認可能です。
--name 仮想マシンの名前を指定
--ram 仮想マシンのメモリ容量を指定 (単位は M)
--disk path=xxx,size=xxx [path=xxx] で仮想マシンのディスクの保管場所を指定 (デフォルトは [/var/lib/libvirt/images] 配下)
[size=xxx] で仮想マシンのディスク容量を指定 (単位は G)
--vcpus 仮想マシンの仮想 CPU 数を指定
--os-variant ゲスト OS の種類を指定
[# osinfo-query os] で指定可能な OS の種類を確認可能
--network 仮想マシンのネットワークタイプを指定
当例では [--network bridge=br0] として、ゲスト OS にブリッジ接続を指定
(br0 はインストールの項の [2] で設定したブリッジインターフェース)
物理マシンが複数の NIC を搭載し、且つ ブリッジインターフェースも複数を設定しており、且つ 仮想マシンからも同様に複数の ネットワークインターフェースを使用したい場合は、[--network xxx] を複数行で指定
--graphics グラフィクスを指定
spice, vnc, none 等が指定可
--console コンソールタイプを指定
--location インストール元を指定
--extra-args インストール時にカーネルに渡すパラメータを指定

[2] インストーラー起動後はテキストモードでインストール作業を進めます。テキストモードも基本は GUI と同様のため、インストール過程は割愛します。 インストールが完了すると、通常通り一旦システムが再起動し、以下のようにターミナル上にゲスト OS のログインプロンプトが表示されます。インストール中に設定したユーザーでログインできればインストール完了です。
Debian GNU/Linux 13 debian ttyS0

debian login: root
Password:
Linux debian 6.12.38+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.38-1 (2025-07-16) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@debian:~#
[3] ゲスト OS 側からホスト OS 側へのコンソールの切り替えは Ctrl + ] キーです。
ホスト OS 側からゲスト OS 側へのコンソールの切り替えは [virsh console (仮想マシン名)] とコマンドを入力します。
root@debian:~#     # Ctrl + ] キー
root@dlp:~#        # ホスト側のコンソールに切り替わった

root@dlp:~# virsh console debian13    # ゲスト OS のコンソールに切り替え
Connected to domain 'debian13'
Escape character is ^]     # Enter キー押下

root@debian:~#     # ゲスト側のコンソールに切り替わった
[4] 作成した仮想マシンは容易に複製可能です。
root@dlp:~#
virt-clone --original debian13 --name template --file /var/kvm/images/template.img

Allocating 'template.img'                    |  20 GB  00:00:05

Clone 'template' created successfully.

# ディスクイメージ

root@dlp:~#
ll /var/kvm/images/template.img

-rw------- 1 root root 5321195520 Aug 21 09:24 /var/kvm/images/template.img
# 定義ファイル

root@dlp:~#
ll /etc/libvirt/qemu/template.xml

-rw------- 1 root root 6730 Aug 21 09:24 /etc/libvirt/qemu/template.xml
関連コンテンツ