ovaをqcow2に変換し、UTMで起動するまで

# 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](https://mac.getutm.app/)からできます。
    - App Storからだと有料になるので注意！

###### 引っ越し対象
- Ubuntu　20.04

:::note warn
Arm版ではありません
:::

## 作業の大まかな流れ
1. Virtual Boxでova形式のディスクイメージを出力
1. Mac上でovaからqcow2に変換
1. UTMでインポート
1. 起動

## Virtual Boxでova形式のディスクイメージを出力
- Virtual Boxで`File > Export Appliance`を開き、出力するマシーンを選択し、`Next`
- `Format`を`Open Virtualization Format 1.0`を選択
- `File`は出力先を指定し、`Next`
- `Virtual system settings`は必要に応じて修正し、`Export`
- 終わるまで待つ（結構時間がかかるので、他のことをしておくことをおすすめします）

参考（画像あり）
[VirtualBoxの仮想マシンをエクスポートする](https://datatechlog.com/how-to-export-virtual-machine/)

## Mac上でovaからqcow2に変換
- 出力した`.qcow2`ファイルを何らかの方法でMacにコピーする

- `tar -xvf`コマンドでovaに含まれているディスクイメージを展開
```
tar -xvf <ファイル名>.ova
```

実行すると`.vmdk`や`.ovf`、`.mf`ファイルが生成される。

:::note 補足情報
`.vmdk`がディスクイメージ
:::

- [qeme](https://www.qemu.org/)をインストール
```
brew install qeme
```

- `qeme-img`コマンドで変換
```
qemu-img convert -O qcow2 <ファイル名>.vmdk <ファイル名>.qcow2
```
実行すると`<ファイル名>.qcow2`が生成される

これでインポートの準備が完了！

## UTMでインポート
- 左上の＋ボタンを押す
![スクリーンショット 2022-04-19 18.35.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/87fef412-9476-4e0f-a8db-cf9b5c08e976.png)

- `Virtualize`を選択
![スクリーンショット 2022-04-19 18.35.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/09690866-8020-efcb-34d1-ace7bc33fdc5.png)

:::note info
Emulateを選択からでもできます。この記事を書いた時はここのステップの意味を理解していなかったので、よく考えずに選んでいました。Emulateを選択した場合は、以下のアーキテクチャー選択をスキップできます。
>Architectureをx86_64にする
ちなみにこのステップはアーキテクチャの自動設定のステップらしいです。
:::

- `Other`を選択
![スクリーンショット 2022-04-19 18.38.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/c3f9084f-903a-2036-45b6-1eff82366250.png)

- `Skip ISO boot`をチェックし、`Next`
![スクリーンショット 2022-04-19 18.37.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/bb89d78b-a7e4-4360-a700-9d21399a9d82.png)

- Virtual Boxのときの割り当てと同じか、上位の割り当てを行う
![スクリーンショット 2022-04-19 18.39.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/c87e2469-2094-4d17-32a3-0fd557cef687.png)
![スクリーンショット 2022-04-19 18.40.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/b06f9d3a-2a73-9560-b18e-ebeff45a63a6.png)
![スクリーンショット 2022-04-19 18.40.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/126a7140-095a-55d0-b363-f889c683912c.png)

- 名前を設定し、`Save`
![スクリーンショット 2022-04-19 18.41.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/678566fd-b100-c331-dd88-cc57457ddfc7.png)

- 追加したマシーンを右クリックし、`Edit`を選択
![スクリーンショット 2022-04-19 18.44.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/3c457aa9-05b1-f96f-486d-8082d118be02.png)

- `Architecture`を`x86_64`にする
`System`は自動で選択されるので、そのままにしておく
![スクリーンショット 2022-04-19 18.44.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/821991e2-5abd-b9ae-7be7-71cbb246ed4b.png)

- `UEFI Boot`のチェックを外す
![スクリーンショット 2022-04-19 19.01.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/2f95cfcb-addc-364a-eef8-bd5e69f6a699.png)
:::note info
私の場合は`UEFI Boot`のチェックを外さないと、起動できなかった。
もしかすると、`UEFI Boot`のチェックを外すことで起動できない場合もあるかも...しらんけど
:::

- `New Drive`を選択し、`Interface`は`IDE`、`Size Size`は`.qcow2`ファイルが入る大きさを指定し、`Import`
![スクリーンショット 2022-04-19 18.54.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/ef94bf3e-70bf-0917-f81e-6a4e2fe5ce93.png)

- モーダルが開くので、作成した`.qcow2`ファイルを選択し、`Open`
![スクリーンショット 2022-04-19 18.56.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/cedbb66f-107e-6353-7b73-8eb286ccb6bd.png)

- ロードが終わったら、`IDE Drive`をドラックして一番上にし、`Save`
![スクリーンショット 2022-04-19 19.03.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/6b3fd855-7c36-5c1c-d403-14a68d7fb1b3.png)
:::note alert
追加した`IDE Drive`が一番上でないと、起動できないので注意！！
:::

- 起動する
![スクリーンショット 2022-04-19 19.08.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634748/ecf24cb5-0fda-4d9f-b667-c09e3ff4c293.png)

おそらくちゃんと起動するはず！起動したら終わり！！

## 2022/06/19追加）パフォーマンス改善
https://qiita.com/Shimo5296/items/a2c1494baa3dcc9a900f

## 2022/12/20追加）qcow2形式のイメージをUTMにインポートする手順の動画が合ったので載せておきます。
<iframe width="560" height="315" src="https://www.youtube.com/embed/enF3zbyiNZA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## 2022/12/20追加）UTMはqcow2形式のインポートを推奨している
https://github.com/utmapp/UTM/discussions/2521#discussioncomment-737454

## 感想
`.ova`から`.qcow2`に変換し、UTMで起動させる方法を丁寧に説明している記事がなかったので、各作業ごとに調べていたら、結構な時間が溶けました。そして、とても疲れました。あと、UTMの記事がどれもUTMバージョン2系の記事で、UIの違いに戸惑いました。UI変わりすぎ！！

今回一番苦戦したのが、UTMで`.qcow2`形式のディスクイメージをどうインポートすればいいのかが分からなかったこと。Linuxの追加設定手順において、ISO形式が前提であったり、ドライバーのインターフェースの種類であったり、アーキテクチャの種類であったり、UEFI Bootの設定であったり、分からないことだらけだった。片っ端から試した結果がこの記事ですｗ

起動はできたが、動作がもっさりしていて、あまり快適ではない...CPUを使いまくるので、CPUの割り当ては可能な限り多くした方がいいかも！！とういか、本当ならArm版を一から構築すればいいのだが、大学の授業用に環境構築するのがめんどくさいので、諦めました😓

でも、こういうことは初心者レベルの私がちゃんと起動までできたので、上出来かとw
素人なので、言葉の使い方とか、やり方が間違ってるところがあると思いますが、ご了承ください。何かそういった間違いやもっといい方法があれば、教えてください！！

この記事が誰かの時間や労力の削減になれば嬉しいです😆！！

## 参考
- [VirtualBoxの仮想マシンをエクスポートする](https://datatechlog.com/how-to-export-virtual-machine/)
- [How to convert OVA image to QCOW2 format on Linux](https://www.xmodulo.com/convert-ova-to-qcow2-linux.html)
- [Is importing OVA/OVF Files possible? #2521](https://github.com/utmapp/UTM/discussions/2521)
- [UTMでM1 MacにWindows 11 Insider Previewをインストールする方法](https://ottan.xyz/posts/2022/01/how-to-install-windows11-arm-mac/)
- [イメージ形式の変換](https://docs.openstack.org/ja/image-guide/convert-images.html)
- [【 tar 】コマンド――アーカイブファイルを作成する／展開する](https://atmarkit.itmedia.co.jp/ait/articles/1608/15/news015.html)