QEMU/Guest

windows10

1. install

まずは通常通りにISOイメージ(or メディア)よりインストール

# qemu-img create -f qcow2 windows10.qcow2 80G
# qemu-system-x86_64 \
    -monitor telnet:127.0.0.1:9901,server,nowait \              qemuモニターへtelnetで接続
    -enable-kvm \                                               KVM有効
    -rtc base=localtime,clock=host \                            クロック調整
    -smp 4                                                      CPU4枚
    -m 8192                                                     メモリ8GB
    -vnc :1                                                     vncで画面表示
    -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 \   vnc画面でのマウスポインタズレを修正
    -drive file=windows10.qcow2,index=0,media=disk \            インストール先イメージファイル
    -drive file=windows10.iso,index=2,media=cdrom                Windows10インストーラ

→シャットダウン

2. VirtIOドライバ導入

Windows通常ドライバではVirtIO(ディスク,NIC,)対応していない. ドライバを入れ替えて性能向上を図る. OSイメージがあるディスクのドライバをいきなり入れ替えるとブートできなくなるため, VirtIO接続された仮ディスクを追加することでVirtIOドライバ導入を行う.

# qemu-img create -f qcow2 temp.qcow2 100M
# qemu-system-x86_64 \
    -monitor telnet:127.0.0.1:9901,server,nowait \              qemuモニターへtelnetで接続
    -enable-kvm \                                               KVM有効
    -rtc base=localtime,clock=host \                            クロック調整
    -smp 4                                                      CPU4枚
    -m 8192                                                     メモリ8GB
    -vnc :1                                                     vncで画面表示
    -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 \   vnc画面でのマウスポインタズレを修正
    -drive file=windows10.qcow2,index=0,media=disk \            Windows10 OSディスク
    -drive file=virio-win.iso,index=2,media=cdrom \             VirtIOドライバディスク
    -drive file=temp.qcow2,if=virtio,index=0,media=disk \       VirtIO対応の仮ディスク
    -net nic,model=virtio,macaddr=52:54:00:00:00:01 \           VirtIO対応NIC
    -net tap,script=ifup,downscript=ifdown                      ホスト側NIC

→Windows上で警告が出ているデバイス(SCSIコントローラ,イーサネットコントローラ)のドライバをVirtIOドライバへ更新する
→「コンピュータの管理」>「デバイスマネージャー」>「ほかのデバイス」

OSイメージがあるディスクのドライバをVirtIOへ変更して起動(通常起動パターン)

# qemu-system-x86_64 \
    -monitor telnet:127.0.0.1:9901,server,nowait \              qemuモニターへtelnetで接続
    -enable-kvm \                                               KVM有効
    -rtc base=localtime,clock=host \                            クロック調整
    -smp 4                                                      CPU4枚
    -m 8192                                                     メモリ8GB
    -vnc :1                                                     vncで画面表示
    -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 \   vnc画面でのマウスポインタズレを修正
    -drive file=windows10.qcow2,if=virtio,index0,media=disk \   Windows10 OSディスク(VirtIO対応)
    -net nic,model=virtio,macaddr=52:54:00:00:00:01 \           VirtIO対応NIC
    -net tap,script=ifup,downscript=ifdown                      ホスト側NIC



---
update at 2020/11/09 15:09:11

※注:当サイトは特定環境において確認できた事象のみを記述しています。他の環境での動作は一切保証しません。