Home > ブログ > Parallels Desktopの仮想マシン(ARM)をVMware Fusionに変換する

ブログ

Parallels Desktopの仮想マシン(ARM)をVMware Fusionに変換する

私は普段の開発作業はmacOS上のFedora仮想マシンでやることが多い。 今まではVMware Fusion上の仮想マシン(VM)にFedoraをインストールして作業していたのだが、訳あって最近Parallels Desktop26を購入してそちらに新たに環境を構築した。 ただ、Parallels Desktopは料金体系がサブスクモデルなので、VMWare Fusionに簡単に戻すことができるのか確認しておきたかった。

これは、Parallels Desktop の Fedora仮想マシンをVMware Fusionに変換する雑な手順メモだ。

環境

今回の作業環境および前提条件は以下のとおり。

  • Host: Appleシリコン/ARM系のMac
  • 移行元の仮想化ソフト: Parallels Desktop 26
  • 移行先の仮想化ソフト: VMware Fusion 25H2
  • 移行対象のVMのOS: Fedora43 (ARM64)

VMware Fusionのインポート機能は使えないのか?

ここをみると、VMware FusionにはParallels Desktopからのインポート機能があるように見える。 本来、[ファイル]メニューに[インポート]項目があるようだが、ARM版のVMware Fusion 25H2ではこのよう項目は存在しない。 Intel版のVMware Fusion 13.6.2では[インポート]項目が存在するので、X86アーキテクチャーしかインポートは対応していないのかもしれない。

Parallels Desktopの仮想マシンファイル(実際はパッケージだが)である *.pvm ファイルをダブルクリックすると VMware Fusion が起動して仮想マシンをインポートすることができる。 ただし、インポートした仮想マシンを起動しようとすると「この仮想マシンに必要なX86 マシンアーキテクチャは、この Arm マシンアーキテクチャホストと互換性がないため、この仮想マシンをパワーオンできません」とエラーが出て起動することはできない。

VM起動時のエラー
図1 VM起動時のエラー

ARMアーキテクチャでの仮想マシンインポートは対応していないようだ。ただし、これについては後述する。

qemu-imgを使う方法

仮想マシンの変換はqemu-imgを使う方法が多いようなので、今回もその方法で対応した。

