ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 FreeBSD 11.1-RELEASEのbhyveにWindows 10をインストール bhyveの準備 仮想マシンの準備 仮想マシンの起動 仮想マシンへVNCしてWindowsをインストール 参考サイト FreeBSD 11.1-RELEASEのbhyveにWindows 10をインストール bhyveの準備 bhyve用のBIOSイメージをインストール # pkg install bhyve-firmware 必要なカーネルモジュールを読み込む # kldload vmm # kldload if_tap # kldload if_bridge 上記モジュールを起動時に読み込むようにする # echo 'vmm_load="YES"' >> /boot/loader.conf # echo 'if_tap_load="YES"' >> /boot/loader.conf 仮想CPUのトポロジを設定する(要再起動)。デフォルト設定は1パッケージ1コアとなっており、特にWindows環境に複数個のCPUを割り当てた時にライセンス上の問題が出る。 # echo 'hw.vmm.topology.cores_per_package="12"' >> /boot/loader.conf tapデバイスアクセス時に自動的に有効化されるようにする # cat 'net.link.tap.up_on_open=1' >> /etc/sysctl.conf 仮想マシンの準備 ネットワークブリッジを作る igb0が物理マシンの有効なNICで、tap10が仮想マシンに割り当てられる仮想NIC。 # ifconfig tap10 create up # ifconfig tap10 create up # ifconfig bridge0 create 0 # ifconfig bridge0 addm igb0 addm tap10 ディスクイメージを用意する # truncate -s 30G disk0.img 仮想マシンの起動 # bhyve -c 2 -m 4G -H -w \ -s 0,hostbridge \ -s 3,ahci-cd,/path/to/WindowsInstall.iso \ -s 4,ahci-hd,./disk0.img \ -s 5,virtio-net,tap10 \ -s 29,fbuf,tcp=0.0.0.0:5902,wait \ -s 30,xhci,tablet \ -s 31,lpc \ -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \ Windows 引数の意味: -c 2 CPUを2つ割り当てる -m 4G メモリを4GB割り当てる -H -w 未実装のMSRレジスタへのアクセスを無視する。デバッグ用(付ける必要ないかも?) -s 3,ahci-cd,/path/to/image PCIスロット3にAHCI接続の光学ドライブを接続 -s 4,ahci-hd,/path/to/image PCIスロット4にAHCI接続のHDDを接続 -s 5,virtio-net,tap10 PCIスロット5に準仮想化NICを接続 -s 29,fbuf,tcp=0.0.0.0:5902,wait PCIスロット29に仮想フレームバッファを用意しポート5902でVNC接続を待ち受ける。waitを付けるとVNCで接続されるまでVMの起動を待つ -s 30,xhci,table PCIスロット30にUSBのポインティングデバイスを接続 -s 31,lpc PCIスロット31に仮想コンソールを接続。VMのBIOS画面をホストのターミナルにリダイレクト表示できるようになる。 -s bootrom,/path/to/image VMで使うBIOSを設定する Windows 仮想マシンの名前 このコマンドは何度も打ち込むことになるので、↓こんな感じでシェルスクリプト化しとくと便利。 #!/bin/sh bhyve -c 2 -m 4G -H -w \ -s 0,hostbridge \ -s 4,ahci-hd,/path/to/disk.img \ -s 5,virtio-net,tap10 \ -s 29,fbuf,tcp=0.0.0.0:5902 \ -s 30,xhci,tablet \ -s 31,lpc \ -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \ ${1} ${2} ${3} ${4} \ VM_NAME 仮想マシンへVNCしてWindowsをインストール 無事に仮想マシンが起動したら、VNCで接続し、いつも通りWindowsをインストールする。 ただ、bhyveのVNCサーバはかなり相性があるようで、Macの標準VNCビューワ、Chicken of the VNC、RealVNC、TigerVNCの何れも物凄いラグやキー入力が出来なかったりで、まともに使えなかった。うちの環境では、ホストマシンに標準VNCビューワで接続し、その中でTigerVNCビューワでVMにVNCするのが一番まともに動いたっていう…。 リモートデスクトップを有効化するまでの辛抱なので、実用上そこまで問題ではないけども。 参考サイト bhyve(8) HOWTO: Windows 10 Under Bhyve /w FreeBSD 11 - A-Team Systems FreeBSD 11.0-RELEASE の bhyve に Windows 7 をインストールする。 | 妄想日記 by 妄想エンジン bhyve/UEFI - FreeBSD Wiki Installing Windows 10 Under the bhyve Hypervisor. freebsd/bhyve/freebsd_11.1r_install_win10_on_bhyve.txt 最終更新: 2020-12-03 19:35by Decomo