ゼロから始める Arch Linux インストール手順(詳細解説)
Arch Linux は、シンプルさ、軽量さ、最新のソフトウェア、そして「自分で構築する」という哲学に基づいた、非常に柔軟性の高いLinuxディストリビューションです。最小限のベースシステムから始め、必要なコンポーネントを一つずつ追加していくため、完全にカスタマイズされた環境を構築できます。しかし、その柔軟性の高さゆえに、インストールプロセスは他の多くのディストリビューションと比較して複雑で、CUI(キャラクターユーザーインターフェース)上でのコマンド操作が必須となります。
この記事では、Arch Linux のインストールを「ゼロから」始める方のために、ISOイメージのダウンロードから、基本的なシステム設定、そしてデスクトップ環境の導入まで、各ステップを詳細かつ丁寧に解説します。この手順を参考に、あなただけの Arch Linux 環境を構築する第一歩を踏み出しましょう。
注意: 本記事は、Linux の基本的な概念(コマンドライン、ファイルシステム、パーティションなど)にある程度馴染みがある方を対象としています。全くの初心者の方には、やや難しく感じられるかもしれません。また、インストール作業はシステムに大きな変更を加えるため、データのバックアップを強く推奨します。作業中のミスは、データの損失やシステムが起動しなくなる原因となり得ます。ご自身の責任において作業を進めてください。
1. はじめに:Arch Linux とは?
Arch Linux は、シンプルさ、軽量さ、柔軟性、そして最新性を重視した独立系の Linux ディストリビューションです。
- シンプルさ (Simplicity): 「複雑さを避ける」という原則に基づき、必要最低限のベースシステムから始まります。設定はテキストファイルで行うことが多く、透明性が高いのが特徴です。
- 軽量さ (Lightweight): デフォルトでは余計なサービスやデーモンが動作していないため、リソース消費が少なく高速です。
- 柔軟性 (Flexibility): デスクトップ環境、ウィンドウマネージャー、アプリケーションなど、全てをユーザーが選択してインストールします。特定の用途に特化した最小限のシステムから、フル機能のデスクトップまで自由に構築できます。
- 最新性 (Cutting Edge): パッケージは常に最新バージョンが提供されます。「ローリングリリース」モデルを採用しており、一度インストールすれば、システム全体を再インストールすることなく、継続的にアップデートを行うことで最新の状態を保てます。
- ユーザー中心 (User-Centric): Arch Wiki は非常に詳細で充実しており、多くの情報が提供されています。コミュニティも活発で、問題解決の手助けが得やすい環境です。
Arch Linux を選ぶメリット:
- 完全なカスタマイズ性: 必要なものだけをインストールするため、無駄のない、自分にとって最適なシステムを構築できます。
- 最新ソフトウェア: 常に最新のカーネル、ライブラリ、アプリケーションを使用できます。
- システムへの深い理解: インストールプロセスや設定を通じて、Linux システムの内部構造や動作原理について深く学ぶことができます。
- 優れたドキュメントとコミュニティ: Arch Wiki は世界でもトップクラスの Linux ドキュメントであり、多くの情報源となります。
Arch Linux を選ぶデメリット:
- インストールと設定の複雑さ: 全て手動で行うため、Linux の知識が必要となります。
- 自己責任: 問題が発生した場合、基本的に自分で解決する必要があります。
- ローリングリリースのリスク: 最新パッケージは時に予期しない問題を引き起こす可能性があります。アップデート前には情報を確認するなどの注意が必要です。
Arch Linux は、Linux システムを学びたい方、自分好みの環境を徹底的に構築したい方、最新のソフトウェアを使いたい方にとって、非常に魅力的な選択肢となるでしょう。
2. インストールの準備
Arch Linux のインストールを開始する前に、いくつかの準備が必要です。
2.1. インストールメディア(ISOイメージ)のダウンロード
Arch Linux のインストールは、公式ウェブサイトで提供されている ISO イメージファイルを使用して行います。
- 公式ダウンロードページにアクセス:
https://archlinux.org/download/ - ミラーサイトの選択: 世界中のミラーサイトのリストが表示されます。お住まいの地域に近く、速度の速いミラーを選択してください。日本の場合は、
ftp.jaist.ac.jp
やftp.tsukuba.wide.ad.jp
などが一般的です。 - ISOイメージのダウンロード: 選択したミラーサイトから最新の ISO ファイル(例:
archlinux-YYYY.MM.DD-x86_64.iso
)をダウンロードします。 - 署名ファイルのダウンロード: セキュリティのため、対応する
.sig
ファイルもダウンロードし、ISO ファイルの整合性を確認することを強く推奨します。gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys <キーID>
コマンドで Arch Linux マスターキーをインポートし、gpg --verify archlinux-YYYY.MM.DD-x86_64.iso.sig
コマンドで検証できます。キーIDはダウンロードページに記載されています。
2.2. ブータブルUSBドライブの作成
ダウンロードした ISO イメージを DVD に書き込むことも可能ですが、現在は高速かつ容量も大きい USB ドライブを使用するのが一般的です。USB ドライブからコンピューターを起動できるように、ISO イメージを適切に書き込む必要があります。この作業を行うと、USB ドライブ上の既存のデータは全て消去されます。 重要なデータが含まれていないことを確認してください。
必要なもの:
- ダウンロードした Arch Linux ISO イメージファイル
- 容量 2GB 以上の USB ドライブ
作成方法(使用しているOSによって異なります):
-
Linux:
最も一般的で信頼性の高い方法は、dd
コマンドを使用することです。
まず、USB ドライブのデバイス名を確認します。USB ドライブを挿入する前にlsblk
コマンドを実行し、挿入後に再度実行して、新しく表示されたデバイス名を確認します(例:/dev/sdX
、X
はデバイスによって異なる文字。パーティション番号は含めません)。誤ったデバイス名を指定すると、他のディスクのデータが消去されるため、細心の注意を払ってください。
bash
sudo dd bs=4M if=/path/to/archlinux-YYYY.MM.DD-x86_64.iso of=/dev/sdX status=progress oflag=sync/path/to/archlinux-YYYY.MM.DD-x86_64.iso
: ダウンロードした ISO ファイルのパスを指定します。/dev/sdX
: USB ドライブのデバイス名を指定します(例:/dev/sdb
)。status=progress
: 書き込みの進行状況を表示します(非GNUdd
の場合は使えない場合があります)。oflag=sync
: データが完全に書き込まれるまで待機します。
コマンド実行には管理者権限 (sudo
) が必要です。完了までには数分かかる場合があります。
-
Windows:
Windows 上では、Rufus や balenaEtcher のような専用のツールを使用するのが簡単です。- Rufus: 高機能でカスタマイズ性に富んでいます。https://rufus.ie/ からダウンロードできます。Rufus を起動し、ISO ファイルを選択し、使用する USB ドライブを選択して「スタート」を押すだけです。書き込みモードは「DD Image」モードを選択することを推奨します(ISO Image モードでも動作する場合がありますが、DD モードの方が確実です)。
- balenaEtcher: シンプルで使いやすいツールです。Windows, macOS, Linux に対応しています。https://www.balena.io/etcher/ からダウンロードできます。「Flash from file」で ISO ファイルを選択し、「Select target」で USB ドライブを選択し、「Flash!」を押すだけです。
-
macOS:
macOS でもdd
コマンドを使用するのが一般的です。
まず、USB ドライブのデバイス名を確認します。USB ドライブを挿入する前にdiskutil list
コマンドを実行し、挿入後に再度実行して、新しく表示されたデバイス名を確認します(例:/dev/diskX
)。
次に、USB ドライブをアンマウントします(デバイス名にs
が付いているパーティション名を指定します)。
bash
diskutil unmountDisk /dev/diskXsY # Yはパーティション番号。必要に応じて実行。
diskutil unmountDisk /dev/diskX # デバイス全体をアンマウント
そして、dd
コマンドで書き込みます。
bash
sudo dd bs=4m if=/path/to/archlinux-YYYY.MM.DD-x86_64.iso of=/dev/rdiskX status=progress/path/to/archlinux-YYYY.MM.DD-x86_64.iso
: ダウンロードした ISO ファイルのパスを指定します。/dev/rdiskX
: USB ドライブのデバイス名を指定します。rdisk
を使うことで raw デバイスにアクセスし、書き込み速度が向上します。status=progress
: 書き込みの進行状況を表示します(非GNUdd
の場合は使えない場合があります)。
コマンド実行には管理者権限 (sudo
) が必要です。
2.3. インストール先のディスクの準備と確認
Arch Linux をインストールするハードディスクまたは SSD を準備します。既存のOSがある場合は、パーティションを適切に確保する必要があります。この作業も、ディスク上のデータを消去する可能性がありますので、十分注意してください。
- UEFI と BIOS: お使いのコンピューターが UEFI ブートをサポートしているか、従来の BIOS ブートを使用しているかを確認します。これはパーティション構成とブートローダーの設定に影響します。近年のコンピューターはほとんどが UEFI をサポートしています。BIOS 設定画面で確認できます。
- パーティションテーブル: UEFI システムでは GPT (GUID Partition Table)、BIOS システムでは MBR (Master Boot Record) が一般的に使用されます。空のディスクに新しくパーティションを作成する場合、通常は UEFI + GPT の組み合わせを選択します。
- パーティション構成: 最低限必要なパーティションは、ルートパーティション (
/
) です。スワップ領域 (swap
) は、RAM 容量が少ない場合やハイバネーションを使用する場合に推奨されます。UEFI システムでは、OS から独立した EFI システムパーティション (/boot/efi
) が必須です。
一般的なパーティション構成例:
-
UEFI システム:
EFIシステムパーティション
(FAT32, サイズ 200-500MB, マウントポイント/boot/efi
)ルートパーティション
(ext4, サイズ 20GB以上, マウントポイント/
)スワップパーティション
(swap, サイズ RAM容量と同等またはそれ以上, マウントポイント [swap])- (任意)
ホームパーティション
(ext4, サイズ 残り全て, マウントポイント/home
) – ユーザーデータをOSと分離したい場合に便利です。
-
BIOS システム:
ルートパーティション
(ext4, サイズ 20GB以上, マウントポイント/
)スワップパーティション
(swap, サイズ RAM容量と同等またはそれ以上, マウントポイント [swap])- (任意)
ホームパーティション
(ext4, サイズ 残り全て, マウントポイント/home
)
これらの構成を念頭に置き、インストール中にパーティションを作成・フォーマットします。
3. インストーラーの起動
準備したブータブルUSBドライブを使用してコンピューターを起動し、Arch Linux のインストール環境に入ります。
- BIOS/UEFI 設定を開く: コンピューターの電源を入れ、メーカーロゴが表示されている間に特定のキー(Del, F2, F10, F12 など。メーカーや機種によって異なります)を連打または長押しして、BIOS/UEFI 設定画面に入ります。
- 起動順序(Boot Order)の変更: 設定画面内で、「Boot」または「起動」といった項目を探し、USB ドライブがハードディスクドライブよりも優先されるように起動順序を変更します。設定を保存して終了します。
- Arch Linux インストール環境へのブート: 設定を保存して再起動すると、USB ドライブから Arch Linux のブートメニューが表示されます。通常は一番上の “Arch Linux install medium (x86_64)” を選択して Enter キーを押します。
- Arch Linux インストール環境へのロード: システムが ISO イメージから一時的な Arch Linux 環境をメモリにロードします。完了すると、ルートユーザーとしてコマンドラインシェルが表示されます(プロンプトが
#
で終わっています)。
このシェル環境から、以降のインストール作業を行います。
3.1. キーボードレイアウトの設定
デフォルトのキーボードレイアウトは米国英語 (US) です。日本語キーボードや他のレイアウトを使用している場合は、ここで変更しておくとコマンド入力が楽になります。
利用可能なキーボードレイアウトをリスト表示するには、以下のコマンドを実行します。
bash
ls /usr/share/kbd/keymaps/**/*.map.gz
日本語キーボードの場合は jp106
をロードします。
bash
loadkeys jp106
これでキーボードレイアウトが日本語配列になります。インストール後にも設定が必要なので、一時的な変更です。
3.2. インターネット接続の確認
インストール中にパッケージをダウンロードするため、インターネット接続が必要です。インストール環境は、有線LANの場合は DHCP で自動的に IP アドレスを取得しようとします。無線LANの場合は手動での設定が必要です。
-
有線LAN (Ethernet):
ほとんどの場合、自動的に接続されます。以下のコマンドで IP アドレスが割り当てられているか確認します。
bash
ip a
eth0
やenpXsY
のような名前のインターフェースに IP アドレスが表示されていればOKです。もし表示されない場合は、ネットワークケーブルが正しく接続されているか確認してください。 -
無線LAN (Wi-Fi):
無線LANに接続するには、iwctl
コマンドを使用します。
まず、無線LANデバイスの名前を確認します。
bash
iwctl device list
通常はwlan0
のような名前です。デバイス名を確認したら、以下のコマンドでネットワークをスキャンします。
bash
iwctl station <device> scan
<device>
は確認した無線LANデバイス名に置き換えます。
利用可能なネットワークを表示します。
bash
iwctl station <device> get-networks
接続したいネットワークの SSID を確認し、以下のコマンドで接続します。
bash
iwctl station <device> connect <SSID>
パスワードを求められるので入力します。
接続が成功したか確認するには、ip a
またはping archlinux.org
コマンドを使用します。
bash
ping archlinux.org
ping
が成功し、応答があればインターネットに接続できています。Ctrl+C
でping
を停止します。
3.3. システムクロックの同期
正確なシステム時刻は、後々の設定やシステム動作のために重要です。インストール環境はデフォルトで NTP (Network Time Protocol) を使用して時刻を同期しようとします。念のため、同期されているか確認します。
bash
timedatectl status
System clock synchronized: yes
と表示されていればOKです。もし同期されていない場合は、以下のコマンドで有効化できます。
bash
timedatectl set-ntp true
ほとんどの場合はこれで問題ありません。
3.4. ミラーリストの更新 (任意)
pacstrap
コマンドでベースシステムをインストールする際に使用されるミラーサイトは /etc/pacman.d/mirrorlist
ファイルにリストされています。このファイルは、ライブ環境が起動した際に GeoIP を使用して自動的に生成されますが、手動で編集して最速のミラーをリストの先頭に置くことで、パッケージダウンロード速度を向上させることができます。
bash
nano /etc/pacman.d/mirrorlist
nano
エディタが開きます。日本のミラーサイトを探し(例: Japan
で検索)、行頭の #
を削除してコメントアウトを外し、ファイルの先頭に移動させます。編集が完了したら、Ctrl+X
を押して保存し、Y
を押してファイル名を指定して Enter を押します。
4. パーティションの準備
Arch Linux をインストールするディスク上で、必要なパーティションを作成・フォーマットし、マウントします。このステップは、誤った操作を行うと既存のデータを消去する可能性があるため、非常に注意が必要です。
4.1. ディスクの特定
まず、どのディスクにインストールするかを特定します。以下のコマンドでシステムに接続されているディスクとそのパーティションが表示されます。
bash
lsblk
sda
, sdb
, nvme0n1
のような名前が表示されます。サイズなどから、インストール対象のディスクを特定します。例えば、/dev/sda
が対象のディスクだとします。
4.2. パーティションツールの選択
パーティションの作成にはいくつかのツールがあります。
fdisk
: 伝統的なツールで、MBR パーティションテーブルの操作に適しています。GPT も基本的な操作は可能です。CUI ベース。cfdisk
:fdisk
と同様ですが、より使いやすい対話的なCUIインターフェースを提供します。MBR/GPT 両方に対応。parted
: MBR/GPT 両方に対応した強力なツール。スクリプトでの操作などにも向いています。CUI ベース。
ここでは、初心者にも比較的使いやすい cfdisk
または fdisk
を使った手順を説明します。UEFI/GPT 環境では cfdisk
が推奨されます。
4.3. パーティションの作成 (cfdisk を使用する場合)
対象のディスクに対して cfdisk
を起動します。
bash
cfdisk /dev/sda
/dev/sda
は対象のディスク名に置き換えてください。
cfdisk
が起動すると、パーティションテーブルのタイプを選択するように求められます(通常は gpt
を選択します)。その後、ディスクの現在のパーティション構成が表示されます。
既存のパーティションを全て削除して Arch Linux のみにする場合:
現在のパーティションを全て選択し、下部のメニューから Delete
を選択して削除します。
新しいパーティションの作成:
空き領域を選択し、下部のメニューから New
を選択します。
1. EFIシステムパーティション (UEFIの場合):
* サイズを指定します(例: 500M
)。
* タイプを EFI System
に設定します(メニューから Type
-> EFI System
を選択)。
2. スワップパーティション (推奨):
* サイズを指定します(例: 4G
for 4GB)。RAM 容量と同等以上が目安です。
* タイプを Linux swap
に設定します。
3. ルートパーティション (/
):
* 残りの領域全てを割り当てるか、サイズを指定します(例: 30G
for 30GB)。最低 20GB は推奨されます。
* タイプを Linux filesystem
に設定します。
4. (任意) ホームパーティション (/home
):
* もしルートパーティションと別に /home
を作成する場合は、ここでサイズを指定します(残りの全てなど)。
* タイプを Linux filesystem
に設定します。
全てのパーティションを作成したら、下部のメニューから Write
を選択し、yes
と入力して Enter キーを押し、変更をディスクに書き込みます。この操作は元に戻せません。 完了したら Quit
で cfdisk
を終了します。
4.4. パーティションの作成 (fdisk を使用する場合)
対象のディスクに対して fdisk
を起動します。
bash
fdisk /dev/sda
/dev/sda
は対象のディスク名に置き換えてください。
fdisk
が起動すると、プロンプトが表示されます。主なコマンドは以下の通りです。
p
: 現在のパーティションテーブルを表示d
: パーティションを削除n
: 新しいパーティションを作成t
: パーティションのタイプ(ID)を変更w
: 変更を書き込んで終了q
: 変更を破棄して終了
既存のパーティションを全て削除して Arch Linux のみにする場合:
p
で現在のパーティションを確認し、d
コマンドで番号を指定して全てのパーティションを削除します。
新しいパーティションの作成 (UEFI/GPT の場合):
1. g
: 新しい空の GPT パーティションテーブルを作成します。警告が表示されます。
2. n
: 新しいパーティションを作成します。
* パーティション番号、最初/最後のセクタ(またはサイズ)を指定します。デフォルトで問題なければ Enter を押します。
* EFIシステムパーティション: サイズを指定します(例: +500M
)。パーティションタイプは自動的に Linux filesystem
になりますが、後で変更します。
* スワップパーティション: n
を再度実行し、サイズを指定します(例: +4G
)。
* ルートパーティション: n
を再度実行し、残りの領域を指定します(デフォルトでOK)。
3. パーティションタイプの変更:
* t
: パーティション番号を指定します。
* L
: 利用可能なタイプIDを表示します。
* EFIシステムパーティション: パーティション番号を指定し、タイプID 1
(EFI System) を入力します。
* スワップパーティション: パーティション番号を指定し、タイプID 19
(Linux swap) または 82
(Linux swap) を入力します。
* ルートパーティション: パーティション番号を指定し、タイプID 20
(Linux filesystem) または 83
(Linux filesystem) を入力します。
新しいパーティションの作成 (BIOS/MBR の場合):
1. o
: 新しい空の MBR パーティションテーブルを作成します。警告が表示されます。
2. n
: 新しいパーティションを作成します。
* p
: プライマリパーティションとして作成します。
* パーティション番号、最初/最後のセクタ(またはサイズ)を指定します。
* スワップパーティション: サイズを指定します(例: +4G
)。タイプは後で変更します。
* ルートパーティション: 残りの領域を指定します。タイプは後で変更します。
* (任意) ホームパーティション: 必要なら同様に作成します。
3. パーティションタイプの変更:
* t
: パーティション番号を指定します。
* L
: 利用可能なタイプIDを表示します。
* スワップパーティション: パーティション番号を指定し、タイプID 82
(Linux swap / Solaris) を入力します。
* ルートパーティション: パーティション番号を指定し、タイプID 83
(Linux filesystem) を入力します。
* (任意) ホームパーティション: タイプID 83
(Linux filesystem) を入力します。
パーティション構成を確認するには p
コマンドを使用します。問題なければ w
を押して変更を書き込み、終了します。
4.5. パーティションのフォーマット
作成したパーティションにファイルシステムを作成します。この作業も、パーティション上の既存のデータは全て消去します。
- EFIシステムパーティション: FAT32 でフォーマットします。
bash
mkfs.fat -F 32 /dev/sdXY # /dev/sdXY は EFI パーティションのデバイス名 (例: /dev/sda1) - ルートパーティション (
/
) および ホームパーティション (/home
): ext4 でフォーマットするのが一般的です。
bash
mkfs.ext4 /dev/sdXZ # /dev/sdXZ は ルートパーティションのデバイス名 (例: /dev/sda2)
mkfs.ext4 /dev/sdXW # /dev/sdXW は ホームパーティションのデバイス名 (例: /dev/sda3, 作成した場合)
他のファイルシステム(XFS, Btrfs など)を使用することも可能ですが、ext4 が最も一般的で安定しています。 - スワップパーティション (
swap
): スワップ領域として準備します。
bash
mkswap /dev/sdXV # /dev/sdXV は スワップパーティションのデバイス名 (例: /dev/sda4)
作成したスワップ領域を有効にします。
bash
swapon /dev/sdXV # /dev/sdXV は スワップパーティションのデバイス名
lsblk
コマンドで、各パーティションに正しいファイルシステムタイプが割り当てられているか確認できます。
4.6. パーティションのマウント
ベースシステムをインストールするために、作成したパーティションを適切なマウントポイントにマウントします。
- ルートパーティションを
/mnt
にマウント:
bash
mount /dev/sdXZ /mnt # /dev/sdXZ は ルートパーティションのデバイス名 - (任意) ホームパーティションを
/mnt/home
にマウント:
ルートパーティションと別にホームパーティションを作成した場合に行います。
bash
mkdir /mnt/home # /mnt 配下に home ディレクトリを作成
mount /dev/sdXW /mnt/home # /dev/sdXW は ホームパーティションのデバイス名 - EFIシステムパーティションを
/mnt/boot/efi
にマウント (UEFIの場合):
UEFI システムでは必須です。ブートローダーをインストールするために必要です。
bash
mkdir /mnt/boot # /mnt 配下に boot ディレクトリを作成
mkdir /mnt/boot/efi # boot 配下に efi ディレクトリを作成
mount /dev/sdXY /mnt/boot/efi # /dev/sdXY は EFI パーティションのデバイス名
これで、新しいシステムが /mnt
以下にマウントされた状態になりました。
5. ベースシステムのインストール
いよいよ Arch Linux の核となる部分をインストールします。
5.1. ミラーリストの更新 (再確認)
インストール環境のミラーリストを編集した場合でも、インストールされるシステムにその設定が反映されるわけではありません。通常はデフォルトのままで問題ありませんが、必要であればインストール後に /etc/pacman.d/mirrorlist
を編集してください。
5.2. pacstrap
コマンドによる基本パッケージのインストール
pacstrap
スクリプトは、指定したパッケージグループをマウントされた新しいシステム (/mnt
) にインストールします。最低限必要なパッケージグループは base
です。通常、後々のために base-devel
パッケージグループや、Linux のファームウェアパッケージ (linux-firmware
) も一緒にインストールしておくと良いでしょう。
bash
pacstrap /mnt base linux linux-firmware # linux は Linux カーネルパッケージ
* base
: 最小限の Arch Linux 環境を構築するために必要なパッケージ群です(pacman
, bash
などが含まれます)。
* linux
: Linux カーネル本体です。
* linux-firmware
: 多くのデバイスが必要とするファームウェアが含まれています。これがないと一部のハードウェア(特にWi-Fiなど)が正常に動作しない可能性があります。
このコマンドを実行すると、インターネット経由でパッケージがダウンロードされ、/mnt
以下にインストールされます。ネットワーク速度にもよりますが、完了までには数分〜数十分かかります。
注意: UEFI システムの場合、後でブートローダーをインストールする際に、ブートローダーの種類によっては追加のパッケージが必要になります(例: GRUB の場合は grub
と efibootmgr
)。これらは pacstrap
で一緒にインストールすることも、後で chroot 環境に入ってからインストールすることも可能です。ここでは、chroot 環境に入ってからインストールする手順で進めます。
6. システムの設定 (Chroot 環境)
ベースシステムのインストールが完了したら、新しくインストールしたシステム環境に入って、詳細な設定を行います。
6.1. fstab
ファイルの生成
fstab
ファイルは、システム起動時にどのパーティションをどこにマウントするかを定義するファイルです。インストール環境から自動的に生成します。
bash
genfstab -U /mnt >> /mnt/etc/fstab
-U
オプションは、UUID (Universally Unique Identifier) を使用してパーティションを識別します。UUID はパーティションを一意に識別するため、デバイス名(/dev/sda1
など)のように再起動時に変わる可能性がなく、より頑丈な設定になります。
生成された /mnt/etc/fstab
ファイルの内容を確認します。
bash
cat /mnt/etc/fstab
作成したパーティションが正しく記述されているか(特にマウントポイント efi
, /
, home
, swap
など)、デバイス名ではなく UUID で記述されているかなどを確認してください。必要であれば nano /mnt/etc/fstab
などで編集できます。
6.2. 新しいシステムへの Chroot
arch-chroot
スクリプトを使って、現在作業しているライブ環境から、新しくインストールしたシステム環境(/mnt
以下)にルートディレクトリを切り替えます。これにより、まるで新しいシステムで直接作業しているかのように設定を行うことができます。
bash
arch-chroot /mnt
このコマンドを実行すると、プロンプトが変化するはずです(通常、同じ #
プロンプトのままですが、内部的にはルート環境が切り替わっています)。これ以降のコマンドは、新しくインストールした Arch Linux システムに対して実行されます。
6.3. タイムゾーンの設定
システムクロックとは別に、システムが使用するタイムゾーンを設定します。
まず、利用可能なタイムゾーンを確認します。
bash
ls /usr/share/zoneinfo/
例えば、日本のタイムゾーンは Asia/Tokyo
です。これを設定するには、シンボリックリンクを作成します。
bash
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ハードウェアクロックを UTC (Coordinated Universal Time) に設定し、時刻同期を有効化します。
bash
timedatectl set-ntp true
6.4. ローカライゼーション (ロケール) の設定
システムの言語設定や地域設定を行います。
- ロケールファイルの生成:
/etc/locale.gen
ファイルを編集して、使用したいロケールの行頭の#
を削除します。
bash
nano /etc/locale.gen
例えば、日本語 (UTF-8) を使用する場合は、以下の行を探してコメントアウトを解除します。
ja_JP.UTF-8 UTF-8
en_US.UTF-8 UTF-8 # 必要に応じて英語ロケールも有効化
ファイルを保存して閉じます。
変更を反映させるために、以下のコマンドでロケールファイルを生成します。
bash
locale-gen - システムのロケール設定:
/etc/locale.conf
ファイルを作成し、システムのデフォルトロケールを設定します。
bash
nano /etc/locale.conf
以下の行を追加します。
LANG="ja_JP.UTF-8"
または、英語環境を基本とする場合はLANG="en_US.UTF-8"
とし、必要に応じて他の環境変数(例:LC_TIME
,LC_COLLATE
など)を設定します。
6.5. ホスト名の設定
コンピューターのネットワーク上の名前を設定します。
/etc/hostname
ファイルを作成し、任意のホスト名を記述します。
bash
nano /etc/hostname
ファイルの中に、例えば myarch
といったホスト名を記述して保存します。
myarch
6.6. /etc/hosts
の設定
ホスト名とIPアドレスの関連付けを定義するファイルです。
/etc/hosts
ファイルを編集します。
bash
nano /etc/hosts
以下の内容を追加します。<hostname>
の部分は前のステップで設定したホスト名に置き換えてください。
127.0.0.1 localhost
::1 localhost
127.0.1.1 <hostname>.localdomain <hostname>
例えば、ホスト名が myarch
の場合は以下のようになります。
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.localdomain myarch
ファイルを保存して閉じます。
6.7. root パスワードの設定
root ユーザーのパスワードを設定します。これはシステム管理において非常に重要です。
bash
passwd
新しいパスワードを2回入力します。入力しても画面には何も表示されませんが、そのまま入力してください。
6.8. Initramfs の生成
カーネルが起動する前に必要なデバイスドライバなどをロードするための初期 RAM ファイルシステム (initramfs) を生成します。pacstrap
で linux
パッケージをインストールした際に、自動的に生成されています。通常はこのままで問題ありませんが、念のため設定ファイル (/etc/mkinitcpio.conf
) や生成コマンド (mkinitcpio -P
) について知っておくと、後でカーネルモジュールを追加した場合などに役立ちます。
6.9. ブートローダーのインストールと設定
システムを起動可能にするためには、ブートローダーが必要です。ここでは最も一般的なブートローダーである GRUB (GRand Unified Bootloader) を例に説明します。
- 必要なパッケージのインストール:
GRUB と、UEFI システムの場合はefibootmgr
パッケージをインストールします。
bash
pacman -S grub efibootmgr # UEFI システムの場合
BIOS システムの場合はefibootmgr
は不要です。
bash
pacman -S grub # BIOS システムの場合 -
GRUB のインストール:
インストールコマンドは UEFI と BIOS で異なります。-
UEFI システム:
GRUB を EFI システムパーティションにインストールし、システムの EFI ブートエントリに追加します。
bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux --recheck--target=x86_64-efi
: UEFI システム向けのターゲットを指定します。--efi-directory=/boot/efi
: EFI システムパーティションがマウントされているディレクトリを指定します。--bootloader-id=ArchLinux
: UEFI ブートメニューに表示されるエントリ名を指定します(任意ですが分かりやすい名前を推奨)。--recheck
: ディスクのパーティション情報を再確認します。
-
BIOS システム:
GRUB をブートディスクの MBR またはブートセクタにインストールします。デバイス名を指定します(パーティション番号は付けません)。
bash
grub-install --target=i386-pc /dev/sda # /dev/sda は対象のディスク名--target=i386-pc
: BIOS システム向けのターゲットを指定します。/dev/sda
: GRUB をインストールするディスク全体を指定します。
-
-
GRUB 設定ファイルの生成:
インストールされたシステムでブート可能なカーネルなどを GRUB に認識させるために、設定ファイルを生成します。
bash
grub-mkconfig -o /boot/grub/grub.cfg
このコマンドは/boot/grub/grub.cfg
ファイルを生成します。コマンドの出力で、Arch Linux のカーネルが正しく検出されているか確認してください。
これで、GRUB ブートローダーの設定は完了です。
6.10. ユーザーアカウントの作成
root ユーザーは強力な権限を持ちますが、日常的な作業ではセキュリティリスクが高いため、通常のユーザーアカウントを作成して使用することが推奨されます。
- 新しいユーザーの追加:
useradd
コマンドで新しいユーザーを作成します。-m
オプションはホームディレクトリを作成し、-G
オプションはユーザーを属させるグループを指定します。wheel
グループにユーザーを追加しておくと、後でsudo
コマンドを使用できるようになります。
bash
useradd -m -G wheel <username> # <username> は作成したいユーザー名
例えば、ユーザー名myuser
を作成する場合は以下のようになります。
bash
useradd -m -G wheel myuser -
ユーザーのパスワード設定:
作成したユーザーのパスワードを設定します。
bash
passwd <username> # <username> は作成したユーザー名
新しいパスワードを2回入力します。 -
sudo
の設定 (任意だが推奨):
wheel
グループのユーザーがsudo
コマンドを使用して一時的に管理者権限を取得できるように設定します。/etc/sudoers
ファイルを編集しますが、直接編集するのではなく、visudo
コマンドを使用することを強く推奨します。visudo
はファイルの構文チェックを行い、誤った設定でシステムがロックアウトされるのを防ぎます。
bash
EDITOR=nano visudo # nano エディタを使用する場合
または、デフォルトのエディタ (通常は vi) を使用する場合はvisudo
だけでOKです。
ファイルを開き、以下の行を探して行頭の#
を削除してコメントアウトを外します。
%wheel ALL=(ALL:ALL) ALL
これにより、wheel
グループに属するユーザーはパスワード入力後、全てのコマンドを root として実行できるようになります。ファイルを保存して閉じます。
6.11. ネットワーク設定 (Chroot 環境内での最終確認)
インストール環境では ip
, iwctl
などで一時的にネットワークを設定しましたが、インストールされたシステムが起動後に自動的にネットワークに接続できるように設定が必要です。いくつかの方法がありますが、最も一般的なのは NetworkManager
または systemd-networkd
を使用することです。ここでは、デスクトップ環境でもよく使用される NetworkManager
をインストールしておきます。
bash
pacman -S networkmanager
インストール後、システム起動時に NetworkManager が自動的に開始されるように設定します。
bash
systemctl enable NetworkManager
これは arch-chroot
環境内で実行します。
7. 再起動
基本的なシステム設定が完了しました。新しいシステムから起動するために、ライブ環境を終了してコンピューターを再起動します。
- Chroot 環境からの退出:
exit
コマンドを実行して、chroot 環境から元のライブ環境に戻ります。
bash
exit
プロンプトがライブ環境のものに戻ったことを確認してください。 - パーティションのアンマウント (任意だが推奨):
マウントしたパーティションをアンマウントします。これは必須ではありませんが、安全のために推奨されます。
bash
umount -R /mnt
/mnt
以下にマウントされている全てのパーティションを再帰的にアンマウントします。 - システムの再起動:
コンピューターを再起動します。
bash
reboot - インストールメディアの取り外し:
再起動中に、ブータブルUSBドライブをコンピューターから取り外してください。これにより、ハードディスクにインストールした Arch Linux から起動するようになります。
8. 初期設定とデスクトップ環境のインストール
再起動後、ハードディスクにインストールした Arch Linux が起動します。設定が正しければ、GRUB メニューが表示され、Arch Linux を選択するとコマンドラインログインプロンプトが表示されるはずです。
root ユーザーまたは作成した一般ユーザー名でログインします。
8.1. ネットワーク接続の確認 (再起動後)
インストール時に NetworkManager
を有効にした場合、有線LANであれば自動的に接続されるはずです。無線LANの場合は、以下のコマンドでSSIDなどを指定して接続します。
bash
nmcli dev wifi list # 利用可能なWi-Fiネットワークをリスト表示
nmcli dev wifi connect <SSID> password <password> # SSIDとパスワードを指定して接続
接続できたか ip a
または ping archlinux.org
で確認します。
8.2. システムアップデート
システムを最新の状態に保つことは非常に重要です。
bash
sudo pacman -Syu
pacman -Syu
は、ローカルのパッケージデータベースを同期し (-y
)、インストールされている全てのパッケージをアップグレードします (-u
)。アップデートが提案されたら y
を入力して続行します。
8.3. ディスプレイサーバーのインストール
GUI環境を構築するには、まずディスプレイサーバーが必要です。一般的なのは X.org ですが、Wayland も普及が進んでいます。多くのデスクトップ環境はどちらか一方または両方をサポートしています。ここではまず X.org をインストールします。
bash
sudo pacman -S xorg # X.org サーバーと関連ツールをインストール
8.4. グラフィックドライバのインストール
お使いのハードウェア(グラフィックカード)に応じたドライバをインストールします。
- Intel:
xf86-video-intel
- AMD:
xf86-video-amdgpu
(新しいGPU) またはxf86-video-ati
(古いGPU) - NVIDIA:
nvidia
(最新)、nvidia-lts
(LTSカーネル用)、またはオープンソースのxf86-video-nouveau
必要なドライバをインストールします。例(Intel の場合):
bash
sudo pacman -S xf86-video-intel
どのドライバが必要か不明な場合は、ハードウェア情報を確認するか、Arch Wiki で情報を探してください。多くの場合、オープンソースドライバ (mesa
) も必要です。
bash
sudo pacman -S mesa # Mesa グラフィックスライブラリ (オープンソースドライバ用)
8.5. デスクトップ環境 (DE) またはウィンドウマネージャー (WM) のインストール
Arch Linux はデフォルトでデスクトップ環境を提供しません。GNOME, KDE Plasma, XFCE, LXQt などのフル機能デスクトップ環境、または i3, Sway, Awesome などの軽量なウィンドウマネージャーを自由に選択してインストールできます。
例として、いくつかの人気のあるデスクトップ環境のインストールコマンドを示します。
- XFCE (軽量):
bash
sudo pacman -S xfce4 xfce4-goodies - GNOME (高機能):
bash
sudo pacman -S gnome gnome-extra - KDE Plasma (高機能):
bash
sudo pacman -S plasma kde-applications - LXQt (非常に軽量):
bash
sudo pacman -S lxqt
インストールするデスクトップ環境やウィンドウマネージャーを選択し、コマンドを実行してください。
8.6. ディスプレイマネージャー (DM) のインストールと有効化
デスクトップ環境にログインするためのグラフィカルなログイン画面を提供するのがディスプレイマネージャーです。選択したデスクトップ環境に対応したもの、または汎用的なものを選びます。
例:
- XFCE に合うもの: LightDM (
lightdm
) - GNOME に合うもの: GDM (
gdm
) - KDE Plasma に合うもの: SDDM (
sddm
) - その他: LXDM (
lxdm
), Slim (開発停止) など
ここでは SDDM を例にインストールと有効化を行います。
bash
sudo pacman -S sddm # SDDM をインストール
sudo systemctl enable sddm # SDDM をシステム起動時に有効化
インストールしたディスプレイマネージャーを一つだけ有効化してください。複数のディスプレイマネージャーを有効化すると競合して起動できなくなる可能性があります。
有効化したら、システムを再起動してグラフィカルログイン画面が表示されるか確認できます。
bash
reboot
再起動後、設定したディスプレイマネージャーのログイン画面が表示され、作成したユーザー名とパスワードでログインできるようになるはずです。
8.7. 日本語入力メソッド (IME) のインストールと設定
日本語キーボードで日本語を入力するためには、入力メソッドフレームワークとエンジンが必要です。Fcitx5 と Mozc の組み合わせが広く使用されています。
- 必要なパッケージのインストール:
bash
sudo pacman -S fcitx5-im # Fcitx5 入力メソッドフレームワーク (複数のパッケージをインストールします)
sudo pacman -S fcitx5-mozc # Mozc 日本語入力エンジン
sudo pacman -S fcitx5-frontend-gtk3 fcitx5-frontend-qt5 # GTK/Qt アプリケーション連携
sudo pacman -S noto-fonts-cjk # 日本語表示用フォント (必要に応じて) -
環境変数の設定:
ログイン時に Fcitx5 が起動し、アプリケーションが Fcitx5 を使用するように、環境変数を設定する必要があります。通常、これはユーザーのホームディレクトリにある~/.xprofile
または~/.config/environment.d/
のファイルで行います。~/.xprofile
を使用するのが一般的です。
bash
nano ~/.xprofile
以下の行を追加します。
bash
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx5 -d & # バックグラウンドでfcitx5を起動
ファイルを保存して閉じます。この設定は次回のログインから有効になります。一度ログアウトして再度ログインしてください。 -
Fcitx5 の設定:
ログイン後、Fcitx5 が起動しているはずです。システムトレイにアイコンが表示されているか確認してください。アイコンがない場合は、ターミナルからfcitx5-configtool
を実行して設定ツールを開きます。
「入力メソッド」タブで、必要な入力メソッド(Mozc など)を追加します。デフォルトでは US キーボードレイアウトしか入っていないので、これを削除し、Mozc を追加するのが一般的です。Input Method タブの左下にある+
ボタンを押し、”Only Show Current Language” のチェックを外してmozc
を検索し追加します。通常、入力メソッドの切り替えは
Ctrl + Space
などで行います。キーバインドの設定は「グローバル設定」タブの「ホットキー」で行えます。
8.8. AUR ヘルパーのインストール (任意)
Arch User Repository (AUR) は、公式リポジトリにはない、ユーザーが作成・管理するパッケージが多数存在する場所です。AUR のパッケージはビルドが必要ですが、makepkg
コマンドを自分で実行するのは手間がかかるため、AUR ヘルパーと呼ばれるツールを使うのが一般的です。yay
が人気の AUR ヘルパーの一つです。
AUR ヘルパー自体は AUR に含まれているため、最初は手動でビルドする必要があります。
- 必要なツールのインストール:
git
とbase-devel
パッケージグループが必要です(base-devel
はpacstrap
でインストール済みかもしれません)。
bash
sudo pacman -S git base-devel - AUR ヘルパーのクローンとビルド:
例としてyay
をインストールします。適当なディレクトリ(例: ホームディレクトリ内のbuild
ディレクトリ)で作業します。
bash
mkdir ~/build && cd ~/build
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
makepkg -si
は、PKGBUILD に従ってパッケージをビルドし (-s
は必要な依存関係をインストール)、ビルドしたパッケージをインストールします (-i
)。
yay
がインストールされれば、公式リポジトリと AUR の両方からパッケージをインストールしたり、システムをアップデートしたりできるようになります。
bash
yay -Syu # 公式リポジトリと AUR の両方のパッケージをアップデート
yay -S <package-name> # 公式リポジトリまたは AUR からパッケージを検索してインストール
8.9. その他の基本的なユーティリティのインストール
必要に応じて、ウェブブラウザ、ターミナルエミュレーター、ファイルマネージャーなどの基本的なアプリケーションをインストールします。
例:
bash
sudo pacman -S firefox # ウェブブラウザ
sudo pacman -S gnome-terminal # ターミナルエミュレーター (GNOMEの場合)
sudo pacman -S thunar # ファイルマネージャー (XFCEの場合)
sudo pacman -S vlc # メディアプレイヤー
sudo pacman -S libreoffice # オフィススイート
9. トラブルシューティング
Arch Linux のインストールは手順が多く、エラーが発生しやすいかもしれません。一般的な問題とその対処法をいくつか示します。
-
システムが起動しない / GRUB が表示されない:
- BIOS/UEFI 設定で、ハードディスクからの起動順序が一番になっているか確認します。
- UEFI システムの場合、ブートメニューに Arch Linux エントリがあるか確認します。ない場合は、ライブ環境から起動し、chroot して
grub-install
コマンドを再度実行します。 /etc/fstab
が正しいか確認します。特にマウントポイントや UUID が合っているか。ライブ環境から/mnt/etc/fstab
を確認できます。- GRUB 設定ファイル
/boot/grub/grub.cfg
が正しく生成されているか確認します。ライブ環境から/mnt/boot/grub/grub.cfg
を確認できます。 - BIOS システムの場合、
grub-install
が正しいディスク(/dev/sda
など、パーティションではない)にインストールされているか確認します。
-
ネットワークに接続できない:
- 有線LANの場合、ケーブルが正しく接続されているか確認します。
- 無線LANの場合、
systemctl status NetworkManager
で NetworkManager が起動しているか確認します。起動していない場合はsystemctl enable NetworkManager --now
で有効化して起動します。 nmcli dev wifi list
でネットワークが表示されるか、nmcli dev wifi connect
で接続できるか確認します。/etc/resolv.conf
にネームサーバー(DNSサーバー)が正しく設定されているか確認します。通常は NetworkManager が自動で設定しますが、必要に応じて手動で設定します。
-
グラフィカルログイン画面が表示されない:
- X.org または Wayland、グラフィックドライバが正しくインストールされているか確認します。
- インストールしたディスプレイマネージャー(例: SDDM)が
systemctl enable <display-manager>
で有効化されているか確認します。また、systemctl status <display-manager>
でサービスが起動しているか確認します。エラーメッセージが表示されていないか確認します。 - Xorg の設定ファイル
/etc/X11/xorg.conf.d/
やログファイル (/var/log/Xorg.0.log
) を確認し、エラーがないか探します。 - グラフィックドライバがハードウェアと合っているか再確認します。
-
日本語入力ができない:
- 必要な Fcitx5 および Mozc パッケージがインストールされているか確認します。
~/.xprofile
または~/.config/environment.d/
に Fcitx5 を起動するための環境変数設定が正しく記述されているか確認します。設定変更後は再ログインが必要です。fcitx5-configtool
で Mozc が入力メソッドリストに追加されているか確認します。
困ったときは:
- エラーメッセージを読む: 発生したエラーメッセージは問題解決の重要な手がかりです。メッセージを正確に読み取ります。
- Arch Wiki を検索する: Arch Wiki には非常に多くの情報があります。エラーメッセージや遭遇した現象に関するキーワードで検索すると、解決策が見つかることが多いです。
- コミュニティフォーラムやIRCに参加する: Arch Linux フォーラムやIRCチャンネルでは、他のユーザーから助けを得られる可能性があります。質問する際は、環境(ハードウェア、UEFI/BIOSなど)やこれまでに試したこと、正確なエラーメッセージなどを詳しく伝えると良いでしょう。
10. まとめ
おめでとうございます! これで、あなた専用の Arch Linux システムの基本が構築されました。この後は、必要に応じて各種アプリケーション(ウェブブラウザ、オフィススイート、開発ツールなど)をインストールし、システムをさらにカスタマイズしていきます。
Arch Linux を使用することの最大のメリットの一つは、システムを「知る」ことができる点です。インストールプロセスを通じて、Linux システムがどのように構成され、どのように起動し、どのように動作するのかを学ぶことができます。これは他の多くのディストリビューションでは得られない経験です。
Arch Linux はローリングリリースモデルを採用しているため、一度インストールすれば、常に最新のソフトウェアを使用できます。しかし、これは同時に、アップデートによってまれに問題が発生する可能性があることも意味します。定期的に pacman -Syu
でシステムをアップデートし、アップデート前に Arch Linux のニュースやフォーラムを確認する習慣をつけることをお勧めします。
そして何より、Arch Linux ユーザーにとって最も重要なリソースは Arch Wiki です。ほとんどの情報や問題の解決策は Arch Wiki に集約されています。何か困ったことがあれば、まずは Arch Wiki を参照する習慣をつけましょう。
Arch Linux のインストールは、Linux の世界への深いダイブの始まりです。この旅を楽しんでください!