はじめに
AWSの知識は業務や資格で付いてきたけど、オンプレミスの知識が不足しているなと感じたので、今回はVirtual BoxにWindows Serverを構築して、色々と触ってみるハンズオンをやってみました!
私の学習備忘録のような内容になっているので、あくまで参考程度に読んでいただけると幸いです。
前提
- Virtual Boxがインストールされていること
ハンズオンの流れ
1. Windows Server2025評価用のISOをダウンロード
以下から登録
登録すると以下のURLに遷移するので、日本語版をダウンロード
インストールにあたってのハードウェア要件は以下を確認
ISOダウンロードが完了するまで待つ(私は約1時間かかりました)
2. Windows Server起動(失敗編)
仮想マシンの名前を命名(任意の値)
フォルダはそのまま
ISOイメージに先ほどダウンロードしたISOを指定
「次へ」を押下

メモリは以下の記事を参考に、「4096MB」に設定し、「次へ」を押下
※この辺りは実際の業務でどう設計するかを判断できるようにする(今後の課題)
しばらく待つと、仮想マシンが作成され、Windows Serverセットアップが開始
インストール場所として、ディスク0パーティション1が選択されている状態で、「次へ」を押下

するとエラーが発生
インストール用にこのパーティションを選択中にエラーが発生しました。別のパーティションを選択するか、選択内容を更新してください。

以下を参考に、トラブルシューティングを実施
再度同様のエラー発生
容量が100MBのパーティションが作成されてしまうが、容量が大きい方のパーティションを選択して、「次へ」を押下

しばらく待つと以下の画面から遷移しない
GUIを省略したWindows Serverを構築してしまっていた

色々調べるとインストールの際に、「Desktop Experience」を選択していないためと判断
2-2. Windows Server起動(再挑戦成功編)
以下サイトを参考に再度再作成
主に先ほどまでと異なる操作について記載します
仮想ハードウェアを指定の画面で、「EFIを使用」を有効化し、「次へ」を押下
軽く調べた限り、PCの起動方法はBIOSとUEFIと2種類あり、Windows Server2025はUEFI起動を前提としているよう
| 方式 | 古い | 新しい |
|---|---|---|
| 起動方式 | BIOS | UEFI |
| ディスク形式 | MBR | GPT |
| セキュリティ | 弱い | SecureBoot/TPM対応 |
先ほどのインストール時のパーティションエラーももしかしたらこれが原因かもしれない
作成した仮想マシンの設定>ネットワークから「ブリッジアダプター」を選択し、「OK」を押下

設定>システム>起動順序から「フロッピー」を外し、「OK」を押下
(起動にフロッピーを使用しないため、予め除外しておく)

設定>ストレージより「Unattended-」となっているSATAポート2を選択して、「割り当ての除去」を押下し、「OK」を押下

Press any key to boot from CD or DVD.が表示されるので、すかさずに何かのキーを連打
「ファイル~すべてが削除されることに同意します」にチェックを入れて、Windows Serverのインストールを選択、「次へ」を押下

1回目の反省を活かして「デスクトップエクスペリエンス」の方を選択し、「次へ」を押下

1回目ではエラーが出た箇所について、このまま選択し、「次へ」を押下

特にエラー発生せず!やはりEFIを有効化を選択することが必要だと分かりました
「インストール」を押下

インストール完了後、AdministratorのPW設定画面になるので、PWを設定し、「完了」を押下

3. Windows Serverへログイン
Virtual Boxの入力>キーボード>「送信+Ctrl-Alt-Del」を押下

4. Windows Update
こちらのインストールのガイドラインに、インストール後Windows Updateとインターネットでライセンス認証を行う旨記載があったので実施しました
設定>Windows Update>「更新プログラムのチェック」を押下

5. ライセンス認証
Windows+R>「ms-settings:activation」を実行
ライセンス認証はインターネットに接続していれば自動で認証されるようです

