Arch Linux インストール方法 完全詳細解説
はじめに
Arch Linux は、シンプルさ、ミニマリズム、最新のソフトウェア、そして「自分でやる」という哲学を重視する、独立して開発されているLinuxディストリビューションです。ローリングリリースモデルを採用しており、一度インストールすればシステム全体を再インストールすることなく、常に最新の状態に保つことができます。
Arch Linuxのインストールプロセスは、他の一般的なLinuxディストリビューションのようにグラフィカルなインストーラーに頼るのではなく、コマンドラインインターフェース(CLI)を使用して手動で行います。このプロセスは最初は難しく感じるかもしれませんが、システムがどのように構築されているかを深く理解するための貴重な経験となります。この詳細なガイドは、Arch Linuxのインストールを成功させるために必要なすべてのステップを、初心者にも分かりやすく解説することを目的としています。
約5000語という十分なボリュームで、単なるコマンドの羅列に留まらず、各ステップの意図や背景にある技術的な概念についても可能な限り説明を加えます。このガイドを最後まで読み進めれば、Arch Linuxのインストールが完了し、その後の基本的な設定を行うことができるでしょう。
注意: Arch Linuxのインストールは、ディスクの内容を消去したり、パーティション構成を変更したりする操作を伴います。必ず重要なデータのバックアップを取ってから作業を開始してください。 本ガイドに従った結果生じたいかなる損害についても、筆者は責任を負いません。
1. インストール前の準備
Arch Linuxのインストールを開始する前に、いくつかの準備が必要です。
1.1 ハードウェア要件
Arch Linuxは比較的軽量ですが、最新のデスクトップ環境などを利用するには、ある程度のハードウェアリソースが必要です。
- CPU: x86_64 (64ビット) 互換プロセッサ
- RAM: 最小 512MB (推奨 2GB以上、特にグラフィカル環境を使う場合)
- ストレージ: 最小 10GB (推奨 20GB以上、特にグラフィカル環境や開発ツールを使う場合)
- ネットワーク: インターネット接続 (有線LAN推奨、無線LANも設定可能)
1.2 インストールメディアの作成
Arch Linuxのインストールは、ISOイメージをダウンロードし、それをUSBメモリやDVDに書き込んで起動可能なメディアを作成することから始まります。
-
ISOイメージのダウンロード:
公式ウェブサイト (https://archlinux.org/download/) から、最新のarchlinux-yyyy.mm.dd-x86_64.iso
ファイルをダウンロードします。ダウンロードミラーサイトが複数表示されるので、地理的に近い場所や速度の速いミラーを選択すると良いでしょう。Torrentでのダウンロードも可能です。 -
ダウンロードしたISOイメージの検証 (推奨):
ダウンロードしたISOイメージが破損していないか、また改ざんされていないかを確認するために、チェックサム(SHA256など)やGPG署名を検証することが強く推奨されます。ダウンロードページに検証情報が記載されています。- チェックサム検証: ダウンロードしたISOファイルと同じディレクトリにある
.sha256
ファイルと照合します。
bash
sha256sum archlinux-yyyy.mm.dd-x86_64.iso
# 表示されたハッシュ値が .sha256 ファイルの内容と一致するか確認 - GPG署名検証: Arch Linuxのマスターキーを使って署名を検証します。まずマスターキーをインポートします。
bash
# キーサーバーからインポート
gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 4073A179C6794975C2B1B30A93C4F317AC27E006
# インポートしたキーを確認 (必要に応じて)
gpg --list-keys 4073A179C6794975C2B1B30A93C4F317AC27E006
# 署名を検証
gpg --verify archlinux-yyyy.mm.dd-x86_64.iso.sig archlinux-yyyy.mm.dd-x86_64.iso
# "Good signature" と表示されれば成功
キーID (4073A179C6794975C2B1B30A93C4F317AC27E006
) はArch Linuxの公式ダウンロードページで確認してください。
- チェックサム検証: ダウンロードしたISOファイルと同じディレクトリにある
-
USBブータブルメディアの作成:
ダウンロードしたISOイメージをUSBメモリに書き込みます。USBメモリ内のデータはすべて消去されるため、事前に必要なデータがないことを確認してください。最低でも1GB以上の容量が必要です。-
Linux/macOSの場合 (ddコマンド):
USBメモリがシステムでどのように認識されているかを確認します (lsblk
やdf -h
を使用)。例えば/dev/sdX
(Xはアルファベット、間違えないように注意!) や/dev/diskN
とします。間違ったデバイスを指定すると、内蔵ハードディスクのデータが消去されてしまう可能性があります。
bash
# USBメモリのデバイス名を確認 (例: /dev/sdb)
lsblk
# USBメモリに書き込み (危険な操作です!デバイス名を間違えないでください)
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/sdb1
)ではなくデバイス全体(例:/dev/sdb
)を指定してください。 -
Windowsの場合 (RufusまたはEtcher):
- Rufus: Windows上でブータブルUSBを作成するための定番ツールです。https://rufus.ie/ からダウンロードし、ISOイメージとUSBメモリを選択して作成を開始します。ISOモードで書き込んでください。
- Etcher: シンプルでクロスプラットフォームなツールです。https://etcher.balena.io/ からダウンロードし、ISOイメージとUSBメモリを選択して作成を開始します。
-
1.3 BIOS/UEFI設定と起動
作成したUSBブータブルメディアからコンピュータを起動します。
- コンピュータの電源を入れ、起動時にBIOS/UEFI設定画面に入るためのキー(通常は
Del
,F2
,F10
,F12
,Esc
など。PCのマニュアルや起動画面に表示されます)を連打します。 - BIOS/UEFI設定画面で、起動順序(Boot Order)またはブートデバイスの選択メニューを見つけます。
- 作成したUSBメディアを最初の起動デバイスとして選択し、設定を保存して再起動します。
- 正常に起動すれば、Arch Linuxのブートメニューが表示されます。「Arch Linux install medium (x86_64)」のような項目を選択し、Enterキーを押します。
1.4 ライブ環境での初期設定
Arch Linuxのライブ環境が起動すると、ルートユーザーとしてコマンドラインプロンプト(root@archiso ~#
のような表示)が表示されます。ここからインストール作業を進めます。
-
キーボードレイアウトの確認:
デフォルトでは米語キーボードレイアウトが読み込まれます。日本語キーボードなど、別のレイアウトを使用する場合は変更します。利用可能なレイアウトはlocalectl list-keymaps
で確認できます。
bash
# 日本語キーボードレイアウトを読み込む例
loadkeys jp106
# 日本語入力が必要な場合は以下も設定 (後述のchroot環境でも同様に設定が必要)
# export LANG="ja_JP.UTF-8" # 必要に応じて。インストール自体はこれでなくても可能 -
起動モードの確認 (UEFIまたはBIOS):
インストール後の起動ローダー設定に必要なので、現在のライブ環境がUEFIモードで起動しているか、BIOSモードで起動しているかを確認します。
bash
ls /sys/firmware/efi/efivars
このコマンドを実行して、ディレクトリが存在し、その中にファイルが表示されればUEFIモードで起動しています。エラーが表示される場合はBIOSモードで起動しています。 -
インターネット接続の確認:
インストールにはインターネット接続が必須です。- 有線LAN (Ethernet): 通常、自動的に接続されるはずです。IPアドレスが割り当てられているか確認します。
bash
ip a
# インターフェース名 (例: eth0, enp3s0) にIPアドレスが表示されていればOK
GoogleなどへPingを打って接続を確認します。
bash
ping -c 3 google.com
# Pingが成功すればOK -
無線LAN (Wi-Fi):
iwctl
(iNet wireless daemon) を使用して接続します。
“`bash
iwctl
# iwctlプロンプトに入りますデバイス名を確認 (例: wlan0)
device list
ネットワークをスキャン
station
scan 利用可能なネットワーク一覧を表示
station
get-networks ネットワークに接続 (セキュリティの種類に応じてパスワードを求められます)
station
connect iwctlプロンプトを終了
exit
``
はあなたの無線LANデバイス名 (例:
wlan0) に、
は接続したいWi-Fiネットワーク名に置き換えてください。接続後、有線LANと同様に
ping google.comで確認します。
iwctl以外に
wpa_supplicantなどを使用することも可能ですが、
iwctl` が最も簡単です。
- 有線LAN (Ethernet): 通常、自動的に接続されるはずです。IPアドレスが割り当てられているか確認します。
-
システムクロックの更新:
インストール中にファイルのタイムスタンプなどが正確になるよう、NTP (Network Time Protocol) を利用してシステムクロックを正確に設定します。
bash
timedatectl set-ntp true
ステータスを確認します。
bash
timedatectl status
# NTP service: active が表示されていればOK
2. ディスクのパーティショニング
Arch Linuxをインストールするディスクをどのように分割(パーティショニング)するかを決定し、実行します。このステップは非常に重要であり、ディスク上の既存のデータがすべて消去される可能性があります。
2.1 パーティショニングの基礎知識
- ディスクデバイス名: Linuxでは、ディスクは
/dev/sdX
(SATA/SAS/USBなど) や/dev/nvmeXnY
(NVMe SSD) のような名前で表されます。X
やY
はアルファベットや数字です。lsblk
コマンドで確認できます。パーティションはそれらに番号がついた名前になります (例:/dev/sda1
,/dev/nvme0n1p1
)。 - パーティションテーブル: ディスク上にどのようにパーティションが配置されているかの情報です。主に MBR (Master Boot Record) と GPT (GUID Partition Table) があります。
- MBR: 古い方式。最大2TBまでのディスクしか扱えず、プライマリパーティションは最大4つまでという制限があります。BIOSブートシステムでよく使われます。
- GPT: 新しい方式。2TB以上のディスクも扱え、パーティション数も非常に多く設定できます。UEFIブートシステムで標準的に使われます。現代のシステムではGPTの使用が強く推奨されます。
- 推奨されるパーティション構成:
- UEFIシステム (GPT):
/dev/sdX1
または/dev/nvme0n1p1
: EFI System Partition (ESP) – 起動ローダーを置くパーティション。ファイルシステムは FAT32。サイズは最低 300MB、推奨 512MB。/dev/sdX2
または/dev/nvme0n1p2
: Swap Partition – 仮想メモリ(スワップ)領域。ファイルシステムは Linux swap。サイズは物理メモリ(RAM)と同等またはそれ以上が一般的ですが、最近は大容量メモリであればそれほど大きくなくても良い場合が多いです。ノートPCなどでサスペンド(Suspend-to-Disk)を利用する場合は、RAMと同等以上のサイズが必要です。/dev/sdX3
または/dev/nvme0n1p3
: Root Partition (/
) – OSのシステムファイルやアプリケーションがインストールされるメインのパーティション。ファイルシステムは ext4 が一般的ですが、btrfsやXFSなども選択できます。サイズは必要に応じて大きく取ります(最低 10-15GB、推奨 20GB以上)。/dev/sdX4
または/dev/nvme0n1p4
: Home Partition (/home
) – ユーザーの個人ファイルや設定ファイルが置かれるパーティション。ファイルシステムは ext4 など。Rootパーティションと分けることで、OSの再インストール時にユーザーデータを保持しやすくなります。必須ではありませんが推奨される構成です。残りのディスク容量を割り当てることが多いです。
- BIOSシステム (MBR):
/dev/sdX1
: Root Partition (/
) – ext4 など。/dev/sdX2
: Swap Partition – Linux swap。/dev/sdX3
: Home Partition (/home
) – ext4 など (オプション)。
- UEFIシステム (GPT):
2.2 パーティショニングツールの選択
Linuxにはいくつかのパーティショニングツールがあります。
fdisk
: MBRパーティションテーブルの操作に強く、GPTも基本的な操作は可能です。シンプルで使いやすいです。parted
: MBRおよびGPTパーティションテーブルの操作に優れており、より柔軟な操作が可能です。2TB以上のディスクを扱うにはこちらを使います。gdisk
: GPTパーティションテーブル専用のツール。fdisk
に似たインターフェースです。cfdisk
,sfdisk
: 対話的なncursesインターフェースを持つfdisk
の派生ツール。
ここでは、初心者向けに fdisk
を使用した GPTパーティション構成 (UEFIシステムを想定) を中心に解説します。BIOSシステムの場合はGPTの代わりにMBR (o
コマンド) を使い、ESPパーティションを作成しない、ブートローダーのインストール方法が異なる、といった違いがあります。
2.3 fdisk
を使ったパーティショニング (GPT/UEFI向け)
!!! 重要 !!! デバイス名を間違えないでください。この操作はディスク上のデータを消去します。
以下の手順は、ディスク /dev/sdX
に対して、ESP(512MB) + Swap(8GB) + Root(30GB) + Home(残り) の4つのパーティションを作成する例です。実際のディスク容量や要件に合わせてサイズを調整してください。
fdisk
を起動します。/dev/sdX
は対象のディスクデバイス名に置き換えてください (lsblk
で確認)。
bash
fdisk /dev/sdX- 現在のパーティション構成を確認します (任意)。
Command (m for help): p
- 既存のパーティションをすべて削除します。新しいGPTテーブルを作成するため、既存のパーティションは不要です。
d
コマンドを使い、パーティション番号を指定して削除を繰り返します。
Command (m for help): d
Partition number (1-4, default 4): 1
# 削除するパーティションがなくなるまで繰り返す
Command (m for help): d
... - 新しいパーティションテーブルとして GPT を作成します。
Command (m for help): g
# Creating a new GPT disklabel (GUID Partition Table). - EFI System Partition (ESP) を作成します (約 512MB)。
Command (m for help): n # 新しいパーティション作成
Partition number (1-128, default 1): 1 # 1番目のパーティション
First sector (2048-..., default 2048): # そのままEnter (デフォルト)
Last sector, +/-sectors or +/-size{K,M,G} (..., default ...): +512M # サイズを指定
# Created a new partition ... - 作成したパーティションのタイプを EFI System に変更します。
Command (m for help): t # タイプ変更
Partition number (1, default 1): 1 # 1番目のパーティション
Hex code or alias (type L to list all): 1 # "L" で一覧表示し、"EFI System" に対応するコードを確認。通常は 1 です。
# Changed type of partition 'Linux filesystem' to 'EFI System'. - Swapパーティションを作成します (例: 8GB)。
Command (m for help): n
Partition number (2-128, default 2): 2 # 2番目のパーティション
First sector (...): # そのままEnter (デフォルト)
Last sector, +/-sectors or +/-size{K,M,G} (...): +8G # サイズを指定 - 作成したパーティションのタイプを Linux swap に変更します。
Command (m for help): t
Partition number (2, default 2): 2 # 2番目のパーティション
Hex code or alias (type L to list all): 19 # "L" で一覧表示し、"Linux swap" に対応するコードを確認。通常は 19 (または 8200, Linux swap)。
# Changed type of partition 'Linux filesystem' to 'Linux swap'. - Rootパーティション (
/
) を作成します (例: 30GB)。
Command (m for help): n
Partition number (3-128, default 3): 3 # 3番目のパーティション
First sector (...): # そのままEnter (デフォルト)
Last sector, +/-sectors or +/-size{K,M,G} (...): +30G # サイズを指定
タイプはデフォルトのLinux filesystem
(コード 83) のままでOKです。 - Homeパーティション (
/home
) を作成します (残りの領域)。
Command (m for help): n
Partition number (4-128, default 4): 4 # 4番目のパーティション
First sector (...): # そのままEnter (デフォルト)
Last sector, +/-sectors or +/-size{K,M,G} (...): # そのままEnter (残りの領域すべて)
タイプはデフォルトのLinux filesystem
(コード 83) のままでOKです。 - 作成したパーティション構成を確認します。
Command (m for help): p
# Device Start End Sectors Size Type
# /dev/sdX1 2048 1050623 1048576 512M EFI System
# /dev/sdX2 1050624 17805311 16754688 8G Linux swap
# /dev/sdX3 ... 62914560 30G Linux filesystem
# /dev/sdX4 ... ... ...G Linux filesystem
デバイス名 (/dev/sdX
) とパーティション番号を確認してください。 - 変更をディスクに書き込み、
fdisk
を終了します。 このコマンドを実行すると、変更が確定され、パーティションが作成(および既存のパーティションが削除)されます。
Command (m for help): w
# The partition table has been altered.
# Calling ioctl() to re-read partition table.
# Syncing disks.
2.4 パーティションのフォーマット
作成したパーティションにファイルシステムを作成します。
!!! 重要 !!! フォーマットするパーティション名を間違えないでください。
- EFI System Partition (ESP) をFAT32でフォーマットします。
/dev/sdX1
はあなたのESPパーティションに置き換えてください。
bash
mkfs.fat -F 32 /dev/sdX1 - Rootパーティション (
/
) をext4でフォーマットします。/dev/sdX3
はあなたのRootパーティションに置き換えてください。
bash
mkfs.ext4 /dev/sdX3 - Homeパーティション (
/home
) をext4でフォーマットします (オプション)。/dev/sdX4
はあなたのHomeパーティションに置き換えてください。
bash
mkfs.ext4 /dev/sdX4
/home
をRootパーティションに含める場合は、このステップはスキップします。 - Swapパーティションを初期化し、有効にします。
/dev/sdX2
はあなたのSwapパーティションに置き換えてください。
bash
mkswap /dev/sdX2
swapon /dev/sdX2
3. システムのインストールと設定
パーティショニングとフォーマットが完了したら、いよいよArch Linuxの基本システムをインストールし、設定を行います。
3.1 ファイルシステムのMounT
新しくフォーマットしたパーティションを、インストール先のルートディレクトリとなる /mnt
にマウントします。
- Rootパーティション (
/
) を/mnt
にマウントします。/dev/sdX3
はあなたのRootパーティションに置き換えてください。
bash
mount /dev/sdX3 /mnt - Homeパーティション (
/home
) をマウントします (オプション)。 Rootパーティションとは別に/home
パーティションを作成した場合のみ行います。
まず、Rootパーティション (/mnt
) 内に/home
ディレクトリを作成し、そこにHomeパーティションをマウントします。/dev/sdX4
はあなたのHomeパーティションに置き換えてください。
bash
mkdir /mnt/home
mount /dev/sdX4 /mnt/home - EFI System Partition (ESP) をマウントします。 EFIパーティションは通常、インストール後のシステムの
/boot
または/boot/efi
にマウントされます。ここでは/mnt/boot/efi
にマウントします。/dev/sdX1
はあなたのESPパーティションに置き換えてください。
bash
mkdir /mnt/boot/efi
mount /dev/sdX1 /mnt/boot/efi
BIOSブートの場合はESPは不要なので、このステップはスキップします。 - マウントの状態を確認します。
bash
lsblk
# /dev/sdX3 が /mnt に、/dev/sdX4 が /mnt/home に、/dev/sdX1 が /mnt/boot/efi にマウントされていることを確認
3.2 ミラーリストの選択
pacstrap
コマンドでパッケージをダウンロード・インストールする際、利用するミラーサーバーは /etc/pacman.d/mirrorlist
ファイルで定義されています。このファイルはライブ環境のものですが、インストール先のシステムにもコピーされ、そこからパッケージがダウンロードされます。速度の速いミラーを上位に配置することで、インストールやその後のシステム更新が高速化されます。
reflector
ツールを使って、最新のミラーリストを取得し、速度やプロトコルなどでフィルタリングしてファイルに書き込むのが便利です。
“`bash
日本国内のHTTP/HTTPSミラーから最新リストを取得し、速度順にソートして mirrorlist を生成
reflector –country Japan –protocol http,https –sort rate –save /etc/pacman.d/mirrorlist
``
–country
他の国 () やプロトコル (
–protocol) を指定したい場合は適宜変更してください。ファイル
/etc/pacman.d/mirrorlist` を直接編集して手動でミラーの優先順位を変更することも可能です。
3.3 ベースシステムのインストール
pacstrap
スクリプトを使用して、先ほどマウントした /mnt
にArch Linuxのベースシステムおよび必要不可欠なパッケージをインストールします。
bash
pacstrap /mnt base linux linux-firmware
* base
: Arch Linuxの最小限の基本パッケージセット。
* linux
: 最新のLinuxカーネルパッケージ。
* linux-firmware
: 様々なハードウェア用のファームウェア(ドライバの一部)。
必要に応じて、この時点で他の基本的なパッケージも一緒にインストールしておくのが良いでしょう。例えばテキストエディタ (nano
や vim
) やネットワーク管理ツール (networkmanager
) などです。
bash
pacstrap /mnt base base-devel linux linux-firmware nano vim networkmanager
base-devel
グループには、ソフトウェアのビルドに必要なツールチェーン(gcc, makeなど)が含まれており、AUR (Arch User Repository) を利用する際に便利です。networkmanager
はGUI環境などで簡単にネットワーク設定を行うために推奨されます。
このコマンドを実行すると、指定されたパッケージがダウンロードされ、/mnt
以下にインストールされます。インターネット速度によりますが、数分から数十分かかることがあります。
3.4 インストールしたシステムの設定 (arch-chroot)
ベースシステムのインストール後、ライブ環境からインストールしたシステム(/mnt
以下)に環境を切り替えて(chroot
して)、システム固有の設定を行います。
bash
arch-chroot /mnt
このコマンドを実行すると、プロンプトが変わり、これ以降のコマンドはインストール先のシステムに対して実行されます。まるでインストール済みのArch Linuxを起動したかのように操作できます。
-
fstab ファイルの生成:
fstab
(file systems table) ファイル (/etc/fstab
) は、システム起動時にどのパーティションをどこにマウントするかを定義するファイルです。genfstab
ツールで現在のマウント状態に基づいて自動生成するのが簡単です。-U
オプションでUUID (Universally Unique Identifier) を使用すると、ディスクの接続順序が変わっても正しくパーティションを識別できます。
bash
genfstab -U /mnt >> /mnt/etc/fstab
# または、chroot後なら以下
genfstab -U / >> etc/fstab
注意:arch-chroot
後はルートディレクトリが/mnt
から/
に変わるため、パスの指定に注意が必要です。arch-chroot
の外から実行する場合は/mnt/etc/fstab
にリダイレクトし、arch-chroot
の中から実行する場合は/etc/fstab
にリダイレクトします。通常はarch-chroot
する前にgenfstab -U /mnt >> /mnt/etc/fstab
を実行します。生成された
fstab
ファイルの内容を確認し、必要に応じて編集します (nano /etc/fstab
など)。特にswap
エントリが正しく生成されているか確認してください。 -
タイムゾーンの設定:
システムのタイムゾーンを設定します。timedatectl list-timezones
で利用可能なタイムゾーン一覧を確認できます。日本の場合はAsia/Tokyo
です。
bash
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ハードウェアクロック(BIOS/UEFIクロック)をシステムクロックと同期させます。通常はUTCに設定することが推奨されますが、Windowsとのデュアルブートなどで問題が生じる場合はローカルタイムに設定することもあります。ここではUTCに設定する例を示します。
bash
hwclock --systohc --utc -
ロケールの設定:
システムが使用する言語や地域に関する設定(ロケール)を行います。これにはlocale.gen
とlocale.conf
の2つのファイルを設定します。/etc/locale.gen
を編集します。使用したいロケール(例:ja_JP.UTF-8 UTF-8
,en_US.UTF-8 UTF-8
)の行の先頭にあるコメント記号#
を削除して有効化します。
bash
nano /etc/locale.gen
# 以下の行を探してコメント解除
#en_US.UTF-8 UTF-8
#ja_JP.UTF-8 UTF-8
編集後、ファイルを保存して閉じます。- 設定を反映させます。
bash
locale-gen - デフォルトのロケールを設定するため、
/etc/locale.conf
ファイルを作成し、LANG変数を設定します。日本語環境をメインで使う場合はja_JP.UTF-8
にします。
bash
echo "LANG=ja_JP.UTF-8" > /etc/locale.conf
-
ネットワーク設定:
インストール直後は、再起動後にネットワークに接続するための設定が必要です。様々な方法がありますが、ここでは一般的な方法としてhostname
の設定と、インストール時にpacstrap
でnetworkmanager
をインストールした場合の基本的な準備を行います。- ホスト名の設定: コンピュータをネットワーク上で識別するための名前(ホスト名)を設定します。
/etc/hostname
ファイルに任意のホスト名を記述します。
bash
echo "myhostname" > /etc/hostname
myhostname
は好きな名前に置き換えてください。 - hosts ファイルの設定 (オプション): 必要に応じて
/etc/hosts
ファイルを設定します。ローカルホストの基本的な設定があれば十分です。
bash
nano /etc/hosts
# 以下の内容を追記または確認
# 127.0.0.1 localhost
# ::1 localhost
# 127.0.1.1 myhostname.localdomain myhostname
myhostname
は先ほど設定したホスト名に置き換えてください。 - ネットワーク管理ツールの有効化準備:
networkmanager
をインストール済みの場合は、システム起動時に自動で実行されるように設定します。arch-chroot
環境では有効化のコマンドを実行するだけで、実際の起動は再起動後に行われます。
bash
systemctl enable NetworkManager
他のネットワーク設定ツール(例:systemd-networkd
,netctl
)を使う場合は、それに応じた設定と有効化を行います。
- ホスト名の設定: コンピュータをネットワーク上で識別するための名前(ホスト名)を設定します。
-
root パスワードの設定:
システム管理者のパスワードを設定します。システムを起動した際にrootユーザーでログインするために必要です。
bash
passwd
# 新しいパスワードの入力を求められるので、2回入力します。 -
Initramfs (初期RAMディスク) の生成:
Initramfsは、実際のルートファイルシステムがマウントされる前に、ハードウェアを初期化したりルートファイルシステムを見つけたりするために一時的にメモリ上で実行される小さなファイルシステムです。mkinitcpio
ツールで生成します。通常、linux
カーネルパッケージのインストール時に自動的に実行されますが、念のため設定を確認できます。
設定ファイルは/etc/mkinitcpio.conf
です。特別な設定(例: LVM, 暗号化パーティション)をしていない限り、デフォルト設定で問題ありません。
必要であれば手動で生成します (通常は不要)。
bash
mkinitcpio -P -
ブートローダーのインストールと設定:
システム起動時にカーネルをロードするためのブートローダーをインストールします。これは最も重要なステップの一つであり、UEFIシステムかBIOSシステムかで手順が大きく異なります。ここでは一般的な GRUB を使用する方法を中心に解説します。UEFIシステムの場合は systemd-boot も有力な選択肢です。-
GRUB (UEFIシステムの場合):
GRUBと、UEFIシステムでブートエントリを管理するためのefibootmgr
をインストールします。arch-chroot
環境で行います。
bash
pacman -S grub efibootmgr
GRUBをESP (EFI System Partition) にインストールします。/dev/sdX1
はあなたのESPがマウントされている場所 (/boot/efi
) に対応するパーティション名に置き換えてください。通常は/boot/efi
にマウントしているので、ここではマウントポイントを指定します。--bootloader-id
はUEFIメニューに表示される名前です。
bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
# Successfully installed GRUB to /boot/efi. のようなメッセージが出れば成功
GRUBの設定ファイルを生成します。
bash
grub-mkconfig -o /boot/grub/grub.cfg
# Generating grub configuration file ... done. のようなメッセージが出れば成功 -
GRUB (BIOSシステムの場合):
GRUBをインストールします。arch-chroot
環境で行います。
bash
pacman -S grub
GRUBをディスクのMBRにインストールします。/dev/sdX
は パーティション番号を含めない ディスクデバイス名(例:/dev/sda
,/dev/sdb
)に置き換えてください。パーティションを指定してしまうと起動不能になります。
bash
grub-install --target=i386-pc /dev/sdX
# Installation finished. No error reported. のようなメッセージが出れば成功
GRUBの設定ファイルを生成します。
bash
grub-mkconfig -o /boot/grub/grub.cfg
# Generating grub configuration file ... done. のようなメッセージが出れば成功 -
systemd-boot (UEFIシステムの場合 – GRUBの代替):
シンプルで高速なUEFI専用のブートローダーです。GRUBよりも設定が容易な場合があります。
まず、ESPが/boot
にマウントされていることを確認します。もし/boot/efi
にマウントした場合は、umount /boot/efi
してからmount /dev/sdX1 /boot
のようにマウントし直す必要があります。
bash
# ESPを /boot にマウント (必要に応じてマウントし直す)
umount /boot/efi # もし /boot/efi にマウントしていた場合
mount /dev/sdX1 /boot # ESPパーティションを /boot にマウント
ブートローダーファイルをESPにコピーします。
bash
bootctl install
# Installed systemd-boot.
# Press Enter to continue.
ブートエントリを設定します。/boot/loader/loader.conf
および/boot/loader/entries/
以下に設定ファイルを作成します。
/boot/loader/loader.conf
を編集します (存在しない場合は新規作成)。
bash
nano /boot/loader/loader.conf
# 以下を記述または追記
# timeout 3
# default arch
# editor no
/boot/loader/entries/arch.conf
を作成し、以下の内容を記述します。root=UUID=YOUR_ROOT_UUID
の部分は、あなたのRootパーティションのUUIDに置き換える必要があります。RootパーティションのUUIDはlsblk -f
コマンドなどで確認できます。
bash
nano /boot/loader/entries/arch.conf
# 以下を記述
# title Arch Linux
# linux /vmlinuz-linux
# initrd /initramfs-linux.img
# options root=UUID=YOUR_ROOT_UUID rw
YOUR_ROOT_UUID
をRootパーティションの実際のUUIDに置き換えてください。rw
はルートファイルシステムを読み書き可能でマウントするオプションです。
-
-
ユーザーの作成:
セキュリティのため、日常的な操作はrootユーザーではなく、一般ユーザーで行うのが推奨されます。新しいユーザーを作成し、パスワードを設定します。
“`bash
# 新しいユーザーを作成 (例: username)
useradd -m -g users -G wheel,storage,power -s /bin/bash username
# -m: ホームディレクトリを作成
# -g users: プライマリグループを users に設定
# -G wheel,storage,power: セカンダリグループとして wheel, storage, power を追加
# -s /bin/bash: デフォルトのシェルを bash に設定 (必要に応じて zsh などに変更)
# username は作成するユーザー名に置き換えてください作成したユーザーのパスワードを設定
passwd username
新しいパスワードの入力を求められるので、2回入力します。
`wheel` グループに所属するユーザーが `sudo` コマンドでroot権限を取得できるように設定します。`sudo` パッケージがインストールされていない場合はまずインストールします (`pacman -S sudo`)。
bash
`visudo` コマンドを使って `/etc/sudoers` ファイルを編集します。このコマンドを使うことで、構文チェックが行われ、設定ミスによるログイン不能を防げます。
EDITOR=nano visudo # nanoエディタで編集する場合 (デフォルトはvi)または単に visudo (デフォルトエディタで開く)
ファイル内で以下の行を探し、先頭のコメント記号
#
を削除して有効化します。%wheel ALL=(ALL:ALL) ALL
ファイルを保存して閉じます。
``
wheel
これで、グループに所属する
usernameは
sudo command` の形式でroot権限が必要なコマンドを実行できるようになります。初回実行時にはユーザーのパスワードを求められます。
3.5 インストール環境からの離脱と再起動
すべての設定が完了したら、arch-chroot
環境から抜け出し、マウントしたパーティションをアンマウントし、システムを再起動します。
arch-chroot
環境から抜けます。
bash
exit
# プロンプトが root@archiso ~# に戻ります- マウントしたパーティションをすべてアンマウントします。
/mnt
以下にマウントされているパーティションを再帰的にアンマウントします。
bash
umount -R /mnt
# エラーが出なければOK。もしマウントされていないというエラーが出ても、再起動で解決するので問題ないことが多いです。 - システムを再起動します。再起動する前にインストールメディア(USBメモリなど)を取り出しておかないと、再度ライブ環境が起動してしまう可能性があります。
bash
reboot
コンピュータが再起動したら、BIOS/UEFI設定でハードディスクからの起動が優先されるようにブート順序を元に戻しておきます。
4. インストール後の追加設定 (任意)
インストールは完了しましたが、これは最小限のベースシステムです。デスクトップ環境、サウンド、日本語入力など、一般的なデスクトップ環境として使用するためには追加の設定が必要です。これらの設定は、インストールしたArch Linuxを起動して、作成した一般ユーザーでログインし、必要に応じて sudo
を使って行います。
4.1 ネットワーク接続 (インストール後のシステムで)
pacstrap
時に networkmanager
をインストールし、systemctl enable NetworkManager
を実行していれば、再起動後にネットワークマネージャーサービスが有効になっています。ただし、有線接続以外(特に無線LAN)は手動での接続が必要な場合があります。
-
コマンドラインでネットワークに接続する場合:
nmtui
コマンドを使うと、GUI風のテキストインターフェースで簡単にネットワーク設定や接続ができます。
bash
sudo nmtui
nmtui
を使ってWi-Fiに接続する場合は、Activate a connection
> 接続したいSSIDを選択 >Activate
でパスワードを入力します。 -
デスクトップ環境インストール後にGUIツールで接続する場合は、GUIツール(例: GNOMEのネットワーク設定、KDEのPlasma Networkmanager)を使用します。
接続ができたら、再度 ping google.com
などでインターネット接続を確認してください。
4.2 サウンドの設定
Linuxでサウンドを利用するには、ALSA (Advanced Linux Sound Architecture) または PipeWire (新世代のマルチメディアフレームワーク) の設定が必要です。最近はPipeWireが推奨される傾向にあります。
“`bash
PipeWireとその必要なコンポーネントをインストール
sudo pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber
PulseAudioやJACKエミュレーションを提供するためのパッケージ
“`
インストール後、ユーザーをログアウトして再度ログインするか、再起動するとPipeWireが有効になり、サウンドが利用できるようになります。
4.3 日本語入力 (Fcitx5など)
日本語入力を行うためには、Fcitx5などのインプットメソッドフレームワークと、Mozcのような日本語入力エンジンをインストールする必要があります。
bash
sudo pacman -S fcitx5 fcitx5-mozc fcitx5-gtk fcitx5-qt fcitx5-configtool
インストール後、使用するシェルの設定ファイル(例: ~/.bashrc
, ~/.zshrc
)に以下の環境変数を追記します。
“`bash
nano ~/.bashrc # bashの場合
以下の行をファイルの末尾に追記
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
以下はWayland環境で必要な場合がある (fcitx5-wayland パッケージも必要)
export INPUT_METHOD=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=fcitx
``
exec bash
変更を反映するには、シェルを再起動(ログアウト/ログインまたはなど)するか、システムを再起動します。
fcitx5-configtool`) を起動して入力メソッドを設定します。通常はFcitx5を起動すれば、指定した環境変数に基づいてアプリケーションで入力メソッドが有効になります。
GUI環境では、Fcitx5の設定ツール (
4.4 グラフィカル環境 (デスクトップ環境/ウィンドウマネージャー)
コマンドラインだけでは使いにくい場合、デスクトップ環境 (DE) またはウィンドウマネージャー (WM) とディスプレイマネージャー (DM) をインストールしてグラフィカルな環境を構築します。
- X Window System (Xorg) または Wayland のインストール:
多くのDE/WMはXorg上で動作します。Waylandは次世代のディスプレイサーバープロトコルですが、まだ完全にXorgを置き換えているわけではありません。両方インストールしておくか、使用するDE/WMが推奨する方を選択します。
bash
sudo pacman -S xorg # X Window System をインストール
# Wayland は通常、対応するDE/WMと一緒にインストールされます。 - ディスプレイマネージャー (DM) のインストール:
ログイン画面を表示し、セッション(DE/WM)を選択・開始するためのプログラムです。一般的なものに LightDM, GDM (GNOME), SDDM (KDE) などがあります。
bash
# 例: LightDM と GTK Greeter をインストール
sudo pacman -S lightdm lightdm-gtk-greeter
インストールしたDMをシステム起動時に自動起動するように設定します。
bash
sudo systemctl enable lightdm # LightDMの場合
# sudo systemctl enable gdm # GDMの場合
# sudo systemctl enable sddm # SDDMの場合 -
デスクトップ環境 (DE) または ウィンドウマネージャー (WM) のインストール:
GNOME, KDE Plasma, XFCE, LXQt などのフル機能のDEや、i3, Sway, dwm, Xmonad などの軽量なWMがあります。
“`bash
# 例1: GNOME をインストール (容量が大きい)
sudo pacman -S gnome gnome-extra
# GNOME を使う場合はディスプレイマネージャーとして GDM が推奨されます
# sudo systemctl enable gdm例2: KDE Plasma をインストール (容量が大きい)
sudo pacman -S plasma kde-applications
KDE を使う場合はディスプレイマネージャーとして SDDM が推奨されます
sudo systemctl enable sddm
例3: XFCE をインストール (軽量)
sudo pacman -S xfce4 xfce4-goodies
例4: i3 (ウィンドウマネージャー) をインストール (非常に軽量)
sudo pacman -S i3-wm dmenu termite # 端末エミュレータやランチャーなども必要に応じてインストール
“`
使用したいDE/WMを選択してインストールしてください。
4. 設定を反映させるためにシステムを再起動します。再起動後、ディスプレイマネージャーが表示され、ユーザー名とパスワードを入力してログインすると、インストールしたグラフィカル環境が起動します。
4.5 その他便利なパッケージ
- ウェブブラウザ:
firefox
,chromium
など - ファイルマネージャー:
thunar
(XFCE),dolphin
(KDE),nautilus
(GNOME) など - テキストエディタ:
gedit
,kate
,vscode
など - ターミナルエミュレータ:
gnome-terminal
,konsole
,alacritty
,kitty
など - メディアプレーヤー:
vlc
,mpv
など - オフィススイート:
libreoffice
- パッケージ管理のフロントエンド:
pamac
(AUR対応のGUIツール、公式リポジトリにはなくAURからインストール) - SSHサーバー: リモートアクセスが必要な場合
bash
sudo pacman -S openssh
sudo systemctl enable sshd
sudo systemctl start sshd
これらのパッケージは、必要に応じて sudo pacman -S package_name
コマンドでインストールしてください。
4.6 システムの更新
Arch Linuxはローリングリリースなので、定期的にシステム全体を更新することが重要です。
bash
sudo pacman -Syu
これは pacman -Sy
(データベース同期) と pacman -u
(システム更新) を合わせたコマンドです。システム更新を行う前に、Arch Linuxのウェブサイトやメーリングリストなどで重要なアナウンス(特に手動での介入が必要な場合)を確認することを推奨します。
5. トラブルシューティング
インストール中や再起動後に問題が発生した場合の一般的な対処法です。
-
起動しない (GRUBレスキュー、カーネルパニックなど):
- インストールメディアで起動し、
arch-chroot
を使ってインストールしたシステムに戻ります。 fstab
ファイル (/etc/fstab
) に誤りがないか確認します。特にUUIDが正しいかlsblk -f
で確認します。- ブートローダーの設定 (
/boot/grub/grub.cfg
や/boot/loader/entries/*.conf
) が正しいか確認します。 - ブートローダーの再インストールを試みます (
grub-install
,grub-mkconfig
またはbootctl install
)。 - カーネルやinitramfsが正しくインストールされているか (
/boot
以下) 確認し、必要ならmkinitcpio -P
を実行します。
- インストールメディアで起動し、
-
ネットワークに接続できない:
- ネットワークケーブルが正しく接続されているか確認します。
- 無線LANの場合はSSIDやパスワードが正しいか確認します。
ip a
コマンドでインターフェースにIPアドレスが割り当てられているか確認します。ping
コマンドで外部サイトへの接続を確認します。- 使用しているネットワーク管理サービス(例: NetworkManager, systemd-networkd)が起動しているか
systemctl status NetworkManager
などで確認し、必要なら有効化・起動 (systemctl enable --now NetworkManager
) します。 - DHCPクライアント (
dhcpcd
または systemd-networkd の設定) が正しく動作しているか確認します。
-
パーティショニングを間違えた:
- まだデータを書き込んでいない(フォーマットしていない、
pacstrap
していない)場合:fdisk
やparted
でやり直します。 - フォーマットしてしまった、
pacstrap
してしまった場合: 残念ながらデータは失われています。パーティショニングからやり直す必要があります。
- まだデータを書き込んでいない(フォーマットしていない、
-
pacman エラー:
- インターネットに接続できているか確認します。
/etc/pacman.d/mirrorlist
ファイルが正しく設定されているか確認します。- データベースを更新します (
sudo pacman -Sy
)。 - 署名に関するエラーが出る場合、キーリングを更新します (
sudo pacman-key --init
,sudo pacman-key --populate archlinux
)。
-
GUIが起動しない:
- XorgやWayland、DM、DE/WMが必要なパッケージを含めて正しくインストールされているか確認します。
- DMサービス (
lightdm
,gdm
,sddm
など) が有効化され、起動しているかsystemctl status <dm_service_name>
で確認します。 - ユーザーがログイン可能か確認します。
- Xorgのログファイル (
/var/log/Xorg.0.log
) やDMのログファイルを確認してエラーを探します。 - グラフィックドライバーがインストールされていない可能性があります。Intel, AMD, NVIDIAなど、使用しているGPUに応じたドライバーをインストールします (例:
xf86-video-intel
,xf86-video-amdgpu
,nvidia
)。
-
何かわからない問題が発生した場合:
Arch Wiki (https://wiki.archlinux.jp/) を検索します。ほとんどの問題の解決策はArch Wikiに掲載されています。コミュニティフォーラムやIRCチャンネルで質問するのも有効です。その際は、エラーメッセージや実行したコマンド、システム構成(ハードウェア、UEFI/BIOSなど)を詳しく伝えるようにしましょう。
6. Arch Linuxの利点と欠点 (簡単なまとめ)
6.1 利点
- シンプルさとミニマリズム: 不要なものが含まれておらず、自分で必要なものだけを選択・設定できます。
- カスタマイズ性: ゼロから構築するため、自分の好みに合わせてシステムを細かく設定できます。
- 最新のソフトウェア: ローリングリリースにより、常に最新バージョンのソフトウェアを利用できます。
- 学習機会: インストールから設定まで手動で行うため、Linuxシステムがどのように動作するかを深く理解できます。
- Arch Wiki: 非常に充実した公式ドキュメントがあり、ほとんどの情報はここから得られます。
- AUR (Arch User Repository): 非常に巨大なユーザー作成パッケージリポジトリがあり、公式リポジトリにない多くのソフトウェアも簡単にインストールできます。
6.2 欠点
- インストールの難易度: 他のディストリビューションと比べて手動での設定が多く、初心者にはハードルが高い場合があります。
- 手動での設定: 多くの設定を自分で行う必要があります。
- 安定性 (比較論): 最新のソフトウェアを利用できる反面、ごく稀に特定のパッケージのアップデートがシステムに一時的な不具合を引き起こす可能性がゼロではありません(通常は素早く修正されますが)。
- 手動での介入: 重大なアップデートの際など、ごく稀に手動での設定変更が必要になる場合があります。Arch Linuxのニュースやアナウンスをチェックすることが推奨されます。
7. まとめ
Arch Linuxのインストールは、他のLinuxディストリビューションと比較すると手間がかかりますが、その過程で得られる知識と、完成したシステムのシンプルさ、カスタマイズ性、そして常に最新であり続けるという利点は、多くのユーザーにとって魅力的です。
このガイドは、Arch Linuxのベースシステムをインストールし、基本的な設定を行うための詳細なステップを提供しました。パーティショニング、ファイルシステムのフォーマット、ベースシステムのインストール、システム固有の設定、そしてブートローダーのセットアップといった一連のプロセスを理解し、実行できたことでしょう。
インストールが完了したら、本ガイドの後半で触れたグラフィカル環境の構築、サウンド、日本語入力などの追加設定に進み、自分好みのデスクトップ環境を構築してください。
Arch Linuxの旅はインストールからが始まりです。公式のArch Wikiは、さらに高度な設定やトラブルシューティング、特定のソフトウェアのインストール方法など、あらゆる情報源として非常に有用です。コミュニティも活発で、困った際には助けを求めることができます。
時間をかけてじっくりとこのガイドに取り組み、Arch Linuxのインストールを成功させたあなたに祝福を。この経験は、今後のLinuxを使ったシステム管理において必ず役に立つはずです。
Happy Arch Linuxing!