はい、承知いたしました。Arch Linuxのインストール手順をステップバイステップで詳細に解説する記事を作成します。図解はテキスト形式では不可能ですが、各ステップのコマンドとその意味、考えられる選択肢、注意点などを詳細に記述することで、読者が迷わないように丁寧な解説を心がけます。
【図解】Arch Linuxインストール手順をステップバイステップ解説
Arch Linuxは、ミニマリストな哲学、ユーザー中心のアプローチ、そしてローリングリリースモデルを採用したLinuxディストリビューションです。他の多くのディストリビューションとは異なり、デフォルトで必要最小限のシステムのみがインストールされるため、ユーザー自身が必要なコンポーネントを選択し、システムをゼロから構築していくプロセスを体験できます。この特性から、「学習の機会」や「究極のカスタマイズ性」を求めるユーザーに人気があります。
本記事では、Arch Linuxの基本システムをコマンドラインからインストールする詳細な手順をステップバイステップで解説します。この記事は、ある程度Linuxのコマンドライン操作に慣れている方を対象としていますが、各ステップで何を行っているのか、なぜそのコマンドが必要なのかを丁寧に説明するため、Arch Linuxのインストールに初めて挑戦する方でも安心して進められるように構成しています。
重要: Arch Linuxのインストールは、ディスクのパーティション操作を含みます。誤った操作を行うと、PC上の全てのデータが失われる可能性があります。 必ず重要なデータのバックアップを取ってから作業を開始してください。本記事の手順は一般的な構成に基づいています。お使いのハードウェア構成や目的によっては、追加の設定や異なる手順が必要になる場合があります。最新かつ正確な情報については、常にArch Wikiを参照してください。
1. はじめに:なぜArch Linuxを選ぶのか?
Arch Linuxは、そのユニークな哲学と特徴によって多くのユーザーを惹きつけています。
- シンプルさ: 基本システムは必要最小限のパッケージのみで構成されています。これは「複雑さがない」という意味でのシンプルさであり、設定や構築をユーザー自身が行う必要があることを意味します。
- ユーザー中心: ユーザーがシステムのあらゆる側面を制御できることを重視しています。デフォルトのGUIや大量のツールは含まれておらず、ユーザーが必要なものを自分で選んでインストールします。
- ローリングリリース: 一度インストールすれば、システム全体をアップグレードするだけで常に最新の状態を保てます。新しいバージョンのリリースのために再インストールする必要はありません。
- Pacman: 独自の高速なパッケージマネージャーであるPacmanを使用します。シンプルで効率的なパッケージ管理が可能です。
- Arch Wiki: 世界でも有数の質と量の情報を持つLinux Wikiです。あらゆる設定、トラブルシューティング、ソフトウェアに関する情報が網羅されており、Archユーザーにとって不可欠なリソースです。
これらの特徴から、Arch Linuxはシステムの内部構造を深く理解したいユーザー、自分だけの理想的な環境をゼロから構築したいユーザー、常に最新のソフトウェアを使いたいユーザーに適しています。
2. インストールメディアの準備
まず、Arch Linuxのインストールに必要なISOイメージをダウンロードし、起動可能なUSBメモリを作成します。
2.1. ISOイメージのダウンロード
Arch Linuxの公式ウェブサイトのダウンロードページにアクセスします。
ここでは、ISOイメージファイル(.iso
)と、その検証に必要な署名ファイル(.iso.sig
)およびSHA256チェックサムファイル(.iso.sha256
)をダウンロードします。ダウンロード方法は、HTTPミラーまたはBitTorrentが選択できます。高速で信頼できるミラーを選択するか、トレントを利用してください。
2.2. ダウンロードしたISOイメージの検証(オプションだが強く推奨)
ダウンロードしたISOイメージファイルが破損していないか、または改ざんされていないかを確認することは非常に重要です。これには、GPG署名の検証とハッシュ値のチェックという2つの方法があります。
GPG署名の検証
-
まず、Arch Linuxの公式GPGキーをインポートします。インターネットに接続されているLinux環境から、以下のコマンドを実行します。
bash
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 4B9741E8B0CD2435
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 684148BB25B49E98
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 5E4D64E8E23AA5BD
(キーIDは変更される可能性があります。公式ダウンロードページの検証方法の指示に従ってください。) -
ダウンロードしたISOイメージファイルと同じディレクトリに、対応する
.iso.sig
ファイルを置きます。 -
以下のコマンドで署名を検証します。
bash
gpg --verify archlinux-*-x86_64.iso.sig archlinux-*-x86_64.isoGood signature from "..."
と表示されれば検証成功です。警告が表示されることがありますが、署名が有効であれば問題ありません。
SHA256ハッシュ値のチェック
-
ダウンロードしたISOイメージファイルと同じディレクトリに、対応する
.iso.sha256
ファイルを置きます。 -
以下のコマンドでハッシュ値を計算し、ファイルに記載されている値と比較します。
bash
sha256sum -c archlinux-*-x86_64.iso.sha256archlinux-*-x86_64.iso: OK
と表示されれば検証成功です。
どちらか、または両方の検証方法で問題がなければ、ダウンロードしたISOイメージは正当です。
2.3. USBメモリへの書き込み
ダウンロードしたISOイメージをUSBメモリに書き込んで、起動可能なインストールメディアを作成します。この作業を行うと、USBメモリ内の既存データは全て消去されます。 8GB以上のUSBメモリを用意してください。
書き込みツールはいくつかありますが、ここではクロスプラットフォームで利用可能なEtcherや、コマンドラインツールであるdd
を紹介します。
Linux (ddコマンド)
dd
コマンドは強力ですが、誤ったデバイスを指定すると内蔵ストレージのデータを消去してしまう可能性があります。デバイス名を慎重に確認してください。
-
USBメモリのデバイス名を確認します。USBメモリをPCに挿入し、以下のコマンドを実行します。
bash
lsblk出力の中から、サイズや容量を手がかりにUSBメモリに対応するデバイス名を見つけます(例:
/dev/sdb
,/dev/sdc
,/dev/mmcblk0
,/dev/nvme1n1
など。パーティション番号(sdb1
など)ではなく、デバイス名自体を指定します)。ここでは/dev/sdX
と表記します。 -
USBメモリがマウントされている場合は、アンマウントします。
bash
umount /dev/sdX* # または sudo umount /dev/sdX* -
ISOイメージをUSBメモリに書き込みます。
bash
sudo dd if=/path/to/archlinux-*-x86_64.iso of=/dev/sdX status=progress bs=4Mif=/path/to/archlinux-*-x86_64.iso
: 入力ファイル(ダウンロードしたISOイメージのパス)。of=/dev/sdX
: 出力先デバイス(USBメモリのデバイス名)。間違えないこと!status=progress
: 書き込みの進捗状況を表示(ddのバージョンによっては利用できない)。bs=4M
: 一度に書き込むブロックサイズ(高速化のため)。
コマンド実行後、完了まで待ちます。
status=progress
がない場合は何も表示されませんが、完了するとプロンプトが戻ります。 -
書き込み完了後、キャッシュが全てディスクに書き込まれたことを確認します。
bash
sync
Windows (Rufus or Etcher)
Rufus (https://rufus.ie/) または Etcher (https://www.balena.io/etcher/) のようなツールを使います。これらのツールは直感的なGUIで操作でき、安全にISOイメージをUSBメモリに書き込めます。ツールをダウンロードし、画面の指示に従ってISOファイルとUSBメモリを選択して書き込みを開始してください。
macOS (ddコマンド)
-
USBメモリのデバイス名を確認します。
bash
diskutil listUSBメモリに対応するディスク識別子を確認します(例:
/dev/disk2
,/dev/disk3
)。 -
USBメモリをアンマウントします。
bash
diskutil unmountDisk /dev/diskX # Xはディスク識別子の番号 -
ISOイメージをUSBメモリに書き込みます。ディスク識別子の前に
r
を付けてRAWモードでアクセスすると高速になります(例:/dev/rdiskX
)。bash
sudo dd if=/path/to/archlinux-*-x86_64.iso of=/dev/rdiskX status=progress bs=1m-X
はディスク識別子の番号に置き換えてください。例:of=/dev/rdisk2
。
2.4. UEFIとBIOSについて
PCの起動方式には主にBIOS (Basic Input/Output System) と UEFI (Unified Extensible Firmware Interface) があります。現代のPCのほとんどはUEFIを採用しています。Arch Linuxのインストール手順は、どちらのモードで起動したかによって、パーティション構成やブートローダーの設定方法が異なります。
- BIOS: 古い方式。ディスクの先頭にあるMaster Boot Record (MBR) を読み込んで起動プロセスを開始します。
- UEFI: 新しい方式。EFI System Partition (ESP) に置かれたEFIアプリケーション(ブートローダーなど)を起動します。GPTパーティションテーブルと組み合わせて使われるのが一般的です。
インストールメディアを起動する際に、PCがUEFIモードで起動するように設定することをお勧めします。 特にWindowsがUEFIでインストールされている場合、同じモードでLinuxをインストールしないと後々問題が起こる可能性があります。
3. ライブメディアでの起動
作成したインストール用USBメモリをPCに挿入し、PCの電源を入れてUEFI/BIOS設定画面に入り、USBメモリから起動するように起動順序を変更します。UEFI/BIOS設定画面への入り方はPCメーカーによって異なりますが、起動時にF2, F10, F12, Delキーなどを押すのが一般的です。
USBメモリから起動すると、GRUBブートローダーのメニューが表示されます。
Arch Linux install medium (x86_64)
Unified Extensible Firmware Interface (UEFI) - GRUB 2.06
_ Boot Arch Linux (x86_64)
_ Boot Arch Linux (x86_64) with fallback initramfs
_ Boot existing OS
_ UEFI Firmware Settings
通常は一番上の Boot Arch Linux (x86_64)
を選択してEnterキーを押します。すると、Linuxカーネルが起動し、Arch Linuxのライブ環境が立ち上がります。
数秒から数分後、コマンドプロンプトが表示され、root@archiso ~ #
のような表示になっているはずです。これで、Arch Linuxのライブ環境にrootユーザーとしてログインされた状態です。
3.1. キーボードレイアウトの設定
デフォルトのキーボードレイアウトはUS配列です。日本語キーボードなど、他の配列を使用している場合は、ここで設定します。
利用可能なキーマップリストを見るには:
bash
localectl list-keymaps
日本語106キーボードの場合は、以下のコマンドを実行します。
bash
loadkeys jp106
これでキーボードが設定したレイアウトになります。
3.2. ブートモードの確認
ライブ環境がUEFIモードで起動したか、それともBIOSモードで起動したかを確認します。
bash
ls /sys/firmware/efi/efivars
このコマンドを実行して、ファイルやディレクトリが表示されれば、UEFIモードで起動しています。もし「そのようなファイルやディレクトリはありません」といったエラーが表示される場合は、BIOSモードで起動しています。以降の手順、特にパーティション分割とブートローダーの設定が異なりますので、ご自身の環境がどちらで起動しているかを把握しておいてください。本記事ではUEFIモードでのインストールをメインに解説し、BIOSモードでの違いも補足します。
3.3. インターネット接続の確認と設定
Arch Linuxのインストールプロセスでは、インターネットからパッケージをダウンロードするため、ネットワーク接続が必須です。
有線接続
有線LANケーブルで接続している場合、通常はDHCPによって自動的にIPアドレスが割り当てられ、インターネットに接続されています。以下のコマンドで確認できます。
bash
ip link # ネットワークインターフェース名を確認 (例: eth0, enpXsY)
ip addr show eth0 # または他のインターフェース名
ping -c 3 archlinux.org
ping
コマンドで応答があれば、インターネットに接続できています。
無線接続
無線LAN (Wi-Fi) で接続する場合は、手動での設定が必要です。Arch Linuxライブ環境では、iwctl
(iNet wireless daemon) というツールを使うのが最も簡単です。
-
Wi-Fiデバイス名を確認します。
bash
iwctl device list出力例:
DEVICE MODE STATE CONFIG
wlan0 station disconnected /var/lib/iwd/etc
デバイス名(例:wlan0
)をメモしておきます。 -
利用可能なネットワークをスキャンします。
bash
iwctl station wlan0 scan # wlan0を実際のデバイス名に置き換える -
スキャン結果を表示します。
bash
iwctl station wlan0 get-networks表示されたリストから接続したいSSID(ネットワーク名)を確認します。
-
ネットワークに接続します。
bash
iwctl station wlan0 connect "Your_SSID" # "Your_SSID"を接続したいSSIDに置き換えるパスワードの入力を求められたら、Wi-Fiのパスワードを入力します。接続に成功すると、
Connected
と表示されます。 -
インターネット接続を確認します。
bash
ping -c 3 archlinux.orgping
が成功すれば接続完了です。
*(wpa_supplicant
を使って無線接続する方法もありますが、iwctl
の方がシンプルです。詳細はArch Wikiを参照してください。)
3.4. システム時刻の同期
システム時刻を正確に設定することは、特にパッケージのダウンロードなどで重要です。NTP (Network Time Protocol) を使って時刻を同期します。
bash
timedatectl status
現在の時刻と同期状態を確認します。NTP service: inactive
の場合は、NTP同期を有効にします。
bash
timedatectl set-ntp true
これでシステム時刻が自動的に同期されます。
4. パーティション分割
次に、Arch Linuxをインストールするディスクのパーティション分割を行います。このステップで誤った操作をすると、既存のデータが全て消去される可能性があります。
4.1. ディスクデバイスの確認
PCに接続されているストレージデバイスとそのパーティションを確認します。
bash
lsblk
出力例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 512M 0 part
├─sda2 8:2 0 100G 0 part
└─sda3 8:3 0 830.9G 0 part
sdb 8:16 1 14.8G 0 disk /run/media/user/ARCH_2023xx
└─sdb1 8:17 1 14.8G 0 part
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 260M 0 part /mnt/boot
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 200G 0 part /mnt
└─nvme0n1p4 259:4 0 276.6G 0 part
sda
, sdb
, nvme0n1
などがディスクデバイス全体を表し、それに続く数字 (sda1
, nvme0n1p1
) がパーティションです。サイズや既存のMOUNTPOINTから、インストール先のディスクを特定します。ここではインストール先のディスクが/dev/sdX
または/dev/nvme0n1
であると仮定して説明を進めます。
4.2. パーティショニングツールの選択
Arch Linuxのライブ環境にはいくつかのパーティショニングツールが用意されています。
fdisk
: MBR (Master Boot Record) ディスクに適したツール。gdisk
: GPT (GUID Partition Table) ディスクに適したツール。UEFIシステムで推奨されます。cfdisk
: テキストベースのGUI風ツール。初心者でも比較的使いやすい。parted
: MBR/GPT両対応。スクリプト化しやすいが、対話モードは独特。
UEFIシステムの場合はGPTが推奨されるため、本記事ではgdisk
を使用した手順を解説します。 BIOSシステムでMBRを使用する場合はfdisk
を使用してください。
4.3. gdisk
を使ったパーティション分割 (UEFI + GPTの場合)
インストール先のディスクデバイス(例: /dev/sdX
)を指定してgdisk
を起動します。
bash
gdisk /dev/sdX # または /dev/nvme0n1 など
重要: 既存のパーティション構成を完全に消去して新規に作成する場合、o
コマンドで新しいGPTパーティションテーブルを作成します。この操作はディスク上の既存データを全て消去します。
“`
gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.9
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option wipes out all partition data on the disk.
(…確認メッセージ…)
OK to wipe this MBR and create a new empty GPT? (Y/N): Y
“`
Command (? for help):
プロンプトが表示されます。主要なコマンドは以下の通りです。
?
: ヘルプを表示p
: 現在のパーティションテーブルを表示n
: 新しいパーティションを作成d
: パーティションを削除w
: 変更をディスクに書き込む(この時点まで変更はメモリ上のみ)q
: gdiskを終了(変更は破棄される)
推奨パーティション構成 (UEFI + GPT)
一般的に以下のパーティション構成が推奨されます。
- EFIシステムパーティション (ESP): ブートローダーを格納。
- タイプコード:
ef00
(EFI system) - サイズ: 200MB – 512MB (512MBを推奨)
- ファイルシステム: FAT32
- タイプコード:
- ルートパーティション (
/
): OS本体、アプリケーション、設定ファイルなどを格納。- タイプコード:
8300
(Linux filesystem) - サイズ: 20GB以上 (用途によるが、快適に使うなら50GB以上推奨)
- ファイルシステム: ext4などが一般的
- タイプコード:
- スワップパーティション (swap): RAM不足時のデータ退避領域、ハイバネーション用(任意)。
- タイプコード:
8200
(Linux swap) - サイズ: RAMサイズと同等かそれ以上 (ハイバネーションを使うならRAMサイズ以上)
- ファイルシステム: linux-swap
- タイプコード:
- ホームパーティション (
/home
): ユーザーデータや設定ファイルを格納(任意だが推奨)。- タイプコード:
8300
(Linux filesystem) - サイズ: 残りの全容量
- ファイルシステム: ext4などが一般的
- タイプコード:
gdisk
を使ったパーティション作成手順例
1. EFIシステムパーティション (ESP) の作成:
“`
Command (? for help): n
Partition number (1-128, default 1): Enter (または 1 を入力)
First sector (34-…, default …): Enter (デフォルト)
Last sector or size {+size{K,M,G,T,P}} (…, default …): +512M # 512MBを指定
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to list codes, Enter to accept default): ef00 # EFI systemを指定
Changed type of partition to ‘EFI system’
Command (? for help): p # 作成されたパーティションを確認
“`
2. ルートパーティション (/
) の作成:
“`
Command (? for help): n
Partition number (2-128, default 2): Enter (または 2 を入力)
First sector (…, default …): Enter (デフォルト)
Last sector or size {+size{K,M,G,T,P}} (…, default …): +50G # 50GBを指定
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to list codes, Enter to accept default): Enter # デフォルトの 8300 (Linux filesystem) を使う
Changed type of partition to ‘Linux filesystem’
Command (? for help): p # 作成されたパーティションを確認
“`
3. スワップパーティション (swap) の作成:
“`
Command (? for help): n
Partition number (3-128, default 3): Enter (または 3 を入力)
First sector (…, default …): Enter (デフォルト)
Last sector or size {+size{K,M,G,T,P}} (…, default …): +4G # 4GBを指定 (RAMサイズに合わせて調整)
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to list codes, Enter to accept default): 8200 # Linux swapを指定
Changed type of partition to ‘Linux swap’
Command (? for help): p # 作成されたパーティションを確認
“`
4. ホームパーティション (/home
) の作成 (任意):
“`
Command (? for help): n
Partition number (4-128, default 4): Enter (または 4 を入力)
First sector (…, default …): Enter (デフォルト)
Last sector or size {+size{K,M,G,T,P}} (…, default …): Enter # 残り全てを使用
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to list codes, Enter to accept default): Enter # デフォルトの 8300 を使う
Changed type of partition to ‘Linux filesystem’
Command (? for help): p # 作成されたパーティション構成全体を確認
“`
5. 変更の書き込み:
パーティション構成を確認し、問題がなければディスクに書き込みます。
Command (? for help): w
確認のプロンプトが表示されるので、Y
と入力してEnterを押します。
“`
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
“`
書き込みが完了すると、gdisk
は終了します。
4.4. パーティション構成の再確認
gdisk
終了後、再度lsblk
を実行して、意図したパーティションが作成されているか確認します。
bash
lsblk
sda1
, sda2
, sda3
, sda4
(または nvme0n1p1
, nvme0n1p2
など) のように、作成したパーティションが表示されているはずです。以降の手順では、これらのデバイス名を正確に指定する必要があります。
BIOS + MBRの場合はfdisk
を使用します。 手順はgdisk
と似ていますが、タイプコードが異なります(例: Linuxは83
、Swapは82
)。MBRでは最大4つのプライマリパーティション、または3つのプライマリパーティションと1つの拡張パーティション(論理パーティションを複数作成可能)に制限があります。BIOSの場合、MBR自体にブートローダーの一部が書き込まれるため、別途BIOSブートパーティションは不要です(GPT over BIOSの場合は必要)。
5. ファイルシステムの作成
パーティションを区切っただけではまだデータは保存できません。それぞれのパーティションにファイルシステムを作成する必要があります。
- EFIシステムパーティション: FAT32
- ルートパーティション (
/
): ext4 (推奨) - スワップパーティション: linux-swap
- ホームパーティション (
/home
): ext4 (任意)
以下のコマンドを実行してファイルシステムを作成します。/dev/sdXn
の部分は、先ほどlsblk
で確認した実際のパーティションデバイス名に置き換えてください。
EFIシステムパーティション:
bash
mkfs.fat -F 32 /dev/sdX1 # FAT32ファイルシステムを作成
-F 32
はFAT32を指定します。
ルートパーティション:
bash
mkfs.ext4 /dev/sdX2 # ext4ファイルシステムを作成
他のファイルシステム(XFS, Btrfsなど)を使用したい場合は、対応するmkfs
コマンドを使用してください。ルートパーティションにファイルシステムラベルを付けることもできます(例: mkfs.ext4 -L ROOT /dev/sdX2
)。
スワップパーティション:
bash
mkswap /dev/sdX3 # スワップ領域を初期化
スワップ領域として初期化したら、すぐに有効にしておきます。
bash
swapon /dev/sdX3 # スワップを有効化
スワップ領域が有効になったか確認するにはswapon --show
またはfree -h
コマンドを使用します。
ホームパーティション (オプション):
bash
mkfs.ext4 /dev/sdX4 # ext4ファイルシステムを作成
ホームパーティションにもラベルを付けると便利です(例: mkfs.ext4 -L HOME /dev/sdX4
)。
6. パーティションのマウント
次に、インストール先のパーティションを、ライブ環境のファイルシステムツリーにマウントします。すべてのファイルシステムは、最終的に新システムのルートディレクトリになる/mnt
以下にマウントされます。
ルートパーティションを/mnt
にマウント:
bash
mount /dev/sdX2 /mnt # ルートパーティションをマウント
EFIシステムパーティションをマウント:
ブートローダーなどを配置するために、ESPを/mnt
以下の適切な場所にマウントします。/mnt/boot
または/mnt/efi
が一般的です。ここでは/mnt/boot
にマウントする場合を解説します。
-
マウントポイントとなるディレクトリを作成します。
bash
mkdir /mnt/boot -
EFIシステムパーティションをマウントします。
bash
mount /dev/sdX1 /mnt/boot # EFIシステムパーティションをマウント
**(注意: /mnt/efi
にマウントすることも可能ですが、ブートローダーの設定(特にGRUB)でパスを指定する際に注意が必要です。どちらを選んでも構いませんが、一貫性を持たせることが重要です。)
ホームパーティションをマウント (オプション):
ホームパーティションを作成した場合、これもマウントします。
-
マウントポイントとなるディレクトリを作成します。
bash
mkdir /mnt/home -
ホームパーティションをマウントします。
bash
mount /dev/sdX4 /mnt/home # ホームパーティションをマウント
6.1. マウント状態の確認
全てのパーティションが正しくマウントされているか確認します。
bash
lsblk
/mnt
, /mnt/boot
(および/mnt/home
があれば) にそれぞれのパーティションがマウントされていることが表示されるはずです。
bash
findmnt /mnt
このコマンドは、指定したマウントポイント以下のマウント情報をツリー形式で表示してくれます。これも確認に便利です。
7. 基本システムのインストール
ファイルシステムが整ったので、いよいよArch Linuxの基本システムをインストールします。これにはpacstrap
というスクリプトを使用します。
7.1. ミラーリストの更新・設定
パッケージをダウンロードするサーバー(ミラーサーバー)は、ダウンロード速度に影響します。ダウンロード元のミラーリストを編集し、高速なサーバーを優先することで、インストールやその後のパッケージ管理が快適になります。
ミラーリストファイルは/etc/pacman.d/mirrorlist
です。
bash
nano /etc/pacman.d/mirrorlist
nano
エディタが開きます。ファイルの先頭に、お住まいの地域に近い、または高速と思われるミラーサーバーのアドレスが書かれた行を探し、行頭の#
を削除してコメントアウトを解除します。複数のサーバーを有効にしても構いませんが、あまり多すぎても意味がありません。日本のサーバーはファイルの下の方にあることが多いです。
例:
“`
Arch Linux repository mirrorlist
… (中略) …
Japan
Server = http://ftp.jaist.ac.jp/pub/archlinux/$repo/os/$arch
Server = http://rbc.repo.archlinux.jp/pub/archlinux/$repo/os/$arch
Server = http://kobe.repo.archlinux.jp/$repo/os/$arch
Server = http://tyo.repo.archlinux.jp/$repo/os/$arch
… (以下略) …
“`
編集が終わったら、Ctrl+X、Y、Enterで保存して閉じます。
ミラーリストの変更をpacmanに反映させ、パッケージデータベースを更新します。
bash
pacman -Syy
-Syy
オプションは、ローカルのパッケージデータベースを強制的にミラーサーバーと同期させます。
7.2. 基本パッケージのインストール
pacstrap
コマンドを使って、ルートディレクトリ(/mnt
)に基本システムを構成するパッケージをインストールします。
bash
pacstrap /mnt base base-devel linux linux-firmware
/mnt
: インストール先のルートディレクトリ。base
: 必要最小限のArch Linux基本システムを構成するパッケージグループ。base-devel
: C/C++コンパイラやmakeなど、ソフトウェアのビルドに必要なツール群。後のAUR利用などで必要になるため、ここでインストールしておくと便利です。linux
: Arch Linux標準のLinuxカーネル。linux-firmware
: カーネルがハードウェアを認識・動作させるために必要なファームウェアファイル群。
このコマンドを実行すると、指定されたパッケージとその依存関係にある全てのパッケージがダウンロードされ、/mnt
以下にインストールされます。インターネット接続速度によりますが、これにはしばらく時間がかかります。
8. fstabの生成
fstab
(file system table) は、システム起動時にどのパーティションをどこにマウントするか、どのようなオプションでマウントするかを定義する重要なファイルです。インストールされたシステム用の/etc/fstab
ファイルを自動生成します。
bash
genfstab -U /mnt >> /mnt/etc/fstab
genfstab
: マウントされているパーティションを基にfstabファイルの内容を生成するツール。-U
: デバイス名をUUID (Universally Unique Identifier) で指定するオプション。デバイス名(/dev/sdXn
)はPCの構成によって変わる可能性がありますが、UUIDは一意なので、UUIDで指定するのが最も信頼性が高く推奨されます。/mnt
: fstabファイルを生成する対象のルートディレクトリ。>> /mnt/etc/fstab
: 生成された内容を、インストール先の/mnt/etc/fstab
ファイルに追記します。
生成された/mnt/etc/fstab
ファイルの内容を確認しておきましょう。
bash
cat /mnt/etc/fstab
UUIDで各パーティションが指定され、マウントポイント(/
, /boot
, [SWAP]
, /home
など)、ファイルシステムタイプ、マウントオプションなどが記載されているはずです。必要に応じて、nano /mnt/etc/fstab
などで編集することも可能です(例: SSDの場合はnoatime
オプションを追加すると性能向上に繋がる場合があります)。スワップパーティションのエントリがあることも確認してください。
9. chroot環境への移行
これまではインストールメディアのライブ環境で作業してきましたが、ここからは新しくインストールしたシステム内で各種設定を行います。これを行うために、arch-chroot
コマンドを使ってルートディレクトリを/mnt
に切り替えます。
bash
arch-chroot /mnt
このコマンドを実行すると、コマンドプロンプトの外見は変わらないかもしれませんが(または単に#
に戻るなど)、現在のシェル環境のルートディレクトリが/mnt
に切り替わります。つまり、今後は/etc/
, /bin/
, /home/
などが、先ほどインストールしたArch Linuxのファイルシステムを指すようになります。
ここからの作業は、まるで新しくインストールされたArch Linux上で直接操作しているのと同じことになります。
10. システムの基本的な設定 (chroot環境内)
chroot環境に入ったら、新システムが正しく動作するための基本的な設定を行います。
10.1. タイムゾーンの設定
システムクロックとタイムゾーンを設定します。
-
タイムゾーンを設定します。
/usr/share/zoneinfo/
以下にあるタイムゾーンファイルを、/etc/localtime
にシンボリックリンクします。日本の場合はAsia/Tokyo
です。bash
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime -
ハードウェアクロックをUTCに設定します。多くのLinuxシステムで推奨される設定です。
bash
hwclock --systohcハードウェアクロックをローカル時刻に設定したい場合は
--localtime
オプションを使いますが、異なるOSとのデュアルブート環境などで問題が発生することがあります。UTCを推奨します。
10.2. ロケールの設定
システムが使用する言語や文字セット(ロケール)を設定します。日本語を表示・入力可能にするために必要です。
-
/etc/locale.gen
ファイルを編集します。bash
nano /etc/locale.genこのファイルには、利用可能なロケールがコメントアウトされた状態でリストされています。使用したいロケール(例:
en_US.UTF-8 UTF-8
とja_JP.UTF-8 UTF-8
)を探し、行頭の#
を削除してコメントアウトを解除します。最低限en_US.UTF-8 UTF-8
は有効にしておくことを推奨します。 -
編集した
locale.gen
ファイルに基づいてロケールを生成します。bash
locale-gen -
システム全体のロケールを設定します。
/etc/locale.conf
ファイルを作成し、システムのデフォルトロケールを定義します。bash
nano /etc/locale.confファイルに以下の行を記述します。
LANG=en_US.UTF-8
コンソール環境での文字化けを防ぐため、
LANG=en_US.UTF-8
を設定することを推奨します。GUI環境での表示言語は、デスクトップ環境やアプリケーションの設定で別途日本語にできます。もしコンソールでも日本語表示・入力をしたい場合は、LANG=ja_JP.UTF8
を指定し、さらに/etc/vconsole.conf
でフォント設定を行う必要があります。/etc/vconsole.conf
の設定例(日本語コンソールの場合):KEYMAP=jp106
FONT= latarcyrheb-sun32 # または他の日本語対応フォント
この設定は、locale-gen
後に行う必要があります。
10.3. ネットワーク設定
システム起動後に自動的にネットワークに接続するための設定を行います。ホスト名の設定とネットワーク管理ツールの有効化が必要です。
-
ホスト名を設定します。
/etc/hostname
ファイルに任意のコンピューター名を記述します。bash
nano /etc/hostnameファイルに以下の例のようにホスト名を記述し保存します。
myarchpc
-
/etc/hosts
ファイルを編集します。bash
nano /etc/hosts以下の内容を記述します。
myarchpc
の部分は上で設定したホスト名に置き換えてください。127.0.0.1 localhost
::1 localhost
127.0.1.1 myarchpc.localdomain myarchpcこれにより、ホスト名が正しく解決できるようになります。
-
ネットワーク管理ツールをインストールし、有効化します。Arch Linuxでよく使われるのはNetworkManagerです。
bash
pacman -S networkmanagerインストール後、システム起動時にNetworkManagerサービスが自動的に起動するように設定します。
bash
systemctl enable NetworkManagerこれで、再起動後にNetworkManagerが起動し、有線接続であれば自動的にDHCPで接続されるはずです。無線接続の場合は、GUIツール(後述)や
nmcli
コマンドなどで別途接続設定が必要になります。
10.4. rootパスワードの設定
rootユーザーのパスワードを設定します。これはシステム管理に必要なため必須です。
bash
passwd
新しいパスワードの入力を2回求められます。強力なパスワードを設定してください。
10.5. microcodeのインストール
CPUのマイクロコードは、CPUのバグ修正や機能改善のためのアップデートです。カーネルより前にロードされることで、システムの安定性やパフォーマンスが向上する場合があります。お使いのCPUに合わせてインストールしてください。
-
Intel CPUの場合:
bash
pacman -S intel-ucode -
AMD CPUの場合:
bash
pacman -S amd-ucode
マイクロコードパッケージをインストールしたら、ブートローダーがこれを読み込むように設定が必要です。多くのブートローダー(GRUBなど)は、インストールされているマイクロコードパッケージを自動的に検出して設定を生成します(後述のGRUB設定生成手順で自動的に組み込まれます)。
11. ブートローダーのインストールと設定
インストールしたArch Linuxを起動するためには、ブートローダーが必要です。ここでは最も一般的で柔軟なGRUB (GRand Unified Bootloader) を使用した設定方法を解説します。
11.1. GRUBと関連パッケージのインストール
GRUBと、UEFIシステムの場合はefibootmgr
パッケージをインストールします。
“`bash
pacman -S grub efibootmgr # UEFIの場合
BIOSの場合: pacman -S grub
“`
efibootmgr
は、UEFIファームウェアのブートエントリを操作するために必要なツールです。
11.2. GRUBのインストール(UEFIの場合)
GRUBを、手順6でマウントしたEFIシステムパーティション(ESP)にインストールします。
bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux
--target=x86_64-efi
: UEFIシステム向けのターゲットを指定します。--efi-directory=/boot
: EFIシステムパーティションがマウントされているディレクトリを指定します。手順6で/mnt/boot
にマウントし、現在はchroot環境にいるため、/boot
を指定します。--bootloader-id=ArchLinux
: UEFIファームウェアに登録されるブートエントリの名前を指定します。これは起動時のUEFIブートメニューに表示される名前になります。分かりやすい名前をつけましょう。
このコマンドは、必要なGRUBファイル群をESP内にコピーし、UEFIファームウェアに新しいブートエントリを登録します。
11.3. GRUB設定ファイルの生成
GRUBが起動時にどのようなメニューを表示し、どのカーネルオプションでシステムを起動するかを定義する設定ファイル/boot/grub/grub.cfg
を生成します。
bash
grub-mkconfig -o /boot/grub/grub.cfg
grub-mkconfig
:grub.cfg
ファイルを生成するスクリプト。-o /boot/grub/grub.cfg
: 生成した設定ファイルを保存する場所を指定します。ESP内にマウントされている/boot
以下のGRUBディレクトリに保存します。
このコマンドは、インストールされているカーネル(linux
)、検出されたマイクロコード(intel-ucode
またはamd-ucode
)、そして/etc/fstab
の内容などから、自動的に起動エントリを生成します。生成中のメッセージに、Arch Linuxのカーネルやinitramfs、そしてマイクロコードが検出され、メニューエントリが追加されていることが表示されるはずです。
11.4. GRUBのインストール(BIOSの場合)
BIOSシステムでMBRパーティションを使用している場合は、GRUBをディスクのMBR(またはBIOSブートパーティション if GPT)にインストールします。
bash
grub-install --target=i386-pc /dev/sdX
--target=i386-pc
: BIOSシステム向けのターゲットを指定します。/dev/sdX
: ブート対象のディスクデバイス全体を指定します(パーティション番号は付けません)。MBRにブートローダーを書き込みます。
もしBIOSシステムでGPTを使用している場合は、MBRに相当する領域(BIOSブートパーティション、タイプコードef02
)を別途作成し、そこにGRUBのコアイメージをインストールする必要があります。この場合、grub-install
コマンドにそのパーティションを指定するオプションが必要になります。ここでは割愛しますが、Arch WikiのGRUBのページを参照してください。
設定ファイルの生成はUEFIの場合と同様です。
bash
grub-mkconfig -o /boot/grub/grub.cfg
これでGRUBの設定は完了です。再起動時にこのブートローダーが起動し、Arch Linuxを選択して起動できるようになります。
12. ユーザーアカウントの作成
rootユーザーは強力な権限を持ち、日常的な操作に使うのは危険です。通常は、root以外の一般ユーザーアカウントを作成して使用します。
12.1. 新しいユーザーの作成
useradd
コマンドを使って新しいユーザーアカウントを作成します。
bash
useradd -m -G wheel,audio,video,storage,network,power yourusername
useradd
: 新しいユーザーを追加するコマンド。-m
: ユーザーのホームディレクトリ(/home/yourusername
)を作成します。-G wheel,audio,video,...
: ユーザーが所属する追加グループを指定します。wheel
グループは後でsudo
権限を付与するためによく使われます。他のグループは、サウンド、ビデオ、ストレージデバイス、ネットワーク、電源管理などのハードウェア機能へのアクセスを許可するためによく使われます。必要なグループは環境に応じて追加/削除してください。yourusername
: 作成するユーザー名に置き換えてください。
12.2. ユーザーパスワードの設定
作成したユーザーアカウントにパスワードを設定します。
bash
passwd yourusername
新しいパスワードの入力を2回求められます。
12.3. sudo
権限の設定 (任意だが推奨)
一般ユーザーが一時的にroot権限でコマンドを実行できるようにするため、sudo
を設定します。多くのディストリビューションと同様に、Arch Linuxでもwheel
グループに所属するユーザーにsudo
権限を付与するのが一般的です。
sudo
の設定ファイルである/etc/sudoers
を編集しますが、直接編集する代わりにvisudo
コマンドを使用することを強く推奨します。visudo
は設定ファイルの構文チェックを行ってくれるため、誤った設定でsudoが使えなくなるという事態を防げます。
“`bash
EDITOR=nano visudo # nanoエディタで編集する場合
または EDITOR=vim visudo # vimエディタで編集する場合
“`
開いたファイルの中から、以下の行を探します。
“`
%wheel ALL=(ALL) ALL
“`
この行の先頭にある#
を削除してコメントアウトを解除します。
%wheel ALL=(ALL) ALL
これで、wheel
グループに所属するユーザーは、パスワードを入力することで全てのコマンドをroot権限で実行できるようになります。編集が終わったら保存して閉じます(nanoならCtrl+X, Y, Enter)。
13. その他の設定(任意)
ここまでの手順で、コマンドラインベースの最小限のArch Linux基本システムが構築されました。GUIデスクトップ環境や追加のアプリケーションが必要な場合は、引き続きchroot環境内でインストール・設定を行います。これらは必須ではありませんし、インストール後でもいつでも可能です。
- Xorg (X Window System) のインストール: GUI環境の基盤となるサーバーです。
bash
pacman -S xorg - グラフィックドライバーのインストール: お使いのグラフィックカードに合わせたドライバーをインストールします。Intel, AMD, NVIDIAなど。詳細はArch Wikiを参照してください。
bash
pacman -S xf86-video-intel # Intelの場合
pacman -S xf86-video-amdgpu # AMDの場合
pacman -S nvidia nvidia-settings # NVIDIAの場合 (非OSSドライバー) - ディスプレイマネージャー (DM) のインストール: ログイン画面を提供します。例: LightDM, GDM (GNOME), SDDM (KDE)。
bash
pacman -S lightdm lightdm-gtk-greeter # 例: LightDMとそのグリーター
systemctl enable lightdm # 起動時に有効化 - デスクトップ環境 (DE) またはウィンドウマネージャー (WM) のインストール: GNOME, KDE Plasma, Xfce, LXQt, i3, Awesomeなど。
bash
pacman -S xfce4 xfce4-goodies # 例: Xfceをインストール
# インストールしたDE/WMに合わせて、DMの設定や~/.xinitrcなどの設定が必要 - オーディオサーバーのインストール: サウンドを鳴らすために必要です。PipeWireまたはPulseaudioが主流です。
bash
pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack # PipeWireの場合
# または pacman -S pulseaudio pulseaudio-alsa # Pulseaudioの場合 - 日本語入力メソッドのインストール: GUI環境で日本語を入力するために必要です。例: fcitx5 + Mozc。
bash
pacman -S fcitx5 fcitx5-mozc fcitx5-gtk fcitx5-qt
インストール後、GUI環境の起動スクリプト(例:~/.xprofile
,~/.bashrc
など)に環境変数を設定する必要があります(例:export GTK_IM_MODULE=fcitx
,export QT_IM_MODULE=fcitx
,export XMODIFIERS=@im=fcitx
)。
これらの設定は多岐にわたるため、詳細はArch Wikiや各ソフトウェアのドキュメントを参照してください。本記事の目標は基本システムの構築までなので、ここでは簡単な紹介に留めます。
14. インストールの完了と再起動
基本システムのインストールと設定が完了したら、chroot環境を終了し、パーティションのマウントを解除してシステムを再起動します。
-
chroot環境から抜けます。
bash
exitプロンプトがライブ環境のもの(例:
root@archiso ~ #
)に戻ったことを確認してください。 -
インストール先のパーティションを全てアンマウントします。
/mnt
以下にマウントされているパーティションを再帰的にアンマウントするには、-R
オプションが便利です。bash
umount -R /mntもしスワップを有効にしていた場合は、無効にしておくと再起動時に問題が起きにくい場合があります(必須ではない)。
bash
swapoff /dev/sdX3 # スワップパーティションのデバイス名に置き換えるumount -R /mnt
でエラーが表示された場合、何かプロセスが/mnt
以下のファイルシステムを使用している可能性があります。lsof /mnt
などで確認できますが、通常は発生しないはずです。エラーが出なければ成功です。 -
システムを再起動します。
bash
rebootPCが再起動する前に、必ずインストールに使用したUSBメモリを取り外してください! 取り外さないと、再度ライブ環境が起動してしまいます。
15. 初回起動とログイン
USBメモリを取り外して再起動すると、先ほどインストールしたGRUBブートローダーが表示され、Arch Linuxの起動エントリが表示されるはずです。
Arch Linux
を選択してEnterキーを押すと、新しくインストールされたArch Linuxシステムが起動します。起動プロセスを示すメッセージが流れた後、ログインプロンプトが表示されます。
“`
Arch Linux myarchpc tty1
myarchpc login: _
“`
ここで、手順12で作成したユーザー名(例: yourusername
)とパスワードを入力してログインします。rootでログインする場合は、ユーザー名にroot
と入力し、手順10.4で設定したrootパスワードを入力します。
ログインに成功すると、コマンドラインシェルが表示されます。
[yourusername@myarchpc ~]$ _
15.1. ネットワーク接続の確認
ログイン後、まずインターネットに接続できているか確認しましょう。手順10.3でNetworkManagerを有効にしていれば、有線接続の場合は自動的に接続されているはずです。
bash
ping -c 3 archlinux.org
応答があればインターネットに接続できています。無線接続の場合は、nmcli device wifi list
でSSIDを確認し、nmcli device wifi connect "Your_SSID" password "your_password"
などで接続する必要があります。GUI環境がある場合は、デスクトップ環境付属のネットワークマネージャーアプレットを使うのが簡単です。
15.2. システムのアップデート
システムにログインし、インターネットに接続されたら、まず最初にシステム全体を最新の状態にアップデートすることを強く推奨します。
bash
sudo pacman -Syu
sudo
: root権限でコマンドを実行(一般ユーザーでログインした場合)。rootでログインしている場合は不要です。pacman -Syu
: パッケージデータベースを同期し (-Sy
)、インストールされている全パッケージをアップグレード (-u
) するコマンド。
もしインストールメディアが古かった場合など、多数のパッケージがアップグレードされることがあります。:: Replace package-name with extra/new-package? [Y/n]
のようなプロンプトが表示されることがありますが、基本的にはEnterキーでデフォルト(Y)を選択して進めて問題ありません。
16. トラブルシューティング
Arch Linuxのインストールは他のディストリビューションに比べて手動での作業が多く、エラーが発生しやすいかもしれません。問題が発生した場合の一般的な対処法をいくつか紹介します。
- Arch Wikiを調べる: 繰り返しになりますが、これが最も重要です。エラーメッセージや状況をArch Wikiで検索すると、解決策が見つかる可能性が非常に高いです。
- インストールメディアで再起動し、chrootする: 起動できなくなった場合など、インストールメディアで再度PCを起動し、手順3-6と同様にパーティションをマウントし、手順9で
arch-chroot
を使ってインストール先のシステム環境に入り込みます。こうすることで、インストールしたシステム上で設定ファイルの編集やパッケージの再インストール、ログの確認などが可能になります。- パーティションをマウント:
mount /dev/sdXn /mnt
,mkdir /mnt/boot
,mount /dev/sdX1 /mnt/boot
… - chroot:
arch-chroot /mnt
- 問題の調査・修正:
/etc/fstab
を確認、grub-mkconfig
を再実行、パッケージを再インストール(pacman -S package-name
)、ジャーナルログを確認(journalctl -xe
)など。
- パーティションをマウント:
- GRUBが起動しない:
- UEFIの場合: BIOS/UEFI設定でブート順序を確認。
ArchLinux
というUEFIエントリがあるか確認。無ければgrub-install
が正しく実行されたか確認。ESPが正しくマウントされていたか確認。 - BIOSの場合: BIOS設定で正しいディスクから起動しているか確認。
grub-install
がMBRに正しくインストールされたか確認。
- UEFIの場合: BIOS/UEFI設定でブート順序を確認。
- カーネルパニックや起動時のエラー:
- ブートローダーの設定(
grub.cfg
)でカーネルオプションが正しく設定されているか確認。/etc/fstab
の内容が正しいか確認。 linux-firmware
がインストールされているか確認。- ハードウェアの問題の可能性も考慮。
- ブートローダーの設定(
- インターネットに繋がらない:
- NetworkManagerなどのネットワーク管理サービスが有効化 (
systemctl enable NetworkManager
) され、起動しているか (systemctl status NetworkManager
) 確認。 ip addr
でIPアドレスが割り当てられているか確認。- DHCPクライアント(
dhclient
やdhcpcd
)を手動で実行してIPアドレスを取得できるか試す。
- NetworkManagerなどのネットワーク管理サービスが有効化 (
- コマンドのスペルミス、デバイス名の入力ミス: 再度コマンドを確認。
lsblk
でデバイス名を再確認。 - キーボードレイアウト: パスワード入力などで困ったら、
loadkeys jp106
などでレイアウトを変更してみる。chroot環境とGUI環境でキーボードレイアウトの設定が異なる場合がある。
落ち着いてエラーメッセージを読み、どのステップで問題が発生しているかを切り分け、Arch Wikiや他の情報源を活用して解決策を探してください。
17. まとめ
本記事では、Arch Linuxの最小限の基本システムをコマンドラインからインストールする手順を詳細に解説しました。他のディストリビューションのように、インストーラーが全てを自動で行ってくれるわけではありませんが、その代わりに、ご自身のPC上で何が起こっているのか、どのようなコンポーネントでシステムが成り立っているのかを深く理解することができます。
Arch Linuxのインストールは、Linuxの仕組みを学ぶための素晴らしい機会となります。手間はかかりますが、その分、自分の手でシステムを構築し、完全にカスタマイズされた環境を手に入れるという達成感は大きいでしょう。
基本システムがインストールできたら、次はご自身の好みに合わせてデスクトップ環境、ウィンドウマネージャー、各種アプリケーションなどをインストールし、システムをさらに育てていくフェーズに入ります。
pacman
コマンドをさらに活用する。- AUR (Arch User Repository) からパッケージをインストール・管理する(
yay
などのAURヘルパーツールの利用)。 - Xorgやグラフィックドライバー、デスクトップ環境(GNOME, KDE, Xfceなど)をインストール・設定する。
- 日本語入力メソッドを設定する。
- プリンター、スキャナー、Bluetoothなどのハードウェアを設定する。
これらの情報は、Arch Wikiに豊富に用意されています。
Arch Linuxの世界へようこそ! この冒険を楽しんでください。
免責事項: 本記事は一般的なArch Linuxのインストール手順を解説するものですが、全てのハードウェア構成や状況に対応できるものではありません。手順の実行にあたっては、必ずご自身の責任において行ってください。データの損失やその他の損害が発生した場合でも、筆者および本記事の提供者は一切の責任を負いません。最新の情報や特定のハードウェアに関する情報は、必ず公式のArch Wikiを参照してください。
総文字数は約5000語を目指して執筆しました。各コマンドの意味や理由を詳細に解説することで、単純なコマンドリストにならないように工夫しました。図解は含まれませんが、ステップごとの操作内容とコマンドラインの出力を想定した説明で補完しています。