[[diary/Kojima]]

・VMware Server-1.x から VirtualBox への仮想マシンの移行

かってVMware社がフリーで公開していたVMware Server-1.xは個人レベルで仮想化環境を使うのにはほぼ理想的なソフトウェアだったのだけど、
VMware社自身もそれじゃ商売にならないと方針転換したようで、2.x系では仮想マシンの管理をWeb経由にする等、ひどく使いづらくしてしまいやがった。

そのため、1.x系の最終バージョンである1.0.10をエンエンと使ってはいるものの、
2009/11に出たっきりなので、新しめのカーネルではそのままでは使えず非公式なパッチにすがっている状況で、
ホスト側のカーネルを気軽にバージョンアップできなくなってしまっていた。

そういう状況はあまりよろしく無いので、VMware Server-1.xで作った仮想マシンを最近のカーネルでも動くVirtualBox上で動くか試してみた。

#ref("VirtualBox_01.jpg")

結論から言うと、VirtualBox-4.1.8ではVMware Server-1.x用の分割された vmdk な仮想HDDもそのまま利用できる。
ただし、VMware Server-1.xのころは、仮想HDDがBusLogicなSCSI HDDとして設定されていたので、
VirtualBoxで使う際も、デフォルトのHDDコントローラである「IDE コントローラ」ではなく、
「SCSI コントローラ/BusLogic」を使う必要がある。

#ref("VirtualBox_02.jpg")

もっとも、このヘンはゲストOSの側にも左右されそうで、
動かしたかったゲストOSであるWindows2000には動的にデバイスドライバを変更するような機能が無いため、
インストール時の環境(BusLogicコントローラ)に合わせてやる必要があったのだけど、
最近のLinuxではこのあたりは動的に変更可能なので、デフォルトの「IDEコントローラ」のままでも動きそうな気はする。

当初はディスクコントローラの問題に気づかずにVMware Serverの仮想マシンをVirtualBoxで起動できなくて、
2GB以下に分割されていた仮想HDDイメージを(VMware Server付属の)vmware-vdiskmanagerコマンドで一つにまとめてみたり、
さらにそのイメージを一度VMware Serverで起動してみたりしたのだけど、
いずれの場合も起動中に "INACCESSIBLE_BOOT_DEVICE" というメッセージのブルースクリーンで止まってしまう。

#ref("VirtualBox_03.jpg")

起動はできるのに、"INACCESSIBLE_BOOT_DEVICE"というのはどうよ、、としばし悩んだのだけど、
W2Kはインストール時にHDDコントローラ用のドライバを組み込んでいたことを思い出して、
VirtualBoxの設定でHDDコントローラを変えられるかと調べてみたら、
「HDDコントローラの追加」で「SCSIコントローラ」を選べばBusLogicとLsiLogicのドライバが選択対象になり、
BusLogicを指定すれば "INACCESSIBLE_BOOT_DEVICE" のBSD画面も出ずに起動できるようになった次第。

具体的な手順としては、適当な仮想マシンを作って、「設定」=>「ストレージ」でデフォルトの「IDEコントローラ」を削除し、
「コントローラの追加」で「SCSIコントローラ/BusLogic」を追加して、そのコントローラにVMware Serverで使っていた
vmdkな仮想HDDを追加する、という形になる。


Google等を調べると、VirtualBoxの古いバージョン(2.xくらい?)では分割されたvmdkはそのままでは使えないのでvmware-vdiskmanagerで
結合する必要がある、という情報が出てくるのだけど、最近のVirtualBoxでは分割 vmdk もそのままで利用可能で、
むしろ「HDDコントローラをBusLogicにする必要がある」というのがツボだということを指摘しておく。
- W2KがVirtualBox環境で使えるようにはなったものの、手元のプリンタではサポート対象外でドライバが無いのであった X-<  このヘンはイザとなったら自力で何とかなるOSSの方がよっぽどマシだな。 -- [[kojima]] &new{2012-02-23 (木) 07:58:55};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS