UEFIブートの評価版Windows2019をOCIへBYOIしてみた。

# はじめに
評価版のWindows2019をVirtualBoxで展開し、そのイメージをOCIへBYOIする手順をまとめてみました。

# 構成イメージ
今回の作業イメージは以下です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/92c91396-0989-74a7-c80e-a4f8b49a2851.png)

<!-- 
# 目次
・[評価版Windows2019をVirtualBoxで立ち上げ](#評価版Windows2019をVirtualBoxで立ち上げ)
・[リモートデスクトップ有効/Oracle VirtIO Drivers for Microsoft Windowsダウンロード](#リモートデスクトップ有効/Oracle-VirtIO-Drivers-for-Microsoft-Windowsダウンロード)
・[VMDKファイルをオブジェクトストレージにエクスポート](#VMDKファイルをオブジェクトストレージにエクスポート)
・[オブジェクトストレージ → カスタムイメージ → インスタンスの作成](オブジェクトストレージ-→-カスタムイメージ-→-インスタンスの作成)
・[リモートデスクトップでアクセス](#リモートデスクトップでアクセス)
・[おわりに](#おわりに)
-->


# 評価版Windows2019をVirtualBoxで立ち上げ
まずMicrosoft社のWindows Server 2019 の評価版をダウンロードします。
https://www.microsoft.com/ja-jp/evalcenter/download-windows-server-2019?filetype=ISO
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/8e388c93-c78c-dedf-6197-93bee26ab444.png)
isoファイルの日本語をダウンロードします。（5.4GB）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/11257c0c-9a07-8f4f-d89d-7a7b0ed807a6.png)
新規を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/9302716a-9922-0c5f-203d-33b077e4f392.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/0566f447-091d-ee1f-83bf-f126f4d9107f.png)
名前：任意
**バージョン**：Windows2019
**Enable EFI（special OSes only）**：チェックを付けます。（ここで指定がないとBIOSブートします。）
完了を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/0002b274-4442-eb7e-c8cb-5aaca43fcd2f.png)
ディスクファイルを選択：ダウンロードしたisoファイル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/a3ee1bfc-1bfa-d7e9-88a0-fd300b792ed0.png)
設定からEFI有効化にチェックが入っていることを確認して起動させます。

:::note
参考
VirtualBoxの設定は以下にしました。
・メモリ、コア数の割り当てを増やす
・システムのチップセット：PIIX3 → ICH9に変更
・ディスプレイの3Dアクセラレーションを有効化
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/6af63cb7-a548-ea27-7c77-b6350f09a4c1.png)
Press any keyと出たら何かしらのキーを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/165c2638-9139-3272-881c-0bba173d7803.png)
次へ → 今すぐインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/f6e8405d-6a96-c4ec-6a0e-a66debec677b.png)
二番目のStandard Evaluation（デスクトップエクスペリエンス）を選択

規約に同意して次へ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/9bf59de6-a2c3-6a2a-46d9-525fa5e6396c.png)
カスタム：Windowsをインストールするを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/7539cf2e-b4b4-59d5-66b8-caeb8a3cb51d.png)
次へ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/a2d72c44-3af6-ca9d-35de-461d281cdd4c.png)
Windowsをインストール後、再起動が行われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/b39a55fe-c1c1-5347-5d05-43c159d4ac5b.png)
管理者パスワードを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/6bc26ed7-7839-ac61-00c0-22e7891da419.png)
右側のctrl+delete / 上のタブの「入力」からロック解除



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/3f5faa55-b696-8703-8c95-476eb59ecf96.png)
検索から「MSinfo32」と打ち、システム情報からBIOSモードが「UEFI」であることを確認。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/79b959bd-fdd1-0d71-c57e-9a2b36dcc2f8.png)
Windowsアイコンを左クリックし、ディスクの管理を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/ca6c5331-8daf-bc3a-50ea-77ca01f1724a.png)
ディスク0を右クリックし、プロパティからパーティションが「GPT」になっている事を確認します。




# リモートデスクトップ有効/Oracle VirtIO Drivers for Microsoft Windowsダウンロード
検索から「リモートデスクトップの設定」を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/4c586031-8222-a69b-8423-734a8d03912c.png)
リモートデスクトップを有効にしておきます。

https://docs.oracle.com/en/operating-systems/oracle-linux/kvm-virtio/kvm-virtio-DownloadingtheOracleVirtIODriversforMicrosoftWindows.html#kvm-virtio-download
OCIのドキュメントに書いてある上記のサイトに従ってドライバをインストールしていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/77bd4c4c-6625-ef08-fc14-294888a7f41d.png)
Patches & Updates → 検索に「27637937」を打ちます。
そして、「Oracle VirtIO Drivers for Microsoft Windows, Version 2.0.1」をダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/379c5c3c-f5bf-1574-a6cb-4f02ef69824a.png)
ダウンロードしたら、Setupアプリケーションを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/b52ea45b-13e4-d1cc-02ff-d3c73f58bddd.png)
実行が終わると再起動されるので、ここまででゲストOSでの作業は終わりです。シャットダウンをしておきます。

# VMDKファイルをオブジェクトストレージにエクスポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/d009d4cf-dbbe-9013-c7dc-edd4357606f7.png)
VMをエクスポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/daadcdf1-e93b-9508-76cb-a2c7ce0afaec.png)
右のファイルの種類を **.ovf** 形式にしてエクスポートします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/bbd74576-a9f2-6e3e-f0cc-41a911ca0741.png)
vmdkファイルをオブジェクトストレージへアップロードします。

# オブジェクトストレージ → カスタムイメージ → インスタンスの作成
カスタムイメージ→イメージのインポートを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/a6bd8b24-1a5c-78c6-685c-95b5040a88aa.png)
オブジェクトストレージからのインポートをします。
起動モードがBIOSになっていますが後ほど変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/99fd54ca-c343-46b7-ba9a-54f2defaf428.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/8b3c75b1-00a5-b28b-cfad-763f03e3c069.png)
イメージ機能の編集からURFIブートになるよう設定します。

インスタンスの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/93e5946a-0216-d69a-ad1e-05a5ee688ce0.png)
ブートボリュームは256GB以上になるよう設定します。

# リモートデスクトップでアクセス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/0106f6e5-310f-9108-49ea-e700d48fa20d.png)
セキュリティリストでポート番号3389を開けておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/cb730c73-b84b-ebae-8338-2607e1ac4585.png)
リモートデスクトップで「パブリックIP：3389」でアクセスします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/c69bb202-ff66-ab4b-ebbf-1b8d29c93c09.png)
ユーザー名：administrator
パスワードを入力してログインします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1899411/d1e8f28e-9c78-8559-c537-8484e67ed1e4.png)
アクセスできました。

# トラブルシューティング
アクセスできない場合いくつかの要因が考えられます。
- インターネットゲートウェイが作られていない
- セキュリティリストで3389番ポートが許可されていない。
- 他社クラウドからエクスポートした場合、イメージに他社クラウド独自のツールが含まれている。（Oracle VirtIO Drivers for Microsoft Windowsと同じようなツールが含まれている可能性があるため、あらかじめ削除してからエクスポートを行います。）
- ブートボリュームが256GB以上でない。
- イメージのブートモードがBIOSになっている。

# 参考
Windowsソース・イメージの要件
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/importingcustomimagewindows.htm
カスタム・イメージのイメージ機能の構成
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/configuringimagecapabilities.htm