0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VirtualBox to KVM/QEMU

0
Last updated at Posted at 2026-09-03

VirtualBoxでトラブル

VirtualBox を Host: Ubuntu Guest: Windows で使用していたが調子が悪い。

Ubuntu でアップデートするとトラブルが起こる。
建前ではカーネルモジュールを作り直せばいい。しかしながら以下のように起動しなくなったりすることが起こる。

image.png

なのでアップデートを行わないようにして運用しているが、そのような運用はいろいろと厳しい。
今回うっかりして自動アップデートがかかってしまって、一見動いているもののネットワークのパフォーマンスが著しく悪くなるのは難儀。

cf., https://www.reddit.com/r/virtualbox/comments/1n8gsdp/slow_bridged_network_access/

virtio-net を使えばいいかも ? しかしながら KVM/QEMU が良さそうなので乗り換えました。

環境

Host: Ubuntu 26.4LTS
Guest: Windows 10 Pro

Ubuntu26.04 LTS では環境が揃っているので設定が楽です。

設定前チェック

$ egrep -c '(vmx|svm)' /proc/cpuinfo
8

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

以下はクリーンインストールした Ubuntu 26.04 だと 筆頭ユーザは libvirt に入っています。

$ sudo adduser `id -un` libvirt
warn: The user `nanbuwks' is already a member of `libvirt'.

そうでなくても libvirt に加盟できればいいのですが、dist-upgrade したもの等で libvirt グループがない場合は qemu が入ってないので

$ sudo apt install qemu-system-x86

して(いらないかも)次のインストールを終えてからここに戻る。

はじめて libvirt グループに加盟したときには再起動。

adduser しますが virsh ではまだ権限がないとエラーが出ます。


$ sudo adduser `id -un` kvm
$ virsh list --all
error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

以下のインストールすると virsh が通るようになります。

$ sudo apt install virt-top libguestfs-tools virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils

$ virsh list --all
 Id   名前   状態
-------------------

仮想マシンファイルをコンバート

VirtualBox の ディスクファイルをコンバートします。

$ qemu-img convert -f vdi -O qcow2 sourcefilename.vdi distfilename.qcow2

仮想マシンマネジャを起動

Screenshot from 2026-08-22 17-20-45.png

仮想マシンを作成

image.png

起動しました
image.png

ブリッジ接続に変更する

$  nmcli device
DEVICE           TYPE      STATE            CONNECTION   
enx9c69d366aa69  ethernet  接続済み         有線接続 1   
eno1             ethernet  接続済み         netplan-eno1 
lo               loopback  接続済み (外部)  lo           
virbr0           bridge    接続済み (外部)  virbr0  

$ brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.52540055b180	yes	

$ nmcli connection add type bridge ifname br0
接続 'bridge-br0' (ded84910-a271-4aea-8a0c-992d9a38b03f) が正常に追加されました。

$ brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000000000000	yes		
virbr0		8000.52540055b180	yes



$ nmcli connection show bridge-br0 | grep bridge.stp
bridge.stp:                             はい


$ nmcli connection modify bridge-br0 bridge.stp no
$ nmcli connection show bridge-br0 | grep bridge.stp
bridge.stp:                             いいえ

$ ip a
.
.
.
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 90:1b:0e:d9:80:c9 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    altname enx901b0ed980c9
    inet 192.168.1.201/24 brd 192.168.1.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever


$ nmcli connection modify bridge-br0 ipv4.method manual ipv4.addresses "192.168.1.201/24"

$ nmcli connection add type bridge-slave ifname eno1 master bridge-br0
接続 'bridge-slave-eno1' (442037e2-c373-49d7-b56b-4dda6f33e075) が正常に追加されました。

$ nmcli connection show
NAME               UUID                                  TYPE      DEVICE          
有線接続 1         a827cf6e-312b-36c2-b7b3-ddb206577595  ethernet  enx9c69d366aa69 
netplan-eno1       10838d80-caeb-349e-ba73-08ed16d4d666  ethernet  eno1            
bridge-br0         ded84910-a271-4aea-8a0c-992d9a38b03f  bridge    br0             
lo                 ecb1ad8f-46d2-4999-b349-43931db86fce  loopback  lo              
virbr0             65228ed5-dc4a-46fe-a706-fbe1cc6b7914  bridge    virbr0          
bridge-slave-eno1  442037e2-c373-49d7-b56b-4dda6f33e075  ethernet  --  

$ nmcli connection delete netplan-eno1


仮想マシンマネージャで、NICの設置を変更します。
Screenshot from 2026-08-26 07-43-28.png
br0 とタイプインします。
Screenshot from 2026-08-26 07-45-11.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?