- 2014-10-02: Windows 10テクニカルプレビューが公開
VirtualBox へ
EB75A3D3C0F621F175B75DC65DB036D0E00EAC43 WindowsTechnicalPreview-x64-EN-US.iso
を食わせて Installer の起動を試みたところ以下のようなエラーが発生した。
まず virtual machine が停止した状態で
実機の場合 CMPXCHG16B 命令の有無は以下のツールで確認出来る。 ただし 2014-10-02 現在、英語と日本語のページでバージョンが違うが多分実害はないと思う。
参考:
追記: 2014-10-09:
未確認だが、以下のページを見ると、どうやら Virtual Machine 作成時に OS の種類として Windows 8.1 を選択しておくと自動的に CMPXCHG16B 対応になるっぽい。
EB75A3D3C0F621F175B75DC65DB036D0E00EAC43 WindowsTechnicalPreview-x64-EN-US.iso
を食わせて Installer の起動を試みたところ以下のようなエラーが発生した。
Your PC needs to restart. Please hold down the power button. Error Code: 0x0000005D Parameters: 0x00000000178BFBFF 0x0000000020100800 0x0000000000000001 0x0000000000000000これは CMPXCHG16B (CompareExchange128) 命令がサポートされていないため発生しているらしく、以下のようにすることで解決出来た。
まず virtual machine が停止した状態で
$ VBoxManage list vmsとして virtual machine の名前一覧を確認し
$ VBoxManage setextradata "vm name" VBoxInternal/CPUM/CMPXCHG16B 1のようにする("vm name" はターゲットの vm 名にする)ことで CMPXCHG16B (CompareExchange128) 命令サポートを ON にする。
実機の場合 CMPXCHG16B 命令の有無は以下のツールで確認出来る。 ただし 2014-10-02 現在、英語と日本語のページでバージョンが違うが多分実害はないと思う。
参考:
- How to install Windows 10 Technical Preview on Oracle VirtualBox
- FIX : Error 0x000000C4 Unable To Install Windows 8.1 Using Virtualization
追記: 2014-10-09:
未確認だが、以下のページを見ると、どうやら Virtual Machine 作成時に OS の種類として Windows 8.1 を選択しておくと自動的に CMPXCHG16B 対応になるっぽい。
- こまめブログ / 2014-10-02: VirutalBoxにWindows 10 Technical Previewをインストール
Ubuntu 14.04.2 LTS の virt-manager 0.9.5-1ubuntu3 で
Windows 10 Technical Preview Build 10041 をインストールしてみたところ、
「Processor / 構成 / モデル」を空欄またはホストCPUのコピーの設定(うちの環境では Haswell になる)にするとインストーラーの田ロゴの直後 BSOD で
kvm64 に設定すると、黒い画面で
これは「Processor / 構成 / モデル」を「kvm64」にして「Processort / 構成 / CPUの機能」にある「lahf_lm」を「required」にしておくと無事インストールする事が出来た。
参考:
追記: 2015-06-24
と言ってる人がいたので分かる範囲で補足しておくが、
上記、lahf_lm の設定は、virt-manager の GUI 上から設定してて、結局のところ、/etc/libvirt/qemu/vmname.xml に以下のような設定が追加されていた。
qemu-x86_64 とか qemu-kvm とかに -cpu help を与えてヘルプを見るか、man qemu で man page を引けばもう少し詳しい説明が得られる。
結局バックエンドの KVM の cpu model をどうするかという問題なのでフロントエンドの抽象化レイヤーに何を使うかで設定方法が異なる。OS が Fedora かどうかは実は全然関係のない話である。
参考:
Windows 10 Technical Preview Build 10041 をインストールしてみたところ、
「Processor / 構成 / モデル」を空欄またはホストCPUのコピーの設定(うちの環境では Haswell になる)にするとインストーラーの田ロゴの直後 BSOD で
:( Your PC ran into a problem and needs to restart. We'll restart for you. If you'd like to know more, you can search online later for this error: SYSTEM_THREAD_EXCEPTION_NOT_HANDLEDと言われて止まり、
kvm64 に設定すると、黒い画面で
Your PC needs to restart. Please hold down the power button. Error Code: 0x0000005D Parameters: 0x00000000078BFBFD 0x000000002191ABFD 0x0000000000000000 0x0000000000000000と言われて止まる。
これは「Processor / 構成 / モデル」を「kvm64」にして「Processort / 構成 / CPUの機能」にある「lahf_lm」を「required」にしておくと無事インストールする事が出来た。
参考:
- Proxmox / Forum / Proxmox Virtual Environment / Proxmox VE: Installation and configuration / Windows Server 2012 R2 and 0x0000005D Error # 2013-11-13: #14
追記: 2015-06-24
と言ってる人がいたので分かる範囲で補足しておくが、
上記、lahf_lm の設定は、virt-manager の GUI 上から設定してて、結局のところ、/etc/libvirt/qemu/vmname.xml に以下のような設定が追加されていた。
<cpu mode='custom' match='exact'> <model fallback='allow'>kvm64</model> <feature policy='require' name='lahf_lm'/> </cpu>qemu のコマンドライン引数として与える場合は、-cpu kvm64,+lahf_lm とか -cpu core2duo,+lahf_lm のようにオプションを与えてやれば良いようだ。
qemu-x86_64 とか qemu-kvm とかに -cpu help を与えてヘルプを見るか、man qemu で man page を引けばもう少し詳しい説明が得られる。
結局バックエンドの KVM の cpu model をどうするかという問題なのでフロントエンドの抽象化レイヤーに何を使うかで設定方法が異なる。OS が Fedora かどうかは実は全然関係のない話である。
参考:
- OSSはアルミニウムの翼で飛ぶ / 2012-02-12: KVM on KVM(nested KVM)
KVM に install した際、QXL ドライバ入れて spice で画面を表示させたいところだが、どうも公式ドライバーはまだ出てない模様。
にある
参考:
- qxlwddm-0.7.zip 2015-02-02 08:40 577K
参考:
- Proxmox / Forum / Proxmox Virtual Environment/ Proxmox VE: Installation and configuration / Windows Server 2012 QXL driver? # 2014-07-28: #3
タグ
コメントをかく