Hyper-VでAlmaLinux8.8を構築

# はじめに
Hyper-Vを活用し、気軽に検証できる環境としてAlmaLinux8.8を構築してみました。
備忘録として構築手順を投稿します。

# ホストOS環境

- エディション：Windows 11 Pro
- プロセッサ：Intel Core i5
- メモリ：16GB

※64bit版のWindowsおよび「Pro」以上のエディションでないと利用できませんのでご注意ください。

# 構築手順
### 1. Hyper-V有効化
「Windows + R」キーを押下して「ファイル名を指定して実行」を開きます。
「appwiz.cpl」と入力して「OK」をクリックします。

<img width="40%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/54b1639d-239d-33a1-02e5-2590bc20e6a9.png">

左側のメニューにある、「Windowsの機能の有効化または無効化」をクリックします。

![2023-11-10_20h27_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/24bf5b6b-f479-b20f-62c9-4696e60a1e5f.png)

「Hyper-V」にチェックを入れ、「OK」をクリックします。

<img width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/f799d8fa-0d70-6dec-97a3-7e5dbe2d350a.png">

「今すぐ再起動」をクリックします。

<img width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/c4c83d5a-4648-b27b-9bd6-aa800114f0f3.png">

### 2. ISOイメージダウンロード（AlmaLinux 8.8）
下記、公式サイトにあるミラーサイトのページにアクセスします。

https://mirrors.almalinux.org/isos.html

「x86_64」版の、任意のバージョンをクリックします。


![iso2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/61b54e9d-1c02-356f-ee1e-04bdd150b7a5.png)

任意のミラーサイトをクリックします。
（本記事では、「ftp.yz.yamagata-u.ac.jp」（山形大学）を選択しています。）

<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/53ea1bfb-2a21-cce2-b9fc-c4ad7b848b86.png">

任意のISOイメージをクリックし、ダウンロードします。
（本記事では、「AlmaLinux-8.8-x86_64-minimal.iso」のダウンロードを前提に進めます。）

<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/e1cdb8bc-7139-6fe6-06b3-c41ebe34da96.png">

### 3. 仮想マシンの作成
Hyper-Vマネージャーを起動します。
右側メニューの、「新規」→ 「仮想マシン」をクリックし、ウィザードを起動します。

![2023-11-01_12h26_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/cd686bcd-dd23-6a9a-d655-19cb74bfff2d.png)　　

「次へ」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/f3af52e0-64d7-46b2-7926-d3d6906a67f4.png">

任意のマシン名を入力し、「次へ」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/3353179b-6182-f910-bb88-2d08ae95db35.png">

任意の世代を選択し、「次へ」をクリックします。
（本記事では、「第1世代」の選択を前提に進めます。）

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/cd9a233b-bf5a-7c52-3ce7-bdee032cc99f.png">

任意のメモリサイズを入力し、「次へ」をクリックします。
（本記事では、「動的メモリを使用」を有効化しています。詳細な設定は後述します。
設定値はマシン作成後も変更可能です。）

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/173476f4-6dc1-0dc0-4754-e588df458061.png">

任意の仮想スイッチを選択し、「次へ」をクリックします。
（本記事では、デフォルトの「Default Switch」の選択を前提に進めます。）

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/d7925b52-47ce-386c-054a-0269f65f168f.png">

「仮想ハードディスクを作成する」をクリックし、任意の仮想ハードディスクサイズを入力し、「次へ」をクリックします。
（仮想ハードディスクサイズはマシン作成後も変更可能です。）

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/922d95d4-96a5-cc57-ac22-be9371647828.png">

「ブートCD/DVD-ROMから・・・」をクリックします。
「イメージファイル (.iso)」をクリックし、ダウンロードしたISOイメージを選択します。
「次へ」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/98591bac-9c1e-e0d5-795b-bdd1f7ffc3c9.png">

設定内容を確認し、「完了」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/60f5f77c-8cc4-0ceb-d209-1ae98e960d64.png">

### 4. 仮想マシンの追加設定（※任意）
#### 自動チェックポイント無効化
:::note info
__「自動チェックポイント」を無効化にする理由__

自動チェックポイントは、仮想マシン起動時に自動でチェックポイントが作成されるため、チェックポイントの取り忘れ防止としては便利な機能です。
しかし、差分ファイルが増えて起動が遅くなったり、ファイルが肥大化してしまう恐れがあります。
従って本記事では、必要な時に手動作成することを想定し、自動作成を無効化します。

:::




Hyper-Vマネージャーのホーム画面より、作成した仮想マシンを右クリックし、「設定」をクリックします。

![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/1a8e66ab-39cb-4372-2d4c-0c081e179180.png)

左側メニューの「チェックポイント」をクリックし、「自動チェックポイントを使用する」のチェックを外し、「適用」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/9fd5ab7d-a917-ce4b-bb6d-f34250fb8067.png">

