【図解】Arch Linuxインストール手順をステップバイステップ解説

はい、承知いたしました。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署名の検証
  1. まず、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は変更される可能性があります。公式ダウンロードページの検証方法の指示に従ってください。)

  2. ダウンロードしたISOイメージファイルと同じディレクトリに、対応する.iso.sigファイルを置きます。

  3. 以下のコマンドで署名を検証します。

    bash
    gpg --verify archlinux-*-x86_64.iso.sig archlinux-*-x86_64.iso

    Good signature from "..." と表示されれば検証成功です。警告が表示されることがありますが、署名が有効であれば問題ありません。

SHA256ハッシュ値のチェック
  1. ダウンロードしたISOイメージファイルと同じディレクトリに、対応する.iso.sha256ファイルを置きます。

  2. 以下のコマンドでハッシュ値を計算し、ファイルに記載されている値と比較します。

    bash
    sha256sum -c archlinux-*-x86_64.iso.sha256

    archlinux-*-x86_64.iso: OK と表示されれば検証成功です。

どちらか、または両方の検証方法で問題がなければ、ダウンロードしたISOイメージは正当です。

2.3. USBメモリへの書き込み

ダウンロードしたISOイメージをUSBメモリに書き込んで、起動可能なインストールメディアを作成します。この作業を行うと、USBメモリ内の既存データは全て消去されます。 8GB以上のUSBメモリを用意してください。

書き込みツールはいくつかありますが、ここではクロスプラットフォームで利用可能なEtcherや、コマンドラインツールであるddを紹介します。

Linux (ddコマンド)

ddコマンドは強力ですが、誤ったデバイスを指定すると内蔵ストレージのデータを消去してしまう可能性があります。デバイス名を慎重に確認してください。

  1. USBメモリのデバイス名を確認します。USBメモリをPCに挿入し、以下のコマンドを実行します。

    bash
    lsblk

    出力の中から、サイズや容量を手がかりにUSBメモリに対応するデバイス名を見つけます(例: /dev/sdb, /dev/sdc, /dev/mmcblk0, /dev/nvme1n1 など。パーティション番号(sdb1など)ではなく、デバイス名自体を指定します)。ここでは/dev/sdXと表記します。

  2. USBメモリがマウントされている場合は、アンマウントします。

    bash
    umount /dev/sdX* # または sudo umount /dev/sdX*

  3. ISOイメージをUSBメモリに書き込みます。

    bash
    sudo dd if=/path/to/archlinux-*-x86_64.iso of=/dev/sdX status=progress bs=4M

    • if=/path/to/archlinux-*-x86_64.iso: 入力ファイル(ダウンロードしたISOイメージのパス)。
    • of=/dev/sdX: 出力先デバイス(USBメモリのデバイス名)。間違えないこと!
    • status=progress: 書き込みの進捗状況を表示(ddのバージョンによっては利用できない)。
    • bs=4M: 一度に書き込むブロックサイズ(高速化のため)。

    コマンド実行後、完了まで待ちます。status=progressがない場合は何も表示されませんが、完了するとプロンプトが戻ります。

  4. 書き込み完了後、キャッシュが全てディスクに書き込まれたことを確認します。

    bash
    sync

Windows (Rufus or Etcher)

Rufus (https://rufus.ie/) または Etcher (https://www.balena.io/etcher/) のようなツールを使います。これらのツールは直感的なGUIで操作でき、安全にISOイメージをUSBメモリに書き込めます。ツールをダウンロードし、画面の指示に従ってISOファイルとUSBメモリを選択して書き込みを開始してください。

macOS (ddコマンド)
  1. USBメモリのデバイス名を確認します。

    bash
    diskutil list

    USBメモリに対応するディスク識別子を確認します(例: /dev/disk2, /dev/disk3)。

  2. USBメモリをアンマウントします。

    bash
    diskutil unmountDisk /dev/diskX # Xはディスク識別子の番号

  3. 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) というツールを使うのが最も簡単です。

  1. Wi-Fiデバイス名を確認します。

    bash
    iwctl device list

    出力例:
    DEVICE MODE STATE CONFIG
    wlan0 station disconnected /var/lib/iwd/etc

    デバイス名(例: wlan0)をメモしておきます。

  2. 利用可能なネットワークをスキャンします。

    bash
    iwctl station wlan0 scan # wlan0を実際のデバイス名に置き換える

  3. スキャン結果を表示します。

    bash
    iwctl station wlan0 get-networks

    表示されたリストから接続したいSSID(ネットワーク名)を確認します。

  4. ネットワークに接続します。

    bash
    iwctl station wlan0 connect "Your_SSID" # "Your_SSID"を接続したいSSIDに置き換える

    パスワードの入力を求められたら、Wi-Fiのパスワードを入力します。接続に成功すると、Connected と表示されます。

  5. インターネット接続を確認します。

    bash
    ping -c 3 archlinux.org

    pingが成功すれば接続完了です。

*(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)

