Linuxを練習したいのに、手元に環境がない。職場のサーバーは本番につながっていて、気軽にはさわれない。そんなときは、自分のWindowsパソコンの中に練習用のサーバーを1台作る方法があります。
この記事は、2026年10月5日にWindows 11のパソコンへVirtualBoxを入れ、AlmaLinux 9.8をインストールした実際の記録です。事前の手順書どおりにいかなかったところも、そのまま書きます。
この記事で分かること
- VirtualBoxとAlmaLinux 9のISOを公式から取り、SHA256で確かめる方法
- 仮想マシンの設定値と、インストーラーで選んだ項目
- 実際につまずいた5つの点と直し方
| 検証環境 | 内容 |
|---|---|
| 作業日 | 2026年10月5日 |
| ホスト | Windows 11 Pro |
| 仮想化ソフト | VirtualBox 7.2.20(本体だけ) |
| OS | AlmaLinux 9.8 x86_64(Minimal ISO) |
| カーネル | 5.14.0-687.5.3.el9_8 → 更新後 5.14.0-687.53.1.el9_8 |
| 所要時間 | 11:44〜14:25ごろ(約2時間40分。次の記事で扱うsshの鍵の設定などを含む) |
ホスト名「web01」とユーザー名「opuser」は検証用の名前です。画像と出力のうち、Windowsのユーザー名・MACアドレス・DNSサーバー・鍵の指紋・IDの類は伏せています。
この記事で作る環境と、かかった時間
作るのは、Windowsの中で動く「もう1台のパソコン」、仮想マシン(VM)です。VMにAlmaLinuxを入れ、WindowsのPowerShellからssh(ネットワーク越しにログインするしくみ)で入れるところまで進めます。

ネットワークの口は2つです。NATはVMから外へ出る口で、OSの更新はここを通ります。ホストオンリーはWindowsとVMの間だけをつなぐ口です。使い分けは次の記事でくわしく扱います。
| 時刻 | やったこと |
|---|---|
| 11:44 | VirtualBoxのインストーラーを保存 |
| 12:19 | AlmaLinux 9.8のISOを保存 |
| 13:17 | 2台目用のUbuntuのISOを保存(この記事では使わない) |
| 13:59 | VMの画面から初めてログイン |
| 14:01 | PowerShellからsshで初めて接続 |
| 14:04 | 最初の確認コマンドを実行 |
| 14:16〜14:21 | sshの鍵と設定ファイルを作成(次の記事) |
| 14:25ごろ | 更新とスナップショットを終え、完成 |
時刻は、ファイルの保存時刻・ログイン記録・出力から読み取りました。VirtualBoxのインストール、VMの作成、OSのインストールの個別の時間は記録していません。
始める前に:VirtualBoxを選んだ理由と、入れないもの
Windowsには仮想化のしくみとしてHyper-Vもありますが、Microsoft Learnには、Hyper-VはWindows 11 Homeにはインストールできないと書かれています。自宅のパソコンがHomeの人もいるので、この記事ではVirtualBoxを使いました。
パソコンの仮想化機能が無効な場合の有効化手順は、Microsoftのサポートページ「Windowsで仮想化を有効にする」にあります。
入れるのは本体だけです。本体はGPL version 3で公開されています。追加機能のExtension Packは別ライセンス(PUEL)で、公式のLicensing FAQは、無償で使えるのは個人利用・教育利用で、商用目的は含まないと説明しています。この記事の作業は、本体だけで最後まで進みました。
手順1:VirtualBox 7.2.20を入れる
公式のダウンロードページで「Windows hosts」を選びます。右側のExtension Packの欄は押しません。

ファイルが壊れたり、すり替わったりしていないかを、SHA256というハッシュ値で確かめます。公式の値は同じページの「SHA256 checksums」にあります。
PS C:\> Get-FileHash "$env:USERPROFILE\Downloads\VirtualBox-7.2.20-175154-Win.exe" -Algorithm SHA256
Algorithm Hash Path
--------- ---- ----
SHA256 A81777D2B36380CE042A29E9C554CF032EB46A793F62E3CC82E7411E535C2C26 C:\Users\xxxx\Downloads\Virt...