#### 動的メモリ詳細設定
:::note info
__「動的メモリ」を有効化にする理由__

仮想マシンのメモリは、ホストOSのメモリを消費します。
従って、ホストOS側のメモリが枯渇しないよう、設定値を変更します。
:::
左側メニューの「メモリ」をクリックし、「最小RAM」および「最大RAM」を任意の値に変更します。
必要であれば、「メモリバッファー」を任意の値に変更します。
「適用」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/4f198033-21b0-9b80-4a7f-ef13da2bf517.png">

### 5. AlmaLinux 8.8をインストール
Hyper-Vマネージャーのホーム画面より、作成した仮想マシンを右クリックし、「接続」をクリックします。

<img width="90%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/e2a91c4a-f564-f01a-a243-361a8c4c2f29.png">

「起動」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/95abc19a-bc49-23b3-c157-ca3bde5bb12e.png">

「Install AlmaLinux 8.8」を選択し、「Enter」を押下します。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/87e6d2b7-e6cc-463e-bf66-2e24e0978e09.png">

「日本語」を選択し、「続行」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/7f1f3c71-e94f-a09c-0827-d4157ecf3ac9.png">

:::note info
インストール概要では、下図の赤枠項目の設定を行います。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/06a79f30-437f-44e8-cd3f-71531a9225c3.png">
:::
__インストール先__

特段変更せずに「完了」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/a5dff621-0e38-1896-a234-b6cc5cb13d4d.png">

__ネットワークとホスト名__

「Ethernet(eth0)」が選択された状態で、「オン」 → 「完了」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/309bcaad-c00f-d25d-5535-01304fea3d38.png">

__時刻と日付__

地域は「アジア」、都市は「東京」を選択し、「完了」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/39627f81-8154-6dfa-e037-188b95b8b0c3.png">

__root パスワード__

パスワードを入力し、「完了」をクリックします。

<img width="90%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/9c14cf18-b09b-0f49-9e5b-16ec804be3c6.png">

__ユーザーの作成__

「フルネーム」および「パスワード」を入力し、「完了」をクリックします。

<img width="90%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/1ef1d2b5-6fd0-b31e-3aab-0c76ade0087f.png">

「インストールの開始」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/f78fab5d-17fa-3d5d-7046-57c3ccf37d7c.png">

インストールが完了がしましたら、「システムの再起動」をクリックします。

<img width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/bcb05470-9d0d-685f-3b50-265148ce4591.png">

作成したユーザー名およびパスワードを入力し、ログインできることを確認します。

![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/7fd3ebaa-dd0a-b315-45b9-07676a329450.png)

### 6. 疎通確認
__ゲストOS → インターネット__

ゲストOSで下記コマンドを実行し、インターネットに通信できていることを確認します。
（「packet loss」が0％であれば問題ないです。）
```
ping google.co.jp
```

<img width="85%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/35330e8b-e1be-eedc-63c6-e3e81468701d.png">

__ホストOS → ゲストOS__

ゲストOSで下記コマンドを実行し、ゲストOSのプライベートIPアドレスを確認します。
（「inet」の値です。）
```
ip addr show eth0
```
<img width="85%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/bf9dbc0c-bfeb-3578-2952-3dc59b43a796.png">

ホストOSでコマンドプロンプトを起動し、下記コマンドを実行してゲストOSと疎通出来ていることを確認します。
（「損失」が0であれば問題ないです。）
```
ping <ゲストOSのプライベートIPアドレス>
```
<img width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/ae025fee-b973-3244-fbd4-0ea8d85c3e08.png">

:::note warn
__「ゲストOS → ホストOS」のpingが通らない？__

上記2つの疎通が成功していれば問題ないです。
現在のWindows OSだと、セキュリティ上、デフォルトではpingのパケット受信を無効化するよう、OSのファイアウォールで設定されているからです。  

![27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3363225/aa95cb4b-06e2-e0dd-284f-1020c25d1da5.png)
:::

## 終わりに
今回は仮想マシンを作成し、疎通確認までを実施しました。

仮想スイッチが「Default Switch」の場合、DHCPによって動的にIPアドレスが割り当てられ、ホストOSを再起動するたびにIPアドレスが変わってしまいます。
私は「内部ネットワーク」の仮想スイッチを作成し、IPアドレスを手動で設定することで固定化しています。
こちらの設定については、別記事にて紹介する予定です。

## 参考
- [Hyper-VでAlmaLinuxをインストールする方法(図解)](https://terraconti.jp/hyperv-install-almalinux/)
- [Hyper-Vの自動チェックポイントをオフにする](https://blackbird-blog.com/hyper-v-autocheckpoint-off#google_vignette)
- [第2回　仮想マシンの作成と動的メモリ機能について (小塚大介)](https://www.school.ctc-g.co.jp/columns/microsoft/microsoft02.html)