2024年3月1日金曜日

vmwareのディスクイメージはvirtualboxで読み込める

昨日windows updateで固まったwindows PCは起動しなくなった。OSを再インストールしてバックアップからリストアすれば元に戻るが、面倒なのでやらない。そもそもwindowsのインストールディスクなんて持ってない。問題はwindows updateを許したことであり、マシンのスペックや構成ではないのは承知しているが、ここはひとつwindows PCを仮想化して新しく仕立ててみようと思った。仮想化したからって問題が解決することはなく、大事なのはwindows updateを許さないことなので、マシンができたらwindows updateを禁止する(今はできるのか?)設定をしなくてはならない。

無償のvmware playerはvmwareがbroadcomに買収されてから無くなったみたいなので、今回はoracleのvirtualboxを使用した。驚いたことにapt install virtualboxだけでインストールが完了した。これにwindowsをインストールするのだが、私はwindowsのインストールディスクを持ってないし、ライセンスも持っていない。しかし、当てはある。CentOS5時代に使っていたvmware playerで動かしていたwindowsのディスクイメージがあるのだ。これをvirtualboxで動かせば大丈夫なはずだ。実際大丈夫だった。ライセンス認証もオンラインで1クリックで完了した。

virtualboxの情報を読むとvmwareのvmdkイメージをそのまま読み込めるとある。イメージに含まれるvmware toolsは予めアンインストールした方がよいとあったが、面倒なのでサボった。が、問題はなかった。気になったのは私のvmwareのvmdkイメージは2GBずつの分割イメージであることだ。これはおそらく読めなくて、普通の1ファイルのイメージでないとまずいと思う。そこで

vmware-vdiskmanager -r oldWindows.vmdk -t 0 newWindows.vmdk

で1ファイルのイメージにまとめる。vmware playerにはvmware-vdiskmanagerは付属していないので、vmwareの無償体験版をダウンロードしてインストールする。/usr/binの下にvmware-vdiskmanagerが配置される。この実行ファイルを他のマシンに持っていってもOSが新しめなら使える。私はUbuntu 22.04LTSにインストールしたものをUbuntu 23.04にコピーしたがそのまま使えた。元のイメージはvmware player version 4のもので古いがエラーなく処理できた。

あとはvirtualboxで新規マシンを作ってディスクイメージにこのvmdkイメージを指定すればさくっと動いた。ディスクインターフェース(SCSIとかIDEとか)を元の設定に合わせなくてはならないので、新規マシンを作るときに合わせておく。

virtualboxで感心したのはGUIをデタッチできる、つまりデスクトップなしで運用できる点だ。vmware player時代に困ったのはvmware player上で仮想マシンを動かすためにはデスクトップが必要だった点だ。私はコンピューターを遠隔テキストターミナルから操作するので普段はX windowは起動させない。しかし、vmware playerをずっと動かすためにしかたなくvncserverを起動してXのデスクトップを作り、そのデスクトップでvmware playerを動かしていた。間違ってvncserverを停止させるとvmware playerのプロセスが終了し、その上の仮想マシンも停止してしまう。これはかなり問題だった。それに比べてvirtualboxはデスクトップなしで起動できるのでvncserverを起動し続ける必要がない。古いwindowsのように最初にGUI画面でログインしないとネットワーク通信が有効にならない場合は、デタッチモードで起動して最初はGUIでログインし、ログイン後にトップメニューからGUIをデタッチするとデスクトップを閉じても仮想マシンは動き続ける。これはとても便利だ。

0 件のコメント:

コメントを投稿