公式の一覧は小文字ですが、大文字・小文字のちがいは気にしなくてかまいません。一致したらインストーラーを実行します。インストール先は既定の「C:\Program Files\Oracle\VirtualBox\」のままです。途中で警告が2つ出ました。
- Network Disconnection:ネットワーク機能を入れる間、通信が切れるという案内。オンライン会議中は避けます。
- Missing Dependencies:Python用の部品が無いという案内。PythonからVirtualBoxを操作しないので、そのまま進めました。

初めて起動すると「エクスペリエンスモードを選択してください!」と聞かれたので、エキスパートモードを選びました。マニュアルによると、基本モードは表示する設定を絞ったモードで、エキスパートモードはすべての設定を表示します。

手順2:AlmaLinux 9のISOを取り、SHA256を確かめる
AlmaLinux公式の「Get AlmaLinux」を開くと、最初は「AlmaLinux OS 10」が選ばれています。「AlmaLinux OS 9」の▼から「x86_64」を選び直しました。このサイトのコマンド記事はAlmaLinux 9で出力を取る方針なので、9にそろえています。
ISOはDVD・Boot・Minimalの3種類があり、オフラインでインストールできる最小限のMinimalを選びます。ボタンの横にSHA-256の値も出ています。

ファイルは「AlmaLinux-9.8-x86_64-minimal.iso」で、公式のCHECKSUMによると2,838,495,232バイトです。Get-FileHashは、指定しなければSHA256を使います(Microsoft Learn)。
PS C:\> Get-FileHash "$env:USERPROFILE\Downloads\AlmaLinux-9.8-x86_64-minimal.iso"
Algorithm Hash Path
--------- ---- ----
SHA256 7762A4B45A66235726DB145A573658964BF77BF7B9BC1C018AFE86A4CF37CC2E C:\Users\xxxx\Downloads\Alma...

一致を確かめたISOは「D:\VMs\iso」に置きました。AlmaLinuxのインストールガイドには、Windows向けにcertUtil -hashfileの例も載っています。
手順3:仮想マシンを作る(設定値の一覧)
VirtualBoxマネージャーで「新規」を押し、名前とISOを指定します。OSの欄には「Linux/Red Hat (64-bit)」が自動で入りました。

ここでVMフォルダーを「D:\VMs\fcn-lab」に変え、「無人インストールを実行」のチェックを外しました。マニュアルには、ISOが対応していれば既定で無人インストールを行い、手で入れたいときはこのチェックを外す、とあります。

「仮想ハードウェアを指定」では、CPU数が1になっていたので2に変えました。

| 項目 | この記事の値 | 最初の表示 |
|---|---|---|
| VM名 | fcn-alma9 | — |
| VMフォルダー | D:\VMs\fcn-lab | D:\VMs |
| OS | Linux/Red Hat (64-bit) | 自動で入力 |
| 無人インストールを実行 | オフ | オン |
| メモリー | 2048MB(公式の要件は最低1.5GB) | 2048MB |
| CPU数 | 2 | 1 |
| ディスク | 20GB・VDI・事前割り当てなし(公式の推奨は20GB) | — |
| アダプター1 | NAT | — |
| アダプター2 | ホストオンリーアダプター | — |
アダプター2は「設定」→「ネットワーク」で有効にし、割り当てを「ホストオンリーアダプター」にします。

続けて、Windowsの127.0.0.1:2222をVMの22番(ssh)へ転送する設定を足しました。マニュアルによると、VBoxManage modifyvmは電源が切れたVMにしか使えません。
PS C:\> & "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "fcn-alma9" --natpf1 "ssh,tcp,127.0.0.1,2222,,22"
PS C:\> & "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" showvminfo "fcn-alma9" --machinereadable | Select-String "nic|Forwarding|cpus|memory"
memory=2048
cpus=2
nic1="nat"
nictype1="82540EM"
nicspeed1="0"
Forwarding(0)="ssh,tcp,127.0.0.1,2222,,22"
nic2="hostonly"
nictype2="82540EM"
nicspeed2="0"
(nic3〜nic8はすべて"none"のため省略)
手順4:AlmaLinux 9.8をインストールする
VMを起動すると、黒い画面に「Install AlmaLinux 9.8」などのメニューと「Automatic boot in 56 seconds…」が出ます。何も押さないと、選ばれている項目で起動が始まります。言語は日本語を選びました。
「インストール概要」では、オレンジの「!」が付いた項目を設定すると「インストールの開始」が押せます。最初は3項目に付いていました。

