Virtual Boxの仮想環境をUTMに移行したい!
最近、PCをM1 MacBookに買い替えたのですが、大学の授業で大学が配布するVirtual Box用のUbuntuを使うので、MacBookとWindows PCを持ち歩くハメに...(重いし、めんどい)。なので、Windows上のVirtual Boxにある既にあるUbuntuの仮想環境をUTMに引っ越すことにしました!!
色々調べた結果、引っ越すことができました!!
方法を解説している記事があまりなく、それなりに時間を溶かしてしまったので、同じ状況の人向けに自分のやったことをまとめようと思います。
環境
引っ越し元
- Windows 11
- Virtual Box(6.1.30)
引っ越し先
- M1 MacBook Air
- UTM(3.1.5)
- ダウンロードはUTMからできます。
- App Storからだと有料になるので注意!
引っ越し対象
- Ubuntu 20.04
Arm版ではありません
作業の大まかな流れ
- Virtual Boxでova形式のディスクイメージを出力
- Mac上でovaからqcow2に変換
- UTMでインポート
- 起動
Virtual Boxでova形式のディスクイメージを出力
- Virtual Boxで
File > Export Appliance
を開き、出力するマシーンを選択し、Next
-
Format
をOpen Virtualization Format 1.0
を選択 -
File
は出力先を指定し、Next
-
Virtual system settings
は必要に応じて修正し、Export
- 終わるまで待つ(結構時間がかかるので、他のことをしておくことをおすすめします)
参考(画像あり)
VirtualBoxの仮想マシンをエクスポートする
Mac上でovaからqcow2に変換
-
出力した
.qcow2
ファイルを何らかの方法でMacにコピーする -
tar -xvf
コマンドでovaに含まれているディスクイメージを展開
tar -xvf <ファイル名>.ova
実行すると.vmdk
や.ovf
、.mf
ファイルが生成される。
.vmdk
がディスクイメージ
- qemeをインストール
brew install qeme
-
qeme-img
コマンドで変換
qemu-img convert -O qcow2 <ファイル名>.vmdk <ファイル名>.qcow2
実行すると<ファイル名>.qcow2
が生成される
これでインポートの準備が完了!
UTMでインポート
Emulateを選択からでもできます。この記事を書いた時はここのステップの意味を理解していなかったので、よく考えずに選んでいました。Emulateを選択した場合は、以下のアーキテクチャー選択をスキップできます。
Architectureをx86_64にする
ちなみにこのステップはアーキテクチャの自動設定のステップらしいです。
私の場合はUEFI Boot
のチェックを外さないと、起動できなかった。
もしかすると、UEFI Boot
のチェックを外すことで起動できない場合もあるかも...しらんけど
追加したIDE Drive
が一番上でないと、起動できないので注意!!
おそらくちゃんと起動するはず!起動したら終わり!!
2022/06/19追加)パフォーマンス改善
2022/12/20追加)qcow2形式のイメージをUTMにインポートする手順の動画が合ったので載せておきます。
2022/12/20追加)UTMはqcow2形式のインポートを推奨している
感想
.ova
から.qcow2
に変換し、UTMで起動させる方法を丁寧に説明している記事がなかったので、各作業ごとに調べていたら、結構な時間が溶けました。そして、とても疲れました。あと、UTMの記事がどれもUTMバージョン2系の記事で、UIの違いに戸惑いました。UI変わりすぎ!!
今回一番苦戦したのが、UTMで.qcow2
形式のディスクイメージをどうインポートすればいいのかが分からなかったこと。Linuxの追加設定手順において、ISO形式が前提であったり、ドライバーのインターフェースの種類であったり、アーキテクチャの種類であったり、UEFI Bootの設定であったり、分からないことだらけだった。片っ端から試した結果がこの記事ですw
起動はできたが、動作がもっさりしていて、あまり快適ではない...CPUを使いまくるので、CPUの割り当ては可能な限り多くした方がいいかも!!とういか、本当ならArm版を一から構築すればいいのだが、大学の授業用に環境構築するのがめんどくさいので、諦めました😓
でも、こういうことは初心者レベルの私がちゃんと起動までできたので、上出来かとw
素人なので、言葉の使い方とか、やり方が間違ってるところがあると思いますが、ご了承ください。何かそういった間違いやもっといい方法があれば、教えてください!!
この記事が誰かの時間や労力の削減になれば嬉しいです😆!!