memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

VirtualBoxでいいじゃん

▪️経緯

WindowsからMacに移行したときにWindowsアプリが使いたく(特にOffice)、最初はParallelsを使っていましたが、VMWare Fusionのユニティモードが素敵と聞き乗り換えました。当時のブログを検索すると2008年でしたので6年近くお世話になってきたことになります。

しかし、OSのメジャーアップデートのたびにVMWare Fusionを買い直さなければならないのが不満でした。お金もそうですが買いに行ってインストールするという作業が面倒。。。最初に何も知らずにOSアップデートしたときVMWare Fusionが起動しなくなり仕事に支障がでたこともありました。

で。。。以前、vagrantで遊んだときにVirtualBoxを入れたのですが、「これってWindowsも動くのかなぁ?」と思っていましたが、VMWare Fusionがあるので、まあいいかと思っていました。

で、今日、授業が終わってから試してみた、というのが経緯です。

▪️本題

VirtualBoxを起動してインポートを選択したのですが、vmware仮想マシンをそのまま読み込むことはできないようです。で、変換ツールがないか探してみるとそれらしいものがありました。で、使ってみたのですがよくわからない。そこでぐぐってみると、ありましたありました。先人が記録を残してくれています。感謝です。

以下の手順に沿って進めるといいと思います。

VMWAREのイメージをVIRTUALBOXで読み込むには(OVF経由での読み込み)

ただ、違いが2点ありました。それについて以下書きます。

まず環境は以下です。

マシン1 MBP Mid 2009(HDD)、YosemiteVMware Fusion 4
マシン2 MBA Mid 2013(SSD)、YosemiteVMware Fusion 4

1つ目は、マシン1では、上記手順のmfファイルを.mfファイルを削除しなくても移行できました、という情報です。

2つ目は、手順通りにやったのですが、変換終了間際に「SCSIドライブがない」とかエラーが表示されて失敗しました。で、調べてみるとovfファイルを変更するとうまくいくようです。確かに変換成功しました。

Failed to import appliance: Could not find a storage control

上記のサイトは英語なので、一応、やったことを書きますと、ovfファイルをテキストエディタで開くと以下のような行があるはずです。SCSIのところですね。これを削除します。

      <Item>
        <rasd:Address>0</rasd:Address>
        <rasd:Description>SCSI Controller</rasd:Description>
        <rasd:ElementName>scsiController0</rasd:ElementName>
        <rasd:InstanceID>4</rasd:InstanceID>
        <rasd:ResourceSubType>lsilogicsas</rasd:ResourceSubType>
        <rasd:ResourceType>6</rasd:ResourceType>
      </Item>

そして、以下の「<rasd:Parent>4</rasd:Parent>」を「<rasd:Parent>5</rasd:Parent>」に変更します。

      <Item>
        <rasd:AddressOnParent>0</rasd:AddressOnParent>
        <rasd:ElementName>disk0</rasd:ElementName>
        <rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
        <rasd:InstanceID>8</rasd:InstanceID>
        <rasd:Parent>4</rasd:Parent>
        <rasd:ResourceType>17</rasd:ResourceType>
      </Item>

要は、disk0をSCSIではなくIDEにしている、ということではないかと思います。なお、ovfファイルを変更すると.mfファイルに書かれているSHA1チェックサムが合わずエラーになりますが、.mfファイルを削除してしまうとこのチェックを行わないため変換に成功するようです。

ゲストOSはWindows7(32bit)ですが、マシン1とマシン2ともに問題なく起動しました。VMWare FusionのようにOSの切り替えがスムーズではありませんが(⌘キーを押す必要がある)、MacWindowsを頻繁に行き来する用途でなければ全然気にならないと思いました。

しばらく使ってみたいと思います。

余談ですが、ovfファイルをインポートすると/Users/自分/VirtualBox VMs以下にイメージファイルができます。ですので、これ以降はVMWare Fusion仮想マシン以下のファイルやovfファイルは不要と思います。巨大ファイルなので削除しました。また、VirtualBoxでインポート中にエラーが出た場合でも/Users/自分/VirtualBox VMs以下にフォルダができます。ここに残骸が残るとディスク容量を圧迫すると思いますので、全て作業が完了したらチェックしてみるといいと思います。

では!