| 画面の項目 | 最終的な値 |
|---|---|
| キーボード/言語サポート | 日本語(そのまま) |
| 時刻と日付 | アジア/東京(そのまま) |
| ソフトウェアの選択 | 最小限のインストール(そのまま) |
| インストール先 | 20GiBのディスク・自動構成(開いて「完了」) |
| ネットワークとホスト名 | enp0s3・enp0s8ともオン/ホスト名web01(入力して「適用」) |
| rootパスワード | rootアカウントは無効(そのまま) |
| ユーザーの作成 | opuser・管理者にする(入力) |
「ネットワークとホスト名」では、NAT側のenp0s3が10.0.2.15/24(デフォルトルート10.0.2.2)、ホストオンリー側のenp0s8が192.168.56.101/24でした。

ユーザーはopuserで作り、「このユーザーを管理者にする」にチェックを入れました。rootアカウントは無効のままにして、管理の作業はsudoで行います。

「インストールの開始」→「インストールが完了しました!」→「システムの再起動」と進むと、「web01 login:」の画面になりました。
手順5:初めてのログインと、最初に確かめたコマンド
VMの画面でopuserとしてログインし、ip -4 aを実行しました。enp0s3とenp0s8の両方に、DHCPで受け取ったアドレスが付いています。

ip -4 asudo whoamiは、初回だけ英語の注意書きのあとにrootを返しました。
[opuser@web01 ~]$ sudo whoami
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
For security reasons, the password you type will not be visible.
[sudo] password for opuser:
root
ここからは、コマンドを貼り付けられるPowerShellからsshで入りました。初回はホストを信用するかを聞かれるので、yesと答えます。
PS C:\> ssh -p 2222 opuser@127.0.0.1
The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxx(伏せ字).
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[127.0.0.1]:2222' (ED25519) to the list of known hosts.
opuser@127.0.0.1's password:
Last login: Mon Oct 5 13:59:49 2026
[opuser@web01 ~]$

| コマンド | 結果 |
|---|---|
id | groupsに10(wheel)=sudoが使える |
systemctl is-active sshd | active |
timedatectl | Asia/Tokyo・時刻同期 yes |
hostnamectl | web01・Virtualization: oracle |
localectl | LANG=C.UTF-8・キーマップ jp |
sudo firewall-cmd --list-services | cockpit dhcpv6-client ssh |
cat /etc/os-release | 9.8 (Olive Jaguar)・SUPPORT_END=2032-06-01 |
ファイアウォールでsshが最初から許可されていたので、追加の設定はしていません。
手順6:スナップショットを取ってから更新する
スナップショットは、VMのその時点の状態を保存するしくみです。更新の前に取っておけば、インストール直後に戻れます。Windows側で、VMを起動したまま取りました。
PS C:\> & "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot "fcn-alma9" take "base-00-installed" --description "AlmaLinux 9.8 minimal install, before update"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Snapshot taken. UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
そのあとVMの中でsudo dnf -y upgradeを実行すると、「Complete!」で終わり、新しいカーネルが入りました。

