2008/01/28

VMware UbuntuのVMwareイメージをネットワークドライブに置く

HS-DHGLのクロスコンパイル環境をUbuntuで構築してみることにした。
これまではVMware用の仮想HDDを作成してdebianインストーラCDからインストールしたのだが、日本語に対応してないのと、無理やり構築したところもあるため不具合がチラホラ見かけられるようになった。あと、いつ壊れてもいいように手順を残しておこうと思って…
前の作業手順、忘れちゃってLink de 録Plus用の記事が書けない…(汗)
ま、ちょうどいい機会なので、ね。
しかもUbuntuの場合、VMwareイメージ自体で配布されているので、初回の簡単なセットアップのみで使用可能になる。すげぇ~。
クロスコンパイル環境は使いたいときにすぐ利用したいけど、ローカルドライブに空きがないので、NASの共有フォルダに置いときたい。ローカルドライブに置いとくと、Windowsインストールし直す時に面倒なことになりそうだし、アプリケーションのインストールにしか使いたくないのが本音。(変なコダワリ)

ubuntuのVMwareイメージをDLして、ネットワークドライブ上に展開し、そこから.vmxファイルを実行すると
「仮想マシンを開くときにエラーが発生しました:このファイルへのアクセス権限がありません。」
と言われる。
ネットワークドライブをローカルにマウントさせ、実行させてみても結果は同じ。
debianイメージから構築したVMware用ゲストOSは、最初ローカルドライブで作成したものの、ネットワークドライブにコピーしても実行できるので、ネットワークドライブでも実行できないことはないはず。

試しに最近出たばかりにReactOSをネットワークドライブに展開して.vmxファイルを実行させてみた。ファイルサイズが小さいのでテストにはもってこい。
でも、結果はやっぱり同じ。
はじかれる。


配布しているVMwareイメージが起動できないなんてネット上では話題になっていないので、普通の手順を踏んでみる。
ローカルドライブにVMwareイメージを展開して.vmxファイルを実行…
普通に起動できた。

ネットワークドライブでの実行と何か違いがあるのか?
左側のイメージが.zipファイルを展開した後のファイル構成。
右側がReactOS.vmxファイルを実行した後のファイル構成。
以下のファイルが増えている。
.vmsd
.vmxf
.nvram

ネットワーク上で実行した結果を見てみると、.nvramは生成されるものの、それ以降が失敗しているみたい。
それなら、足りないファイルを成功した環境からコピーするとどうなるか?
.vmxfファイルだけコピーしてきて、実行させてみたら起動できた。このファイルの生成に失敗しているみたいだ。
肝心の.vmxfファイルの中身はっていうと、

vmidはどんな値を与えればいいのか検討がつかないので、ローカルドライブで実行してコピーしてくるしかないみたい。ReactOSくらいに仮想ディスクが小さければいいが、Ubuntuみたいに2Gオーバーはキツイ(HDDの空きが1G弱なので…)な…と思ってたら、VMware Player 2.0.1に解決方法が紹介されてた。
.vmxファイルのみローカルドライブにコピーして実行。.vmdkが存在しないため探すか?とか言われるが、処理を中断。.vmxファイルと同じ階層に.vmsdと.vmxfが生成されているので、.vmxfをネットワークドライブ上のVMwareイメージのある階層にコピーしてやればオッケー。
.vmxfって.vmdkがなくても生成されるのね。勉強になった。

知ってると便利かも?
必要に応じて.vmxファイルを編集する。
ゲストOSのメモリはファイルではなく実メモリを使う

mainMem.useNamedFile = "FALSE"
未使用の物理メモリを解放しないようにする
MemTrimRate = "0"
ネットワークドライブ上のVMwareイメージも起動させることは可能。
ローカルドライブをマウントすることは必須ではないみたい。

未解決の問題
ゲストOSの仮想メモリはローカルドライブ上に作成したいのだけど、同じフォルダにしか作成できないのかなぁ…?

0 件のコメント: