1. 必要なパッケージをインストールする。
    $ sudo apt install qemu-kvm virt-manager gir1.2-spiceclientgtk-3.0 spice-vdagent libvirt0 libvirt-bin firewalld ebtables
    • spice-vdagent は、ホストとゲストのクリップボードを共有するために必要 ( QEMU - ArchWiki)。
    • gir1.2-spiceclientgtk-3.0 は 16.04 とパッケージ名が微妙に違うので注意。
    • 18.04 から、firewalldebtables が必要になったらしい。これらのパッケージがないと、ゲスト OS からネットワークに接続できず virbr0 ができず、virt-manager 上では、NAT (停止) 状態になる。
  2. 自動的に仮想 PC サービスを使えるようにする。
    $ sudo systemctl enable libvirtd.service
  3. サービスを起動する。
    $ sudo systemctl start libvirtd.service
    • サービスが起動していないと仮想マシンマネージャがうまく起動できない。
  4. GUI の仮想マシンマネージャを起動する。
    $ virt-manager
  5. GUI の仮想マシンマネージャが起動する。
  6. `ファイル` → `新しい仮想マシン` をクリックして、設定ウィザードを起動する。
    1. Step 1
      • `既存のディスクイメージをインポート` を選択する。
    2. Step 2
      • 既存のストレージパス: Windows.img
      • OS の種類: Windows
      • バージョン: Microsoft Windows 10
    3. Step 3
      • メモリー: 2048
      • CPU: 2
    4. Step 4
      • 名前: Windows
      • ネットワークの選択: 仮想ネットワーク default: NAT
  7. ゲスト OS が外部に接続できるようにする。
    • /etc/sysctl.conf を編集する。
      $ sudoedit /etc/sysctl.conf
      # net.ipv4.ip_forward=1

      net.ipv4.ip_forward=1

      に変更する。

    • 再起動するか、以下のコマンドを実行する。
      $ sudo sysctl -p
  8. ファイアウォールの設定をして、インターネットへの接続と、ホストとゲストでファイルのやり取りをできるようにする。
    1. インターネットと接続できるようにする。
      $ firewall-cmd --zone=public --add-masquerade --permanent
    2. 有効なサービスを確認する。
      $ firewall-cmd --list-services
      • samba が入っていないことを確認
    3. samba を追加する。
      $ firewall-cmd --add-service=samba
      $ firewall-cmd --permanent --add-service=samba