sudo rebootのあと、sshで入り直して確かめました。
PS C:\> ssh -p 2222 opuser@127.0.0.1
opuser@127.0.0.1's password:
Last login: Mon Oct 5 14:01:53 2026 from 10.0.2.2
[opuser@web01 ~]$ cat /etc/os-release | grep VERSION_ID; uname -r
VERSION_ID="9.8"
5.14.0-687.53.1.el9_8.x86_64
OSは9.8のままで、カーネルが687.5.3から687.53.1に上がりました。接続元の10.0.2.2は、VirtualBoxのNATでゲートウェイに使われるアドレスです。このあとsshの鍵を設定し、もう1つスナップショットを取りました(次の記事)。
手順書どおりにいかなかった5つのこと
| # | 起きたこと | どうしたか |
|---|---|---|
| 1 | 初回起動でエクスペリエンスモードを聞かれた(手順書に無い画面) | エキスパートモードを選んだ |
| 2 | 「無人インストールを実行」が最初からオン | チェックを外した |
| 3 | VMフォルダーの既定がD:\VMs、CPU数の既定が1 | D:\VMs\fcn-labと2に変えた |
| 4 | VMを作った直後に起動してしまった | 設定のため一度電源を切った |
| 5 | Windows用のコマンドをVMにssh中のタブで打った | Windows側のタブで打ち直した |
1〜3は、既定値が想定とちがったものです。2は外し忘れると無人インストールの設定のまま進むので、「完了」の前に全部の欄を見直しましょう。4は、電源が入ったままではmodifyvmが使えないため、電源を切ってから設定しました。
もう1つ、日本語でインストールしたので手順書ではロケールをja_JP.UTF-8と見込んでいましたが、実際はLANG=C.UTF-8で、コマンドの出力も英語で表示されました。
行頭の表示で「いまどこにいるか」を見分ける
5は、スナップショットのコマンドを、VMに入っているタブで打ったものです。Linuxのbashは、PowerShellの&を理解できません。
[opuser@web01 ~]$ & "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot "fcn-alma9" take "base-00-installed" --description "AlmaLinux 9.8 minimal install, before update"
-bash: syntax error near unexpected token `&'
![タブ名がopuser@web01:~のターミナルで、行頭が[opuser@web01 ~]$のままVBoxManage.exeのsnapshotコマンドを実行し、-bash: syntax error near unexpected token `&'と表示された画面](https://firstcareernote.com/wp-content/uploads/2026/10/l1-16-trouble-bash-syntax-error.jpg)
| 行頭の表示 | 操作している場所 | この記事で打った例 |
|---|---|---|
PS C:\> | WindowsのPowerShell | Get-FileHash・VBoxManage・ssh |
[opuser@web01 ~]$ | VMの中(AlmaLinux) | ip・sudo・dnf |
Windows Terminalなら、タブの名前(「opuser@web01:~」と「Windows PowerShell」)も手がかりです。打つ前に行頭を見る習慣をつけましょう。本番でも「どのサーバーで打っているか」の取り違えは事故のもとです。
よくある質問
Windows 11 Homeでもできますか?
VirtualBoxのマニュアルは、Windowsホストの対象を「Windows 11 with x86_64 processors」としていて、エディションの区別は書かれていません。ただし、この記事で使ったのはProで、Homeでは試していません。
Extension Packは入れなくて大丈夫ですか?
この記事の範囲(インストール・ssh接続・更新・スナップショット)は、本体だけで進みました。Extension Packが必要になったら、PUELとLicensing FAQを読んでから判断しましょう。
Hyper-Vが動いているパソコンでも使えますか?
マニュアルには、使えるものの性能が大きく落ちる場合がある、と書かれています。この記事のパソコンもWindows側のハイパーバイザーが動いている状態でしたが、作業は最後まで進みました。
まとめと、次に読む記事
- VirtualBoxは本体だけ。インストーラーもISOもSHA256で公式と照らし合わせる
- 新規VMは「無人インストール」・保存場所・CPU数を、完了の前に見直す
- インストール後は状態を確かめ、スナップショットを取ってから更新する
参考リンク
確認日:2026年10月5日
- VirtualBox Downloads/7.2.20 SHA256SUMS/Licensing FAQ
- VirtualBox マニュアル:Installation/Experience Levels/Creating a New Virtual Machine/Virtual Networking/VBoxManage/Advanced Topics(Hyper-V)
- AlmaLinux 公式:Get AlmaLinux/AlmaLinux 9 x86_64 CHECKSUM/Installation Guide
- Microsoft:Hyper-V をインストールする(Learn)/Get-FileHash(Learn)/Windows で仮想化を有効にする(サポート)

コメント
コメント一覧 (2件)
[…] OS: AlmaLinux 9.8 (Olive Jaguar)(VirtualBox 7.2.20 上の仮想マシン。ホスト名 web01 は検証用の名前。作り方はAlmaLinux 9インストール手順|VirtualBoxで練習機を作る) […]
[…] あわせて読みたい:AlmaLinux 9インストール手順|VirtualBoxで練習機を作る(Linuxを手元で練習する環境の作り方) […]