一般的に以下のパーティション構成が推奨されます。

  1. EFIシステムパーティション (ESP): ブートローダーを格納。
    • タイプコード: ef00 (EFI system)
    • サイズ: 200MB – 512MB (512MBを推奨)
    • ファイルシステム: FAT32
  2. ルートパーティション (/): OS本体、アプリケーション、設定ファイルなどを格納。
    • タイプコード: 8300 (Linux filesystem)
    • サイズ: 20GB以上 (用途によるが、快適に使うなら50GB以上推奨)
    • ファイルシステム: ext4などが一般的
  3. スワップパーティション (swap): RAM不足時のデータ退避領域、ハイバネーション用(任意)。
    • タイプコード: 8200 (Linux swap)
    • サイズ: RAMサイズと同等かそれ以上 (ハイバネーションを使うならRAMサイズ以上)
    • ファイルシステム: linux-swap
  4. ホームパーティション (/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にマウントする場合を解説します。

  1. マウントポイントとなるディレクトリを作成します。

    bash
    mkdir /mnt/boot

  2. EFIシステムパーティションをマウントします。

    bash
    mount /dev/sdX1 /mnt/boot # EFIシステムパーティションをマウント

**(注意: /mnt/efi にマウントすることも可能ですが、ブートローダーの設定(特にGRUB)でパスを指定する際に注意が必要です。どちらを選んでも構いませんが、一貫性を持たせることが重要です。)

ホームパーティションをマウント (オプション):

ホームパーティションを作成した場合、これもマウントします。

  1. マウントポイントとなるディレクトリを作成します。

    bash
    mkdir /mnt/home

  2. ホームパーティションをマウントします。

    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. タイムゾーンの設定

システムクロックとタイムゾーンを設定します。

  1. タイムゾーンを設定します。/usr/share/zoneinfo/以下にあるタイムゾーンファイルを、/etc/localtimeにシンボリックリンクします。日本の場合はAsia/Tokyoです。

    bash
    ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

  2. ハードウェアクロックをUTCに設定します。多くのLinuxシステムで推奨される設定です。

    bash
    hwclock --systohc

    ハードウェアクロックをローカル時刻に設定したい場合は --localtime オプションを使いますが、異なるOSとのデュアルブート環境などで問題が発生することがあります。UTCを推奨します。

10.2. ロケールの設定

システムが使用する言語や文字セット(ロケール)を設定します。日本語を表示・入力可能にするために必要です。

  1. /etc/locale.genファイルを編集します。

    bash
    nano /etc/locale.gen

    このファイルには、利用可能なロケールがコメントアウトされた状態でリストされています。使用したいロケール(例: en_US.UTF-8 UTF-8ja_JP.UTF-8 UTF-8)を探し、行頭の#を削除してコメントアウトを解除します。最低限en_US.UTF-8 UTF-8は有効にしておくことを推奨します。

  2. 編集したlocale.genファイルに基づいてロケールを生成します。

    bash
    locale-gen

  3. システム全体のロケールを設定します。/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. ネットワーク設定

システム起動後に自動的にネットワークに接続するための設定を行います。ホスト名の設定とネットワーク管理ツールの有効化が必要です。

  1. ホスト名を設定します。/etc/hostnameファイルに任意のコンピューター名を記述します。

    bash
    nano /etc/hostname

    ファイルに以下の例のようにホスト名を記述し保存します。

    myarchpc

  2. /etc/hostsファイルを編集します。

    bash
    nano /etc/hosts

    以下の内容を記述します。myarchpcの部分は上で設定したホスト名に置き換えてください。

    127.0.0.1 localhost
    ::1 localhost
    127.0.1.1 myarchpc.localdomain myarchpc

    これにより、ホスト名が正しく解決できるようになります。

  3. ネットワーク管理ツールをインストールし、有効化します。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環境を終了し、パーティションのマウントを解除してシステムを再起動します。

  1. chroot環境から抜けます。

    bash
    exit

    プロンプトがライブ環境のもの(例: root@archiso ~ #)に戻ったことを確認してください。

  2. インストール先のパーティションを全てアンマウントします。/mnt以下にマウントされているパーティションを再帰的にアンマウントするには、-Rオプションが便利です。

    bash
    umount -R /mnt

    もしスワップを有効にしていた場合は、無効にしておくと再起動時に問題が起きにくい場合があります(必須ではない)。

    bash
    swapoff /dev/sdX3 # スワップパーティションのデバイス名に置き換える

    umount -R /mntでエラーが表示された場合、何かプロセスが/mnt以下のファイルシステムを使用している可能性があります。lsof /mntなどで確認できますが、通常は発生しないはずです。エラーが出なければ成功です。

  3. システムを再起動します。

    bash
    reboot

    PCが再起動する前に、必ずインストールに使用した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に正しくインストールされたか確認。
  • カーネルパニックや起動時のエラー:
    • ブートローダーの設定(grub.cfg)でカーネルオプションが正しく設定されているか確認。/etc/fstabの内容が正しいか確認。
    • linux-firmwareがインストールされているか確認。
    • ハードウェアの問題の可能性も考慮。
  • インターネットに繋がらない:
    • NetworkManagerなどのネットワーク管理サービスが有効化 (systemctl enable NetworkManager) され、起動しているか (systemctl status NetworkManager) 確認。
    • ip addr でIPアドレスが割り当てられているか確認。
    • DHCPクライアント(dhclientdhcpcd)を手動で実行してIPアドレスを取得できるか試す。
  • コマンドのスペルミス、デバイス名の入力ミス: 再度コマンドを確認。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語を目指して執筆しました。各コマンドの意味や理由を詳細に解説することで、単純なコマンドリストにならないように工夫しました。図解は含まれませんが、ステップごとの操作内容とコマンドラインの出力を想定した説明で補完しています。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール