AlmaLinux 9インストール手順|VirtualBoxで練習機を作る

AlmaLinux 9インストール手順|VirtualBoxで練習機を作る

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(本体だけ)
OSAlmaLinux 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(ネットワーク越しにログインするしくみ)で入れるところまで進めます。

この記事で作る構成の図。Windows 11のパソコンの中でVirtualBox 7.2.20が動き、その中に仮想マシンfcn-alma9(AlmaLinux 9.8・ホスト名web01)がある。アダプター1はNAT(enp0s3・10.0.2.15)でインターネットへの外向き通信と、PowerShellからの127.0.0.1:2222→22番のポートフォワードを受け持つ。アダプター2はホストオンリー(enp0s8・192.168.56.101)でWindows側とつながる
図: この記事で作る構成(自作)

ネットワークの口は2つです。NATはVMから外へ出る口で、OSの更新はここを通ります。ホストオンリーはWindowsとVMの間だけをつなぐ口です。使い分けは次の記事でくわしく扱います。

時刻やったこと
11:44VirtualBoxのインストーラーを保存
12:19AlmaLinux 9.8のISOを保存
13:172台目用のUbuntuのISOを保存(この記事では使わない)
13:59VMの画面から初めてログイン
14:01PowerShellからsshで初めて接続
14:04最初の確認コマンドを実行
14:16〜14:21sshの鍵と設定ファイルを作成(次の記事)
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の欄は押しません。

VirtualBox公式のダウンロードページ。左のVirtualBox Platform Packagesの欄に「VirtualBox 7.2.20 platform packages」と「Windows hosts」のリンク、右に別ライセンス(PUEL)のExtension Packの欄がある
左の「Windows hosts」が本体

ファイルが壊れたり、すり替わったりしていないかを、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...
PowerShellでGet-FileHashを実行した画面。VirtualBox-7.2.20-175154-Win.exeのSHA256がA81777D2…2C26と表示されている(Pathのユーザー名は黒塗り)
公式の値と一致した

公式の一覧は小文字ですが、大文字・小文字のちがいは気にしなくてかまいません。一致したらインストーラーを実行します。インストール先は既定の「C:\Program Files\Oracle\VirtualBox\」のままです。途中で警告が2つ出ました。

  • Network Disconnection:ネットワーク機能を入れる間、通信が切れるという案内。オンライン会議中は避けます。
  • Missing Dependencies:Python用の部品が無いという案内。PythonからVirtualBoxを操作しないので、そのまま進めました。
VirtualBox 7.2.20のインストーラーに出た「Warning: Network Disconnection」の画面。ネットワーク機能のインストール中にネットワークが切断されると書かれ、YesとNoのボタンがある
ネットワークが一時的に切れるという警告

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

Oracle 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公式のダウンロードページ。「You're viewing: AlmaLinux OS 9 · x86_64」と表示され、ISO ImagesのDVD・Boot・Minimalにそれぞれ「Download 9.8 ISO」ボタンとSHA-256の値が並ぶ。Minimalの値は7762a4b4…cc2e
「AlmaLinux OS 9 · x86_64」のMinimalを使った

ファイルは「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...
PowerShellでAlmaLinux-9.8-x86_64-minimal.isoにGet-FileHashを実行した画面。Hashは7762A4B4…CC2Eで、公式ページのMinimalの値と同じ(Pathのユーザー名は黒塗り)
公式ページのMinimalの値と一致した

一致を確かめたISOは「D:\VMs\iso」に置きました。AlmaLinuxのインストールガイドには、Windows向けにcertUtil -hashfileの例も載っています。

手順3:仮想マシンを作る(設定値の一覧)

VirtualBoxマネージャーで「新規」を押し、名前とISOを指定します。OSの欄には「Linux/Red Hat (64-bit)」が自動で入りました。

VirtualBoxの「新しい仮想マシン」画面。VM名fcn-alma9、VMフォルダーが既定のD:\VMs、ISOイメージにAlmaLinux-9.8-x86_64-minimal.iso、OSがLinux/Red Hat (64-bit)で、「無人インストールを実行」にチェックが入っている
直す前。「無人インストールを実行」にチェックが入っている

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

直したあとの「新しい仮想マシン」画面。VMフォルダーがD:\VMs\fcn-labになり、「無人インストールを実行」のチェックが外れている
直したあと

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

「仮想ハードウェアを指定」を開いた画面。メインメモリーが2048 MB、CPU数が1になっている
最初はCPU数が1だった
項目この記事の値最初の表示
VM名fcn-alma9—
VMフォルダーD:\VMs\fcn-labD:\VMs
OSLinux/Red Hat (64-bit)自動で入力
無人インストールを実行オフオン
メモリー2048MB(公式の要件は最低1.5GB)2048MB
CPU数21
ディスク20GB・VDI・事前割り当てなし(公式の推奨は20GB)—
アダプター1NAT—
アダプター2ホストオンリーアダプター—

アダプター2は「設定」→「ネットワーク」で有効にし、割り当てを「ホストオンリーアダプター」にします。

fcn-alma9の設定画面のネットワーク→アダプター2。「ネットワークアダプターを有効化」にチェック、割り当てがホストオンリーアダプター、名前がVirtualBox Host-Only Ethernet Adapter(MACアドレスは黒塗り)
アダプター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項目に付いていました。

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

「ネットワークとホスト名」では、NAT側のenp0s3が10.0.2.15/24(デフォルトルート10.0.2.2)、ホストオンリー側のenp0s8が192.168.56.101/24でした。

インストーラーの「ネットワークとホスト名」画面。Ethernet (enp0s3)が接続済みで、IPv4アドレス10.0.2.15/24、デフォルトルート10.0.2.2。下のホスト名欄にweb01と入力され、現在のホスト名がweb01(MACアドレス・IPv6アドレス・DNSは黒塗り)
ホスト名をweb01にして「適用」

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

インストーラーの「ユーザーの作成」画面。フルネームとユーザー名がopuser、「このユーザーを管理者にする」と「このアカウントを使用する場合にパスワードを要求する」にチェックが入っている。パスワード欄は黒丸で表示
「このユーザーを管理者にする」にチェック

「インストールの開始」→「インストールが完了しました!」→「システムの再起動」と進むと、「web01 login:」の画面になりました。

手順5:初めてのログインと、最初に確かめたコマンド

VMの画面でopuserとしてログインし、ip -4 aを実行しました。enp0s3とenp0s8の両方に、DHCPで受け取ったアドレスが付いています。

VMのコンソールでopuserとしてログインし、ip -4 aを実行した画面。loに127.0.0.1/8、enp0s3に10.0.2.15/24、enp0s8に192.168.56.101/24が表示され、どちらもscope global dynamic
初めてのログインとip -4 a

sudo 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 ~]$
sshで入ったweb01でid・systemctl is-active sshd・timedatectl・hostnamectl・localectlを実行した画面。groupsに10(wheel)、sshdはactive、Time zoneはAsia/Tokyo、Static hostnameはweb01、Virtualizationはoracle、System LocaleはLANG=C.UTF-8(Machine IDとBoot IDは黒塗り)
最初の確認(IDは伏せた)
コマンド結果
idgroupsに10(wheel)=sudoが使える
systemctl is-active sshdactive
timedatectlAsia/Tokyo・時刻同期 yes
hostnamectlweb01・Virtualization: oracle
localectlLANG=C.UTF-8・キーマップ jp
sudo firewall-cmd --list-servicescockpit dhcpv6-client ssh
cat /etc/os-release9.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 dnf -y upgradeの終わりの画面。更新されたパッケージの一覧にopenssh-9.9p1-12やsudo-1.9.17p2-3があり、Installedにkernel-5.14.0-687.53.1.el9_8.x86_64、最後にComplete!と表示され、続けてsudo rebootを入力している
「Installed」に新しいカーネル

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「無人インストールを実行」が最初からオンチェックを外した
3VMフォルダーの既定がD:\VMs、CPU数の既定が1D:\VMs\fcn-labと2に変えた
4VMを作った直後に起動してしまった設定のため一度電源を切った
5Windows用のコマンドを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 `&'と表示された画面
VMの中でWindows用のコマンドを打った
行頭の表示操作している場所この記事で打った例
PS C:\>WindowsのPowerShellGet-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日

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

インフラの運用・構築に10年以上携わり、AWS 認定8資格を持つ運営者です。いまは Claude Code などの AI ツールを日々の作業の自動化に使いながら、これから使う人のための教科書サイトを運営しています。

コメント

コメント一覧 (2件)

コメントする

目次