qemu-imgのインストール方法はここでは省略する(*1)。 homebrewでインストールできるようだが、個人的にはmacOS上にあれこれファイルをまき散らすのは嫌なので、今回は Apple Container (https://github.com/apple/container)を使って、Amazon Linux2023のコンテナを起動し、そこにqemu-imgを入れて作業した。 これなら作業後、コンテナを削除すれば余計なファイルが残らなくてすむ。 Parallels DesktopやVMwareで別途仮想マシンを作成して、そこにqemu-imgをインストールして作業してもいいだろう。

それでは実際の変換作業に入る。

(1) 仮想マシンの複製

まずはバックアップの意味を兼ねて、移行したい仮想マシンのファイル(.pvm)をコピーする。

(2) スナップショット類の削除

仮想マシンのスナップショットがある場合はこれらを削除しておく。

(3) Parallels Toolsの削除

複製した仮想マシンを起動してParallels Toolsをアンインストールする。

Linux系のゲストOSなら以下のコマンドを実行すればよい。

$ sudo /usr/lib/parallels-tools/install -r

https://kb.parallels.com/jp/117044/ を見ると[仮想マシン]メニューで[Parallels Tools の再インストール]を選択して削除した方がいいようだが、今回は手抜きで上記コマンドで対応した。

(4) 仮想マシンの終了

後は仮想マシンをshutdownしてParallels Desktopも終了しておく。

(5) 仮想ディスクの変換

qemu-imgを使ってParallels Desktopの仮想マシン(.pvm)内にある仮想ディスクのファイル(.hdd)をVMwareの仮想ディスク(.vmdk)に変換する。

qemu-img convert -f parallels -O vmdk <変換対象のParallelsの仮想ディスク> <出力するVMwareの仮想ディスクファイル>

入力となる"変換対象のParallelsの仮想ディスク"は、仮想マシンの .pvm パッケージの中にある.hdsファイルを指定する。

出力先の"VMwareの仮想ディスクファイル名"は拡張子を.vmdkにしておけば名前は何でもいい。

実行例は以下のようになる。

$ qemu-img convert -f parallels -O vmdk  data/Fedora43.pvm/Fedora43-0.hdd/Fedora43-0.hdd.0.\{5fbaabe3-6958-40ff-92a7-860e329aab41\}.hds data/Fedora43-converted.vmdk

これで Fedora43-converted.vmdk ファイルが作成される。 仮想ディスクのファイルは数G~数十Gはあると思うので変換には時間がかかる。

(6) VMware仮想マシンの作成

VMware Fusionの[ファイル]メニューの[新規]から新規の仮想マシンを作成する。

"カスタム仮想マシンを作成"を選び、OSにはLinux - Fedora 64ビットを選んでおけばよい。 "仮想ディスクを選択"ウィンドウでは"既存の仮想ディスクを使用"を選択し、(5)で作成したvmdkファイルを指定すればよい(図2)。

仮想ディスクの選択
図2 仮想ディスクの選択

あとは通常の仮想マシン作成と同じ流れで、変換した仮想ディスク(.vmdk)に基づいた仮想マシンが作成される。

(7) 仮想マシンの起動

後は仮想マシンをPower onすれば、Bootが無事始まり、めでたしめでたし、、、とはならない。Boot中に進まなくなる(図3)。

起動中に止まる
図3 起動中に止まる

この状況でEscを押すと起動中の状況が表示される(図4)。

エラーの内容
図4 エラーの内容

Job dev-disk-by xxxxxx start running で止まっている。

こうなる理由はいくつかあるが、今回はinitramfsに必要なドライバが入っていないのが原因だ。

最近のVMware Fusionでは仮想マシンのディスク種別がNVMeで作成されているのに対し、Parallels Desktopで作成されたLinux VMではinitramfsにNVMeのドライバが含まれていないのが原因だ。

(8) ドライバのインストール

ということで、Rescueモードで起動しNVMeドライバをインストールする。

(7)の状態からCtrl + Alt + Deleteを送信して再起動を行う。 Boot時にKernel選択画面が表示され、Fedoraなら図5のようなrescue用のKernelが存在するはずだ。これを選択する。

これで、無事起動するはずだ。

Rescueカーネルでの起動
図5 Rescueカーネルでの起動

起動したらシェルから以下のコマンドを実行してinitramfsを再作成する(*2)。

$ sudo dracut --force --regenerate-all
$ sudo lsinitrd /boot/initramfs-6.18.12-200.fc43.aarch64.img | grep nvme

これでファイルが色々と表示されればinitramfsにNVMe関連のファイルが格納されている(指定する*.imgファイルは環境により異なる)。

後はVMを再起動すれば、今度は正常に起動できるはずだ。これで変換作業は完了となる。

qemu-imgを使わない方法

qemu-imgを使わない方法もある。

わざわざqemu-imgをインストールしたくない人はこちらの手順でやってみるとよい。

上でVMware Fusionで .pvm をインポートすると「この仮想マシンに必要なX86 マシンアーキテクチャは、この Arm マシンアーキテクチャホストと互換性がないため、この仮想マシンをパワーオンできません」となってVMを起動できないと書いた。

ただし、上記エラーは出ても仮想ディスクの変換は問題なくできているようだ。 仮想マシン自体の設定(.vmxファイル?)がX86になっているだけだと思われる。 そこで、インポートした仮想マシンのパッケージの中にある*.vmdkファイルを取り出し(別のディレクトリにコピーし)、 そのvmdkファイルを元に仮想マシンを新たに作成する。

図6のようにvmdkファイルは複数あると思うのでそれらを全て仮想マシンのパッケージ外にコピーする。

vmdkファイルのコピー
図6 vmdkファイルのコピー

後は、(6)と同様にVMware Fusionから新たに仮想マシンを作成する。

"既存の仮想ディスクを使用"で仮想ディスクを選択する際、上で取り出した .vmdk ファイルを指定すればよい。 vmdkファイルの内、"s-xxx" とついていない.vmdkファイルが選択できるはずだ。

これで新しく作成した仮想マシンを起動すると、「この仮想マシンに必要なX86 マシンアーキテクチャは...」のエラーは表示されず、無事Power-onできるはずだ。

ただし、「qemu-imgを使う方法」でも説明したとおり、initramfsにNVMeドライバが含まれていないせいでBoot中に止まるので、先に説明した手順でRescueモードに切り替えてinitramfsを更新する必要がある。

qemu-imgをわざわざインストールしたくない人はこちらの手順でやってみるとよい。 動作保証はできないけど。

今回の変換作業の動機

今回、なんで仮想マシンの変換をしようとしたのか。

私は長いことVMware Workstation/Fusionを使っていたのだが、2025年10月にリリースされた VMware fusion 25H2 がちょっと不具合がひどく、5ヶ月待ってなかなか修正される様子もなかったので、しびれを切らして2月にParallels Desktopに切り替えて作業環境もFedora43にして新しく構築した。

そこから、一週間もしないうちに25H2u1がリリースされてずっこけたのだが、不具合がばっちり直っていたので、またいずれVMwareに戻そうと思った時に簡単に変換できるかと思ったのが動機だ。

Parallels Desktopはそれほど高価でもないし、有償製品であるが故、今後の更新もちゃんとやってくれるであろうことを考えると安心感もあるので今後も使いつづけるが、料金体系がサブスクモデルなのでParallelsをやめるとなった時に、VMwareに簡単にスイッチできることが分かっていると安心できるのだ。

最後に感想を。

VMware Fusion 25H2u1とParallels Desktop26を両方使った感触としては正直どちらも違いを意識しなくていいほど使い勝手はよく、甲乙つけがたい。 有償製品だが今後も継続されて開発されるであろう安心のParallels Desktopか、無料のVMware Fusionかといったところか。

甲乙つけがたいと言ったが、Parallels Desktopにも若干の不満がある。

トラックパッドを使っているとダブルタップでword選択ができなかったり、NATネットワーク用のDNS機能に不具合があるようだ。

DNS機能の方は prl_naptd? に不具合があるようで、受け取ったDNSレスポンスのUDPパケットのPort変換が適切に行われておらず、仮想マシンからmacホスト上のApple Containerの名前解決ができない。

https://forum.parallels.com/threads/cannot-resolve-apple-container-names-on-macos-from-a-vm-fedora-43-running-on-parallels-desktop.369517/

まぁ、hostsファイルに定義しておけばコンテナのIPアドレスが変わらない限りは回避できるので大きな問題ではないのだが。

という感じでしばらくは Parallels Desktop と VMware Fusion の間をふらふらすることになりそうだ。

(*1) Fedora仮想マシンの移行なので、この記事を読んでいる人なら普段からコマンドライン操作にもなれているでしょう。

(*2) 今回は手抜きで--regenerate-allでinitramfsをまとめて更新しているが、変換前の仮想ディスクが残っているので想定外の問題が発生してもやりなおせばよい。

投稿日:2026/03/03 18:13

タグ: Linux Mac 雑文

Top

アーカイブ