6. RDP接続
ここからはよりWindows Serverを色々と触りながら理解を深めたかったので、まずは自端末からRDP接続を試してみます
まず現状の設定を確認
以下をPowershellで実行
# RDPが有効か
# fDenyTSConnections = 0 なら RDP有効、1 なら無効
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' `
-Name fDenyTSConnections
# RDPサービス(TermService)が動いているか
Get-Service TermService
RDPを有効化
Powershellで以下を実行
# RDP有効化(レジストリ)
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' `
-Name fDenyTSConnections -Value 0
次にインターネット通信が可能かを確認
以下をPowerShell上で実行
Test-NetConnection -ComputerName 8.8.8.8 -Port 53
次にファイアウォール設定を確認
Powershellで以下を実行
Get-NetFirewallRule -DisplayGroup "リモート デスクトップ" | Select-Object DisplayName,Enabled,Profile,Direction,Action | Sort-Object DisplayName
RDPが無効化されていることを確認

ファイアウォールにRDPの許可を設定
Powershellで以下を実行
```:PowerShell
Enable-NetFirewallRule -DisplayGroup "リモート デスクトップ"
自端末の方で「Windows+R」>「mstsc」を入力して、「OK」を押下

Windows ServerのIPアドレスを取得するため、Windows Serverの方のPowershellで以下を実行
ipconfig
IPv4アドレスに表示されているIPアドレスをメモしておく(画像はマスクしてます)

RDP接続の画面に戻り、以下を入力し、「接続」を押下
コンピューター: 接続先WindowsServerのIPアドレス(例:192.168.11.7)
ユーザー名: localhost\Administrator
Windows ServerのAdministratorのPWを入力して、「OK」を押下

7. ファイアウォール設定
先ほどのRDP接続の時にも少し触りましたが、次にGUI操作でファイアウォール設定をいじって色々と実験してみます
Windows Defender ファイアウォールを開き、「詳細設定」を押下

「このサービスに適用する」>「Remote Desktop Services」を選択し、「OK」を押下

プロトコルの種類は「TCP」を選択し、
ローカルポートは「特定のポート」で「3389」を選択
「次へ」を押下
ローカルポートとリモートポートとは?
ローカルポートはサーバーが通信を待ち受けているポート
リモートポートは暗いアンド側が接続する際に使うポート(毎回変わる)
この辺りは以下の書籍を読んでおくと分かりやすいかと思います
ネットワークはなぜつながるのか
リモートIPアドレス>「これらのIPアドレス」を選択
「追加」を押下

自端末のIPアドレスを入力して、「OK」を押下
※IPアドレスは自端末でipconfigをターミナルで実行すれば確認可能

再度RDP接続してみると以下のようなエラーになり、ちゃんと接続が拒否されました!

今度は許可して、再度RDP接続できるようにします
8. コンピューター名の変更
本来は一番最初にやるべき作業のようですが、このタイミングで実施しました
「Windows+R」を押下し、「sysdm.cpl」と入力し、「OK」を押下

「コンピューター名」を入力し、「OK」を押下(今回は「handson-01」と命名)

9. Windows Updateの自動実行の無効化
次にWindows Updateの自動実行を無効してみました(業務でも自動実行されると想定外の再起動により、業務影響が発生するため無効にするはず)
「Windows+R」>「gpedit.msc」と入力し、「OK」を押下(ローカルグループポリシーエディターを開く)

コンピュータの構成 > 管理用テンプレート > Windows コンポーネント > Windows Update > エンドユーザーエクスペリエンスの管理を開き、
「自動更新を構成する」をダブルクリック

サーバーマネージャー>ローカルサーバー>Windows Updateを確認し、自動更新の無効化を確認

感想
やはり手を動かすと理解が深まりますね!
またエラーが発生したときに色々と調べる過程で、知らなかった機能やよくある設定例等に触れることができたので、実際に業務で使用する際のイメージが沸き、WindowsServerに対する解像度が上がったと感じています。
またWindowsServerを起動するだけでも、色々苦戦したのでAWSのEC2インスタンスでいかに簡単にWindowsServerを構築できるか、その便利さを実感しました!
AWSのEC2上にWindowsServerを構築して、MicrosoftSQLServerを構築するハンズオンも実施しているので、こちらの記事も是非読んでください!
参考にさせていただいたサイト
















































