ビギナーズガイド

提供: ArchWiki
2015年1月26日 (月) 19:24時点におけるKusakata (トーク | 投稿記録)による版 (→‎ドライブの準備)
ナビゲーションに移動 検索に移動

関連記事

この文章では Arch Install Scripts を使って Arch Linux をインストールする方法を解説します。インストールする前に、FAQ を一読することをおすすめします。

コミュニティによって管理されている ArchWiki は有用な資料であり、問題が発生したらまず wiki を読んでみましょう。wiki で答えが見つからないときは、IRC チャンネル (irc://irc.freenode.net/#archlinux) やフォーラムを使って下さい。また、Arch Way に従って、知らないコマンドの man ページを見るようにしましょう。man コマンド で見ることができます。

目次

動作環境

Arch Linux は i686 互換の、最低 64MB の RAM を積んだマシンで動作します。また、基本的なインストールに必要な base グループに含まれる全てのパッケージをインストールするには約 800MB のディスク容量が必要です。使える容量が少ない場合、この数値をかなり切り詰めることが可能ですが、どうやるかは調べる必要があります。

最新のインストールメディアを準備する

ヒント: archboot の ISO イメージはこのガイドで説明している手順のいくつかをインタラクティブに行うことができます。詳しくは Archboot を見て下さい。

最新の Arch の公式インストールメディアはダウンロードページから入手できます。ひとつの ISO で32ビットと64ビット両方のアーキテクチャをサポートしています。出来るだけ一番新しい ISO を使って下さい。

ノート: インストールイメージには署名がされており、使用する前に署名を検証するのが推奨されています。PGP 署名をダウンロードして ISO のディレクトリに配置して、次を実行してください:
$ gpg --verify archlinux-version-dual.iso.sig

公開鍵が見つからない場合、gpg --recv-keys でインポートできます [1]。もしくは、既存の Arch Linux 環境から次を実行:

$ pacman-key -v archlinux-2015.01.01-dual.iso.sig

md5sha1 チェックサムはそれぞれ md5sumsha256sum でチェックできます。

USB と光学ドライブ

光学ディスクドライブ#焼き込み (CD/DVD) や USB インストールメディア (USB) を見て下さい。

ネットワーク経由でのインストール

PXE の記事を参照してください。

既存の Linux 環境からインストール

既存の Linux からインストールを見て下さい。VNCSSH を使って Arch をリモートでインストールするときに特に便利です。SSH からインストールも参照。

仮想マシンへのインストール

現在使用しているオペレーティングシステムを残したまま、仮想マシン上でインストール手順を実行することで、ストレージのパーティションを行う必要なく Arch Linux に慣れることができます。また、ブラウザでこのビギナーズガイドを開いたままインストールが可能です。独立した Arch Linux システムを使用できるということは、テストを行いたいという一部のユーザーにとって有益なことでしょう。

仮想化ソフトウェアの例としては、VirtualBox, VMware, QEMU, Xen, Parallels があります。

仮想マシンを準備するための正確な手順は、ソフトウェアによって異なりますが、一般的に次の手順に従います:

  1. オペレーティングシステムのホストにて、仮想ディスクイメージを作成します。
  2. 仮想マシンの設定を最適化します。
  3. 仮想 CD ドライブでダウンロードした ISO イメージを起動します。
  4. インストールメディアの起動に進みます。

次の記事が役に立つかもしれません:

インストールメディアの起動

最初に、あなたのコンピュータの BIOS セットアップで起動順序を変更する必要があるかもしれません。それには、POST (Power On Self-Test) の間にキー (多くの場合 DeleteF1F2F11F12) を押します。これで BIOS の設定画面が表示されるので、ここでシステムが起動するデバイスを探す順番を設定できます。"Save & Exit" (もしくはそれに準ずるもの) を選択すればコンピュータは通常通り起動するはずです。

Arch のメニューが表示されたら、インストールを行うライブ環境を開始するために "Boot Arch Linux" をメニューから選択し、 Enter キーを押します (UEFI ブートディスクから起動された場合は、オプションは次のように表示されます: "Arch Linux archiso x86_64 UEFI")。

UEFI モードでブートしているかどうかのテスト

UEFI マザーボードを使用していて、UEFI ブートモードが有効になっている (そしてそれが BIOS/Legacy モードよりも優先されている) 場合、CD/USB のインストールメディアは自動で Gummiboot を使って Arch Linux カーネルを起動します。そして以下のメニューが表示されます (黒地に白字)、最初のアイテムがハイライトされます:

Arch Linux archiso x86_64 UEFI USB
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
EFI Default Loader

起動時のメニューを覚えていない場合、または UEFI モードで起動しているのか確認したい場合は、次を実行:

# efivar -l

efivar が UEFI 変数を正しく表示したら、UEFI モードで起動されています。表示されない場合は Unified Extensible Firmware Interface#UEFI 変数のサポートを正しく動作させるための必要条件 に記載されている全ての要件が満たされているか確認してください。

起動時の問題のトラブルシューティング

  • Intel のビデオチップセットを使用していて、ブート中にブランクスクリーン (画面が黒くなる) になった場合、おそらく Kernel Mode Setting (KMS) に問題があります。回避策は、パソコンを再起動し、起動しようとしている項目 (i686 または x86_64) の上で、Tab キーを押します。末尾に nomodeset を追加し、Enter キーを押します。または video=SVIDEO-1:d (KMS は無効にされません) を設定します。もしくは、i915.modeset=0 を試して下さい。詳細は Intel ページを参照してください。
  • ブランクスクリーンにならず、カーネルのロード中に固まる場合は、Tab キーをメニューの項目上で押し、末尾に acpi=off を追加し、Enter キーを押します。

言語の選択

シェルプロンプトが表示され、root として自動的にログインが行われます。シェルは Zsh です。高度なタブ補完など、grml の設定 の機能が使用できます。テキストファイルを編集する時は、コンソールエディタの nano を例として使います。使い方をよく知らない場合は、nano#nano の使用方法 を見て下さい。Windows とのデュアルブートをする(もしくはそうすることを計画している)場合、Windows と Arch のデュアルブートを見て下さい。

ヒント: 以下の設定は必須ではありません。設定ファイルをあなたの使う言語で書いたり、Wi-Fi パスワードで区別的発音符を使ったり、もしくはあなたの言語でシステムメッセージ(例えばエラー)を見たいときだけに役に立ちます。ここでの変更はインストールプロセスにだけ適用されます。

標準で、キーボードのレイアウトは us に設定されています。もし、US キーボード以外のレイアウトを使用している場合は、

# loadkeys layout

で変更できます。layout の部分は jp106frukbe-latin1 などとします。ここから一般的なリストを見ることができます。利用可能なキーマップを表示するには localectl list-keymaps コマンドを使って下さい。

警告: 以下はフォントと言語の設定ですが、この段階では、日本語を表示することはできません。

フォントも変える必要があるかもしれません。ほとんどの言語はアルファベットの26字よりも多くの文字を使っているからです。さもなければ文字が□(豆腐)になったり全く異なって表示されることがあります。フォントの名前は大文字・小文字を区別するので、正確に入力してください:

# setfont lat9w-16

標準では、言語は英語 (US) に設定されています。インストール中の言語を変更したい場合 (例: 日本語)/etc/locale.gen 内のあなたの設定したいロケールの行と、英語 (US) の行から行頭の # を削除します。UTF-8 を選択してください。

シンプルな Nano エディタで編集するには、nano /etc/locale.gen と入力してください。Ctrl+X で終了し、変更を保存するか聞かれたら Y と、 Enter を押せば同じファイル名で上書き保存します。

# nano /etc/locale.gen
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
# locale-gen
# export LANG=ja_JP.UTF-8

インターネット接続の確立

警告: v197 以降、udev はネットワークインターフェースの名前を wlanX や ethX といった風に名づけません。あなたが他のディストリビューションを使っているなどの理由で、新しい命名規則を知らないのならば、あなたの無線インターフェースの名前が wlan0 だとか、有線インターフェースの名前が eth0 ではない可能性があることを予め覚えておいて下さい。ip link コマンドでインターフェースの名前を調べることができます。

dhcpcd ネットワークデーモンはブート時に自動で起動して、可能であれば有線での接続を試みます。接続できているかウェブサイトに ping をして確かめて下さい。例えば Google のサーバーに ping します:

# ping -c 3 www.google.com
PING www.l.google.com (74.125.132.105) 56(84) bytes of data.
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms
64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms

--- www.l.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms

ping: unknown host のエラーが出た場合は下に記述されている方法を試して手動で接続をセットアップする必要があります。ネットワークへの接続が問題ないようでしたら、ドライブの準備へ進んでください。

有線

固定 IP アドレスを使用して有線の接続をセットアップする場合は次の手順に従ってください。

あなたのイーサネットインターフェースの名前を確かめて下さい:

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
    link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

上記の例の場合、イーサネットインターフェースは enp2s0f0 です。よくわからない場合、あなたのイーサネットインターフェースはおそらく "e" から始まっているインターフェイスです。"w" で始まっているものや "lo" ではないということです。

ネットワーク設定#固定 IP アドレスを見て必要な設定を確認してください。/etc/dhcpcd.conf に以下のような設定を使って、dhcpcd の static プロファイルを設定します:

interface enp2s0f0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

dhcpcd.service を再起動してください:

# systemctl restart dhcpcd.service

これでネットワークに接続されるはずです。されない場合は、ネットワーク設定のページを見て下さい。

無線

警告: (CD・USB スティックの) ライブ環境では、(ワイヤレスカードを使うのに必要な) ワイヤレスチップセットのファームウェアのパッケージは /usr/lib/firmware の下にあらかじめインストールされていますが、再起動後にも無線を使うには、ユーザーがちゃんとパッケージをインストールする必要があります。パッケージのインストールはこのガイドの後ろで触れています。再起動する前にワイヤレスモジュール・ファームウェアを必ずインストールしてください。もし、あなたのチップセットがファームウェアのインストールを必要としているか不明な場合はワイヤレス設定を見て下さい。

netctlwifi-menu を使いネットワークに接続します:

# wifi-menu

コンピュータに接続されている Wi-Fi デバイスが一つしかない (ノートパソコンなど) 場合は wifi ネットワークのメニューが表示されます。

コンピュータに複数の Wi-Fi デバイスが存在するときは、そのどれか一つを選択して wifi-menu にインターフェイスの名前を指定する必要があります。まず、インターフェイスの名前を確かめて下さい:

# iw dev
phy#0
        Interface wlp3s0
                ifindex 3
                wdev 0x1
                addr 00:11:22:33:44:55
                type managed

上の例では、wlp3s0 が有効なワイヤレスインターフェースです。どれかわからないときは、おそらく "w" から始まるのがあなたのワイヤレスインターフェースです。"lo" や "e" から始まるインターフェースは違います。

インターフェイスの名前がわかったら、インターフェイスの名前を指定して wifi-menu を起動します:

# wifi-menu wlp3s0

ユーザー名やパスワードの設定を必要とするネットワークを使う場合は WPA2 Enterprise#netctl にあるサンプル設定を見て下さい。

これでネットワークは有効になるはずです。接続されないときは、下の wifi-menu を使わない方法や、詳しい説明が載っているワイヤレス設定を見て下さい。

wifi-menu を使わない方法

インターフェースを立ち上げます:

# ip link set wlp3s0 up

インターフェイスが立ち上がっているか確認するには、次のコマンドの出力を見て下さい:

# ip link show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff

<BROADCAST,MULTICAST,UP,LOWER_UP> の中にある UP がインターフェイスが立ち上がっている印です。後ろの state DOWN は違います。

ほとんどのワイヤレスチップセットには、対応するドライバに加えて、ファームウェアが必要です。カーネルが自動で検知してロードを試みます。SIOCSIFFLAGS: No such file or directory のようなエラーが出た場合、ファームウェアを手動でロードする必要があることを意味しています。必要なファームウェアがわからないときは、dmesg を使いカーネルログからワイヤレスチップセットのファームウェア要求をさがします。例えば、カーネルの起動時に Intel チップセットが出力するファームウェア要求の例:

# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode

なにも表示されないなら、あなたのワイヤレスチップセットにはファームウェアが要らないと判断できます。

iw dev wlp3s0 scan | grep SSID を使って利用可能なネットワークをスキャンして、それからネットワークに接続してください:

# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")

ssid はネットワークの名前に (例: "Linksys etc...")、psk はパスワードに置き換える必要があります (ネットワークの名前とパスワードを囲っているダブルクォートは消さないで下さい, 例: ネットワークのパスワードが dog の場合、"dog" と入力)。

最後に、インターフェースに IP アドレスを与える必要があります。手動で設定するか dhcp を使ってこれを行なって下さい:

# dhcpcd wlp3s0

上のコマンドでうまくいかない場合、以下のコマンドを実行してください:

# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
# wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
# ip link set <interface> up # May not be needed, but does no harm in any case
# wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i <interface name>
# dhcpcd -A <interface name>

アナログモデム, ISDN, PPPoE DSL

xDSL・ダイアルアップ・ISDN接続については、直接モデム接続を見て下さい。

プロクシサーバを使う

プロクシサーバを使うには、http_proxy , ftp_proxy 環境変数を設定しなくてはなりません。詳しい情報はプロクシ設定を見て下さい。

ドライブの準備

このステップでは、新しいシステムをインストールするためにストレージデバイスの準備を行います。詳しい情報はパーティショニングを見て下さい。

警告: パーティショニングを行うと既存のデータが消去される可能性があります。実施する前に、必要なデータはバックアップしてください。
ヒント:

デバイスの確認

まず新しいシステムをインストールするデバイスを確認します。次のコマンドを実行すると全てのデバイスが表示されます:

# lsblk

このコマンドはシステムに接続されたデバイスとパーティションを表示しますが、Arch インストールメディアを起動するのに使われているデバイスも含まれています。したがって、どのデバイスでもインストールが行えるというわけではありません。不必要なデバイスを表示しないようにするには、以下のようにコマンドを実行します:

# lsblk | grep -v "rom\|loop\|airoot"

デバイス (ハードディスク) は sdx と示されます。xa から始まる小文字のアルファベットで、一番目のデバイスは sda、二番目のデバイスは sdb と割り当てられます。既存のパーティションは sdxY と示され、Y1 から始まる数字です。一番目のパーティションは 1、二番目のパーティションは 2 と続きます。下の例では、一つのデバイスが存在し (sda)、一つのパーティションが使われています (sda1):

NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0    80G  0 disk
└─sda1            8:1    0    80G  0 part

パーティションテーブル、パーティション、ファイルシステムでは sdxY という名前を例として使います。あくまでこの名前は例なので、実際にコマンドを実行したりするときは、デバイスの名前とパーティションの番号を変える必要があります。コマンドをコピーしてそのまま貼り付けても動作しません。

パーティションをそのまま変更しない場合は、ファイルシステムの作成まで進んでください。パーティショニングを行う場合は、次のセクションを読んで下さい。

パーティションテーブルのタイプの選択

既に何らかの OS がインストールされているところに Arch をインストールする場合、既存のパーティションテーブルを使用します。デバイスがパーティショニングされてなかったり、現在のパーティションテーブルを変更する必要があるときは、まず使用されているパーティションテーブルを確認しなくてはなりません。

ノート: 同じディスクで Arch と Windows をデュアルブートする場合、ディスクにインストールした Windows で使用されているのと同じファームウェアブートモードとパーティショニングの組み合わせに従って下さい。そうしないと Windows が起動しなくなります。詳しくは Windows と Arch のデュアルブート#重要な情報を見て下さい。

パーティションテーブルには2種類あります:

  • MBR: BIOS 環境で使用されます (別名 "msdos")
  • GPT: UEFI 環境で使用されます

既存のパーティションテーブルは、次のコマンドを実行することで確認できます:

# parted /dev/sdx print

パーティショニングツール

デバイスをパーティショニングするには、使用されるパーティションテーブルにあわせて適切なツールを選ぶ必要があります。Arch のインストールメディアには複数のパーティショニングツールが入っています:

  • parted: MBR と GPT
  • fdisk, cfdisk, sfdisk: MBR と GPT
  • gdisk, cgdisk, sgdisk: GPT
警告: 使用しているパーティショニングテーブルと互換性がないパーティショニングツールを使ってしまうと、テーブルが破壊されて、既存のパーティションやデータが消えてしまいます。
ヒント: Arch のインストールメディアを起動する前に、他のライブ環境に付属しているパーティションツールを使って、デバイスを予めパーティショニングしておくことも可能です。初心者にとっては GParted などのグラフィカルなパーティショニングツールが使いやすいでしょう。GParted には ライブ CD が存在し、MBR と GPT の両方のパーティションテーブルで動作します。

インタラクティブモードの parted を使用する

以下で示す例では BIOS/MBR と UEFI/GPT の両方で用いることができる parted を使っています。partedインタラクティブモードで起動して、指定したデバイスに全てのパーティショニングコマンドを自動的に適用することで、不必要な繰り返しを避けます。

デバイスの操作を開始するには、次を実行:

# parted /dev/sdx

コマンドラインプロンプトがハッシュ (#) から (parted) に変わります。

利用できるコマンドのリストを表示するには、次を入力:

(parted) help

パーティションの操作が完了した場合は、次のコマンドで parted を終了します:

(parted) quit

終了後、コマンドラインプロンプトは # に戻ります。

新しいパーティションテーブルの作成

パーティションテーブルのタイプを変更したい場合や、デバイスがまだパーティションされていない場合、パーティションテーブルの(再)作成が必要です。デバイスのパーティションテーブルの再作成はパーティションスキームを最初からやり直したい場合にも有用です。

警告:
  • UEFI/GPT で Windows がインストールされている環境でデュアルブートをしたい場合は、パーティションテーブルを消去しないでください。パーティションテーブルを消去すると、Windows を起動するのに必要な .efi ファイルが入っている UEFI パーティションを含め、デバイス上の既存のデータが全て削除されます。
  • MBR は BIOS 環境で使用するように作られており、GPT は UEFI と一緒に使われることが想定されています。ハードウェアと互換性がない機能や制限があるため、この組み合わせを使わないというのは初心者にはおすすめできません (例: MBR は 2 TiB 以上のデバイスを扱えません) [2]。何らかの理由でこの組み合わせを使いたくないという場合は、[3][4] に詳しい情報や対処方法が載っています。

パーティションテーブルを(再)作成するデバイスを次のコマンドで開いてください:

# parted /dev/sdx

そして BIOS 環境の場合、MBR/msdos パーティションテーブルを新しく作成するために、次のコマンドを実行します:

(parted) mklabel msdos

UEFI 環境で GPT パーティションテーブルを新しく作成するには、次のコマンドを使います:

(parted) mklabel gpt

パーティションスキーム

ディスクをいくつのパーティションに分けるか決めて、それぞれのパーティションにシステム上のディレクトリを割り振ることができます。パーティションからディレクトリへのマッピング (しばしば 'マウントポイント' と呼ばれます) がパーティションスキームになります。パーティションスキームは以下の要件を満たさなければなりません:

  • 少なくとも / (root) ディレクトリのパーティションは必ず作成する必要があります。
  • マザーボードのファームウェアインターフェイスや、選択したパーティションテーブルのタイプによって、また、時には選択したブートローダーにあわせて、以下のパーティションを追加で作成する必要が出てきます:

以下の例では、新しい、連続するパーティションスキームを1つのデバイスに適用します。任意の /boot/home ディレクトリのパーティションも作成しています。それぞれのディレクトリの目的については Arch ファイルシステム階層を見て下さい。/boot/home などのディレクトリのパーティションを別に作成しない場合、/ パーティションに含まれることになります。また、スワップ領域用のパーティションについても説明します。

parted のインタラクティブセッションをまだ開いてない場合は、パーティションするデバイスを指定して起動してください:

# parted /dev/sdx

次のコマンドを使用してパーティションを作成します:

(parted) mkpart part-type fs-type start end
  • part-type is one of primary, extended or logical, and is meaningful only for MBR partition tables.
  • fs-type is one of the supported file systems listed in the manual. The partition will be properly formatted in #Create filesystems.
  • start is the beginning of the partition from the start of the device. It consists of a number followed by a unit, for example 1M means start at 1MiB.
  • end is the end of the partition from the start of the device (not from the start value). It has the same syntax as start, for example 100% means end at the end of the device (use all the remaining space).
警告: It is important that the partitions do not overlap each other: if you do not want to leave unused space in the device, make sure that each partition starts where the previous one ends.
ノート: parted may issue a warning like:
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
In this case, read Partitioning#Partition alignment and follow GNU Parted#Alignment to fix it.

The following command will be used to flag the partition that contains the /boot directory as bootable:

(parted) set partition boot on
  • partition is the number of the partition to be flagged (see the output of the print command).

UEFI/GPT の例

In every instance, a special bootable EFI System Partition is required.

警告: If dual-booting with an existing installation of Windows on a UEFI/GPT system, the existing UEFI partition must not be deleted. Doing so will destroy the .efi file required to boot Windows.

If creating a new EFI System Partition, use the following commands (the recommended size is 512MiB):

(parted) mkpart ESP fat32 1M 513M
(parted) set 1 boot on

The remaining partition scheme is entirely up to you. For one other partition using 100% of remaining space:

(parted) mkpart primary ext3 513M 100%

For separate / (20GiB) and /home (all remaining space) partitions:

(parted) mkpart primary ext3 513M 20.5G
(parted) mkpart primary ext3 20.5G 100%

And for separate / (20GiB), swap (4Gib), and /home (all remaining space) partitions:

(parted) mkpart primary ext3 513M 20.5G
(parted) mkpart primary linux-swap 20.5G 24.5G
(parted) mkpart primary ext3 24.5G 100%

BIOS/MBR の例

For a minimum single primary partition using all available disk space, the following command would be used:

(parted) mkpart primary ext3 1M 100%
(parted) set 1 boot on

In the following instance, a 20Gib / partition will be created, followed by a /home partition using all the remaining space:

(parted) mkpart primary ext3 1M 20G
(parted) set 1 boot on
(parted) mkpart primary ext3 20G 100%

In the final example below, separate /boot (100MiB), / (20Gib), swap (4GiB), and /home (all remaining space) partitions will be created:

(parted) mkpart primary ext3 1M 100M
(parted) set 1 boot on
(parted) mkpart primary ext3 100M 20G
(parted) mkpart primary linux-swap 20G 24G
(parted) mkpart primary ext3 24G 100%

ファイルシステムの作成

パーティショニングはまだ終わっていません。パーティションにはファイルシステムが必要です。ext4 ファイルシステムでパーティションをフォーマットするには:

警告: フォーマットするのが /dev/sda1/dev/sda2 であるか、再確認・再々確認してください。lsblk を使って確かめられます。
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2

swap (コード 82) 用のパーティションを作った時は忘れずにフォーマットして有効にして下さい:

# mkswap /dev/sdaX
# swapon /dev/sdaX

UEFI では、EFI System Partition (例えば /dev/sdXY) をフォーマットする必要があります:

# mkfs.fat -F32 /dev/sdXY
ノート: GUID Partition Table を使用して BIOS 環境で GRUB を使用するときは、BIOS Boot Partition/boot マウントポイントは関係ないので注意してください。BIOS Boot Partition は GRUB によって直接使われます。BIOS Boot Partition にファイルシステムを作成したり、次のステップでマウントしたりしないで下さい。

パーティションのマウント

パーティションにはそれぞれ番号がふられます。たとえば、sda1 は最初のドライブの最初のパーティションを指定し、一方 sda は全てのドライブを指定します。

現在のパーティションレイアウトを表示:

# lsblk -f
ノート: 注意ぶかくみてください、マウントの順番は重要です。複数のパーティションを同じディレクトリにマウントしてはいけません。

まず、 root パーティションを /mnt にマウントします。前記の例にあわせるとこうなります(あなたのは違うかもしれません):

# mount /dev/sda1 /mnt

それから /home パーティションと、必要なら他の分割パーティション (/boot, /var, etc) をマウントします:

# mkdir /mnt/home
# mount /dev/sda2 /mnt/home

UEFI マザーボードを使っているときは、EFI システムパーティションを /boot にマウントしてください。他のマウントポイントを使うこともできますが、EFISTUB で説明されているように /boot が推奨です:

# mkdir /mnt/boot
# mount /dev/sdXY /mnt/boot

ミラーの選択

インストールの前に、mirrorlist ファイルを編集し、好みのミラーを一番上に置きましょう。このファイルのコピーが pacstrap によってインストールされ、新しいシステム上でも選択したミラーが使われます。

# nano /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on YYYY-MM-DD
##

Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
...
  • Alt+6Server 行をコピー。
  • PageUp キーで上にスクロール。
  • Ctrl+U でリストの一番上にペースト。
  • Ctrl+X で終了、保存するか聞かれたら、Y を押し Enter で上書き保存。

もし望むなら、他のミラーを消去 (Ctrl+K を使う) してミラーをひとつだけに絞ることができます。しかし、一般的には、そのミラーがオフラインになったときのことを考え、ミラーを複数使った方が良いと思われます。

ヒント:
  • Mirrorlist Generator を使って、あなたの国のアップデータリストを入手できます。keepalive のために、HTTP ミラーのほうが FTP よりも速度が速いです。また FTP では、pacman はパッケージをダウンロードするごとにシグナルを送信しなくてはならないため、短い停止がはさまります。ミラーリストを作る他の方法を見るには、ミラーのソートReflector を参照してください。
  • Arch Linux MirrorStatus ではミラーの状況、たとえばネットワークエラー、データ収集エラー、最終同期時間などの様々な情報を見ることができます。
ノート:
  • 将来、ミラーリストを変更したときは必ず、pacman -Syy で pacman の全てのパッケージリストを更新することを覚えておいて下さい。これは良い経験則と考えられており、問題の回避につながります。詳しくはミラーを参照。
  • 古いインストールメディアを使っている場合、ミラーリストが古くなっているかもしれません。そのために Arch Linux のアップデート時に問題を引き起こす可能性があります。(FS#22510 を参照)。上で述べたようにして最新のミラー情報を入手するべきです。
  • pacman がリポジトリのアップデート・同期を行えなくなるネットワーク問題に関して Arch Linux フォーラムで複数の問題が報告されています ([5][6] を参照)。ネイティブ環境で Arch Linux をインストールしているなら、これらの問題は標準の pacman ファイルダウンローダを代替ダウンローダに置き換えることで解決できます。(詳しくは Pacman のパフォーマンスを向上させるをチェック)。VirtualBox のゲストOSとして Arch Linux をインストールしているなら、この問題はマシンの設定で "NAT" の代わりに "Host interface" を使うことで回避できます。

ベースシステムのインストール

pacstrap スクリプトを使ってベースシステムをインストールします。basebase-devel の全てのパッケージをインストールするつもりなら、-i スイッチは省いて下さい。

# pacstrap -i /mnt base base-devel
ノート:
  • ミラーを正しく設定しているのに、pacstrap が error: failed retrieving file 'core.db' from mirror... : Connection time-out で止まる場合は、他のネームサーバを設定してみてください。
  • ベースパッケージのインストール中に PGP キーをインポートをリクエストされたら、キーのダウンロードを承認して先に進んで下さい。これは古い Arch ISO を使っているときに発生します。PGP 鍵を追加できないときは、次のようにして archlinux-keyring パッケージを更新してみてください: pacman -S archlinux-keyring
  • pacman がパッケージの検証に失敗するときは、Ctrl+C で処理を中止して cal でシステム時刻を確認してください。システム時刻がおかしい場合(例えば2010年の日付を表示するなど)、署名キーが期限切れ(もしくは無効)と判断され、パッケージの署名チェックが失敗しインストールが中断されます。ntpd -qg コマンドを使ってシステム時刻を直してから、pacstrap コマンドを再度実行してください。時刻のページに時刻修正の詳しい情報があります。
  • pacman が error: failed to commit transaction (invalid or corrupted package) と表示する場合は、以下のコマンドを実行してください: # pacman-key --init && pacman-key --populate archlinux
  • base: [core] リポジトリからのソフトウェアパッケージで、最小ベース環境を構築します。
  • base-devel: [core] からの makeautomake などの追加ツールです。初心者は基本的にインストールするべきで、システムを拡張するのに必要になります。base-devel グループは Arch User Repository からソフトウェアをインストールする際に必要です。

ここではベースの Arch システムを作ります。他のパッケージは後で pacman を使ってインストールできます。

fstab の生成

以下のコマンドで fstab ファイルを生成します。アドバンテージのある UUID が使われます。(fstab#ファイルシステムの識別 を見て下さい)。代わりのラベルを使いたいならば、-U オプションを -L に置き換えましょう。

# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
警告: 生成したあとは必ず fstab をチェックしましょう。genfstab や後のインストール作業中にエラーが起こっても、もう一度 genfstab を使用しないでください。fstab ファイルを編集して下さい。

考察事項:

  • 最後のフィールドには起動時にチェックするパーティションの順番を設定します: (btrfs 以外では) root パーティションに 1 を使って下さい、最初にチェックされます; 起動時にチェックしたい他のパーティションには 2 を使って下さい、0 はチェックされません (fstab#フィールドの定義を参照)。
  • btrfs のパーティションには全て 0 を使う必要があります。通常、swap パーティションも 0 を設定するはずです。

Chroot とベースシステムの設定

次に、chroot を使って新しくインストールされたシステムに入ります:

# arch-chroot /mnt /bin/bash
ノート: sh シェルに chroot する場合は /bin/bash を取って下さい。

この段階では、Arch Linux ベースシステムの重要な設定ファイルを作ります。ファイルが存在していないときや、デフォルト設定を使いたくないときは、その都度ファイルを作成したり編集してください。

正確に、手順をよく踏まえてから設定してください。システムを正しく設定するためにとても重要です。

Locale

Locale を設定することによって、glibc やその他の locale を使うプログラムやライブラリで、テキストのレンダリング、正しい通貨単位の表示、時間と月日のフォーマット、アルファベットの特有表現、地域特有の単位の表示などができるようになります。

2つのファイルを編集する必要があります: locale.genlocale.conf

  • locale.gen ファイルはデフォルトでは空です(全てコメントアウトされています)ので必要な行の前の # を削除してください。English (US) の行だけでなく、あなたが選んだ UTF-8 エンコードの分だけ削除してください:
# nano /etc/locale.gen
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
# locale-gen

locale-gen は glibc のアップグレード毎に実行され、/etc/locale.gen で示された locale を生成します。

  • locale.conf ファイルはデフォルトで存在しません。他の全ての変数のデフォルト値として扱われる LANG のみ設定すれば十分で、次のコマンドでロケールを設定できます。LANG 変数に指定するロケールは /etc/locale.gen でアンコメントされている必要があります。
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
警告: コンソールでは日本語は文字化けします。GUI 環境を設定してから以下で locale.conf を設定するといいでしょう。
# echo LANG=ja_JP.UTF-8 > /etc/locale.conf
# export LANG=ja_JP.UTF-8
また、日本語を表示するために X をインストールした後に日本語のフォントをインストールしましょう。

他の LC_* 変数を使いたいときは、まず locale を実行してオプションを確認し、locale.conf に追加してください。LC_ALL 変数を使うことは推奨されません。詳しくは ロケール#システム全体のロケールを設定する を参照してください。

コンソールフォントとキーマップ

インストールの最初にキーマップをセットした場合、今ロードしてください、なぜなら環境が変わったからです。例えば:

# loadkeys jp106
# setfont Lat2-Terminus16

再起動後もキーマップ設定を持続させるために、vconsole.conf を編集 (ファイルがなかったら作成してください):

# nano /etc/vconsole.conf
KEYMAP=jp106
FONT=Lat2-Terminus16
  • KEYMAP – この設定は TTY でのみ有効で、グラフィカルウィンドウマネージャや Xorg では使われません。
  • FONT – 利用可能なコンソールフォントは /usr/share/kbd/consolefonts/ にあります。デフォルト(空)でも問題ありませんが、いくつかの言語の文字が四角になったり他の文字になったりするかもしれません。Lat2-Terminus16 に変えることが推奨されます。/usr/share/kbd/consolefonts/README.Lat2-Terminus16 によれば、"約100個の言語セット"をサポートしています。
  • (オプション) FONT_MAP – 起動時にロードするコンソールマップを定義します。man setfont を読んで下さい。削除したり、空のままでも問題ありません。

詳しくはコンソールフォントman vconsole.conf を参照。

タイムゾーン

利用可能なタイムゾーンとサブゾーンは /usr/share/zoneinfo/<Zone>/<SubZone> ディレクトリで見つかります。

<Zone> 一覧を見るために、 /usr/share/zoneinfo/ ディレクトリをチェックしてください:

# ls /usr/share/zoneinfo/

同じように、<SubZone> にあるディレクトリの一覧を見ることができます:

# ls /usr/share/zoneinfo/Asia

/etc/localtime からゾーンファイル /usr/share/zoneinfo/<Zone>/<SubZone> へのシンボリックリンクを作るにはこのコマンドを使います:

# ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime

例:

# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ノート: ln: failed to create symbolic link '/etc/localtime': File exists と表示される場合は、ls -l /etc/localtime でファイルが存在するか確認してから、ln コマンドに -f オプションを追加して上書きしてください。

ハードウェアクロック

ハードウェアクロックモードを OS 間で均一に設定します。さもないと、ハードウェアクロックが上書きされ時刻がずれることがあります。

次のコマンドのうちのどれかで /etc/adjtime を自動生成できます:

  • UTC (推奨)
ノート: ハードウェアクロックに UTC を使ったからといって、ソフトウェアが時刻を UTC で表示するわけではありません。
# hwclock --systohc --utc

インターネットを使って "UTC" 時刻を同期する方法は NTPd を見て下さい。

  • localtime (非推奨; Windows でのデフォルト)
警告: localtimeを使うと既知の、容易に修復できないバグを引き起こす可能性があります。しかしながら、localtime のサポートを終了する計画はありません。
# hwclock --systohc --localtime

カーネルモジュール

ヒント: これはただの例です、このように設定する必要はありません。全ての必要なモジュールは udev により自動でロードされます、あなたが付け加えなくてはならない状況はほとんどありません。足りないモジュールだけを加えて下さい。

起動中にカーネルモジュールをロードするには、/etc/modules-load.d/ に、プラグラムに基づいた名前の *.conf ファイルを設置します。

# nano /etc/modules-load.d/virtio-net.conf
# Load 'virtio-net.ko' at boot.

virtio-net

ひとつの *.conf で複数のモジュールをロードする際には、モジュールの名前を新しい行で分割できます。好例は VirtualBox Guest Additions です。

空の行や、 # 又は ; で始まっている行は無視されます。

ホストネーム

お好きな名前をホスト名に設定してください (例えば arch):

# echo myhostname > /etc/hostname

同じホスト名を /etc/hosts に追加します:

# nano /etc/hosts
#
# /etc/hosts: static lookup table for host names
#

#<ip-address>	<hostname.domain.org>	<hostname>
127.0.0.1	localhost.localdomain	localhost myhostname	
::1		localhost.localdomain	localhost myhostname

# End of file

ネットワークの設定

ネットワークの設定をもう一度行います。今回は新しいインストールされた環境のために行います。以前に説明したのと方法はほとんど同じですが、設定を永続させて、起動時に自動的に行うようにします。

まず最初に、ip link で接続を設定するネットワークインターフェイスの名前を確認してください。

ノート: ネットワーク設定のより詳しい情報は、ネットワーク設定ワイヤレス設定を参照してください。
警告: インストールの最中には、インターフェースの名前に伝統的な eth* や wlan* が使われていたとしても、udev はこの命名規則を使いません。従って、新しいシステムに起動した時、新しいインターフェースの名前が割り当てられていることに注意してください。全てのネットワークインターフェースを一覧するには ip link を実行します。
ノート: インターフェースの古い命名規則 (eth* や wlan*) を使いたいときは /etc/udev/rules.d/80-net-setup-link.rules に空のファイルを作成してください。これによって /usr/lib/udev/rules.d 下の同じ名前のファイルがマスクされます (空のファイルを使う代わりに、/dev/null へのシンボリックリンクを使うことでも命名規則を戻せます: # ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules)。

有線

ダイナミック IP
dhcpcd を使う

もし固定された有線ネットワーク接続が1つだけあるのなら、ネットワーク管理サービスを使う必要はなく、単純に dhcpcd サービスを有効にするだけです:

# systemctl enable dhcpcd.service
ノート: 上のコマンドが動作しない場合、次のコマンドを使って下さい: # systemctl enable dhcpcd@interface_name.service
netctl を使う

/etc/netctl/examples からサンプルプロファイルを /etc/netctl/ にコピーしてください:

# cd /etc/netctl	
# cp examples/ethernet-dhcp my_network

プロファイルを編集して下さい (Interfaceeth0 から ip link を実行して表示されるネットワークアダプタ ID に修正する):

# nano my_network

my_network プロファイルを有効にしてください:

# netctl enable my_network
ノート: Running in chroot, ignoring request. というメッセージが表示されても、いまのところは無視してください。
netctl-ifplugd を使う
警告: netctl enable <profile> のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

もしくは netctlnetctl-ifplugd を使って動的な接続を管理することもできます:

ifplugd をインストールしてください、netctl-ifplugd を使うために必要なパッケージです:

# pacman -S ifplugd

そしてインターフェースを有効にしてください:

# systemctl enable netctl-ifplugd@<interface>.service
ノート: netctl には netctl-auto もあり、netctl-ifplugd と一緒に有線プロファイルを管理するのに使われます。
固定 IP
netctl を使う

/etc/network.d/examples から /etc/netctl にサンプルプロファイルをコピーします:

# cd /etc/netctl
# cp examples/ethernet-static my_network

必要に応じてプロファイルを編集 (Interface, Address, Gateway, DNS を修正):

# nano my_network
  • Address の中の /24255.255.255.0 ネットマスクの CIDR notation です。

そして作成したプロファイルを有効にしてください:

# netctl enable my_network
systemd-networkd を使う

systemd-networkd を参照してください。

無線

ノート: あなたの使っているワイヤレスアダプタにファームウェアが必要な時は (上のインターネット接続の確立セクションとここに記述あり)、ファームウェアを含んだパッケージをインストールしてください。ほとんどの場合、linux-firmware パッケージに必要なファームウェアが含まれていますが、機器によっては個別のパッケージにファームウェアが存在します。例えば: # pacman -S zd1211-firmware。詳しくはワイヤレス設定を見て下さい。

ネットワークに接続するために iwwpa_supplicant をインストールしてください:

# pacman -S iw wpa_supplicant
無線ネットワークの追加
wifi-menu を使う

wifi-menu に必要な dialog をインストールしてください:

# pacman -S dialog

このインストールと再起動が終わった後 wifi-menu <interface> (<interface> はあなたの無線インターフェースに置き換えてください) でネットワークに接続することができます。

# wifi-menu <interface>
警告: wifi-menu を使う時は、絶対に chroot を終了して再起動したにしてください。このコマンドを使って作成されたものが chroot の外で動作させているものと衝突してしまう恐れがあるからです。また、上で書かれているようにテンプレートを使って手動でネットワークプロファイルを設定することもできます、その場合は wifi-menu を使うことについての心配はいりません。
手動の netctl プロファイルを使う

ネットワークプロファイルを /etc/netctl/examples から /etc/netctl にコピーしてください:

# cd /etc/netctl
# cp examples/wireless-wpa my_network

接続するネットワークにあわせてプロファイルを編集してください。

# nano my_network

例えば、無線インターフェースが wlp3s0 で、ネットワークの名前が Home Wireless、パスワードが caQu3uR の場合:

# nano /etc/netctl/wireless-wpa
Interface=wlp3s0
ESSID='Home Wireless'
Key='caQu3uR'

作成したプロファイルがブート毎に実行されるよう有効にしてください:

# netctl enable my_network
既知のネットワークに自動で接続する
警告: netctl enable <profile> のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

netctl-auto に必要な wpa_actiond をインストールしてください:

# pacman -S wpa_actiond

netctl-auto サービスを有効にすれば、既知のネットワークに接続しローミングや切断を管理します:

# systemctl enable netctl-auto@interface_name.service
ノート: netctl には netctl-ifplugd もあり、netctl-auto と一緒に有線プロファイルを管理するのに使われます。

xDSL (PPPoE), アナログモデム, ISDN

xDSL、ダイアルアップ・ISDN 接続は、Direct Modem Connection を見て下さい。

pacman の設定

Pacman は Arch Linux のパッケージマネージャ (package manager) です。使い方を学んで利用することが薦められています。man pacman を読んだり pacman の記事を見て下さい、または Pacman Rosetta ページに書かれている、他の有名なパッケージマネージャとの比較を見てください。

リポジトリの選択と pacman の設定には、pacman.conf を編集します:

# nano /etc/pacman.conf

殆どの人々が使うのは [core], [extra], [community] です。

Arch Linux x86_64 をインストールしたのなら、[multilib] リポジトリも有効にするのをおすすめします (32 bit と 64 bit 両方のアプリケーションを動かせるようになります):

ノート: リポジトリを選択するとき、以下の行だけでなく [repo_name] 行の頭のコメントも外して下さい。これを忘れると選択したリポジトリが使われません!よくあるミスです。
[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

ファイルを編集した後 pacman-Sy スイッチをつけて起動してパッケージリストを更新する必要があります。していないと、次に pacman を使った時に warning: database file for 'multilib' does not exist エラーがでます。

詳しくは公式リポジトリを参照してください、それぞれのリポジトリの目的の詳細もあります。

pacman では直接入手できないソフトウェアについては、Arch User Repository を見て下さい。

Initial ramdisk 環境の作成

ヒント: ほとんどのユーザーはこの手順をスキップし、mkinitcpio.conf のデフォルト設定を使って問題ありません。initramfs イメージ (/boot フォルダ内) は pacstrap によって linux パッケージ (Linux カーネル) をインストールしたときに、mkinitcpio.conf に基づいて既に生成されています。

root が USB ドライブにあったり、RAID や LVM を使っていたり、/usr が分割されたパーティション上にある場合は、ここで正しい hooks を設定しなくてはなりません。

必要に応じて /etc/mkinitcpio.conf を編集し、initramfs イメージを再形成します:

# mkinitcpio -p linux
ノート: Arch を QEMU 上の VPS にインストールする場合 (例: virt-manager を使う場合) 起動するために mkinitcpio.conf 内に virtio モジュールが必要かもしれません。
# nano /etc/mkinitcpio.conf
MODULES="virtio virtio_blk virtio_pci virtio_net"

root パスワードの設定

root パスワードを設定します:

# passwd

ブートローダのインストールと設定

Intel の CPU を使用している場合、ブートローダーにマイクロコードのアップデートの設定をすると良いでしょう (AMD では自動でアップデートされます)。

BIOS マザーボード

BIOS システムでは、複数のブートローダが使えます。ブートローダの完全なリストはブートローダーにあります。あなたの都合に合わせてどれか一つを選んで下さい。ここでは、2つのブートローダを例として取り上げます:

  • Syslinux は現在 Syslinux がインストールされたパーティションのファイルのみをロードするように制限されています。設定ファイルはわかりやすいものになっています。設定サンプルは Syslinux の記事にあります。
  • GRUB はより多くの機能を備えた複雑なブートローダです。設定ファイルはスクリプト言語 (sh) に似ていて、初心者が手動で設定するには難しいかもしれません。自動で設定を生成するのが推奨されます。
Syslinux

前にハードディスクで GUID パーティションテーブル (GPT) を使うことを選択した場合は、syslinux のインストールを完了するために gptfdisk パッケージをインストールする必要があります:

# pacman -S gptfdisk

syslinux パッケージをインストールし、syslinux-install_update スクリプトを使って自動的にファイルをインストールし (-i)、ブートフラグを設定して (-a)、MBR ブートコードをインストールすることで (-m)、パーティションを有効化します:

# pacman -S syslinux
# syslinux-install_update -iam

syslinux.cfg に正しい root パーティションを設定してください。この手順は重要です。間違ったパーティションを指定すると、Arch Linux は起動できなくなります。/dev/sda3 をあなたの root パーティションにしてください (もしドライブをこの例のようにパーティションしているなら、あなたの root パーティションは /dev/sda1 です)。

# nano /boot/syslinux/syslinux.cfg
...
LABEL arch
        ...
        APPEND root=/dev/sda3 rw
        ...
LABEL archfallback
        ...
        APPEND root=/dev/sda3 rw
        ...

パーティション番号ではなく UUID を追加する場合は APPEND root=UUID=partition_uuid rw です。

Syslinux の設定についての詳しい情報は Syslinux を見て下さい。

GRUB

grub パッケージをインストールしてから grub-install を実行してブートローダをインストールしてください:

# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sda
ノート:
  • /dev/sda はあなたが Arch をインストールしたドライブに書き換えてください。パーティション番号を加えてはいけません (sdaX を使ってはいけません)。
  • BIOS マザーボード上の GPT によってパーティションされているドライブを使っている場合、"BIOS Boot Partition" が必要です。GPT 特有の手順を参照してください。
  • サンプルの /boot/grub/grub.cfg は grub パッケージの一部としてインストールされ、後の grub-* コマンドでは上書きされません。あなたの変更が grub.cfg.new などのファイルではなく grub.cfg にあることを確認してください。

次に grub.cfg を作ります。手動で作る方が細かい設定ができますが、初心者は自動で生成するのが推奨されています:

ヒント: あなたのコンピュータに入っている他の OS を自動で見つけるには、次のコマンドの前に os-prober をインストール (pacman -S os-prober) してください。
# grub-mkconfig -o /boot/grub/grub.cfg

GRUB の使用・設定の詳しい情報は、GRUB2 を参照。

UEFI マザーボード

ノート: UEFI ファームウェアによってはインストールしたブートローダーの .efi ブータブルスタブを特定の名前で特定の場所に配置する必要があります: $esp/EFI/boot/bootx64.efi ($esp は EFI System Partition のマウントポイントに置き換えて下さい)。これをしていないと場合によっては、インストールした環境を起動できなくなることがあります。詳しくはそれぞれのブートローダーのセクションを見て下さい。

UEFI システムでも、複数のブートローダが使えます。利用できるブートローダの完全なリストは UEFI ブートローダーにあります。あなたの都合にあわせて選んで下さい。ここでは、2つのブートローダを例として提示します:

  • gummiboot は最小主義の UEFI ブートマネージャで、EFISTUB カーネルや他の UEFI アプリケーションのためのメニューを提供します。初心者、特に Windows 8 などの別のオペレーティングシステムとデュアルブートをしたいユーザーに推奨です。
  • GRUB は完全なブートローダーで、gummiboot で問題が起きた時に役に立ちます。

どちらの方法も選ぶ場合も、インストール後に EFI System Partition を操作するための dosfstools パッケージと、(ブートマネージャのインストールスクリプトで使われる) .efi ブータブルスタブを作成するための efibootmgr を最初にインストールします:

# pacman -S dosfstools efibootmgr
ノート: UEFI でブートするには、ドライブは GPT でパーティションされている必要があり、EFI System Partition (512 MiB 以上, FAT32, gdisk タイプ EF00) が /boot でマウントされていなくてはなりません。このガイドを初めから実行しているのなら、すでに全て行われているはずです。
Gummiboot
ノート: Gummiboot が自動的にアップデートされるように EFI System Partition は /boot にマウントすることを強く推奨します。

gummiboot パッケージをインストールして、gummiboot install を実行してブートローダを EFI System Partition にインストールしてください ($esp は EFI System Partiton の場所に置き換えて下さい、通常は /boot です):

# pacman -S gummiboot
# gummiboot --path=$esp install

Gummiboot はファームウェアによって自動で検出され、bootx64.efi ブータブルスタブが $esp/EFI/boot にあることを必要とします。そして .efi スタブを使ってインストールされている別のオペレーティングシステムを自動で検出します。ただし、Gummiboot の設定ファイルは手動で作成する必要があります。

まず、$esp/loader/entries/arch.conf を作成して以下を記述します、/dev/sdaXroot パーティションに置き換えて下さい (例: /dev/sda2):

# nano $esp/loader/entries/arch.conf
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=/dev/sdaX rw

次に、$esp/loader/loader.conf を作成して以下を記述します、timeout の値は自由に変更できます (秒数):

# nano $esp/loader/loader.conf
default  arch
timeout  5

Gummiboot の設定と使用方法の詳細は Gummiboot を見て下さい。

GRUB
ノート: Grub のインストールスクリプトは grubx64.efi という名前の .efi ブータブルスタブを作成しますが、UEFI ファームウェアによっては検出されないことがあります。このガイドでは (上記で示したように) dosfstoolsefibootmgr がインストールされていることを前提にしています。Grub はインストールされている別の UEFI オペレーティングシステムを自動では検出しません。

grub をインストールして grub インストールスクリプトを実行します ($esp は EFI System Partiton の場所に置き換えて下さい、通常は /boot):

# pacman -S grub
# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=arch_grub --recheck

grubx64.efi ブータブルスタブが $esp/EFI/arch_grub に配置されます。ファームウェアがスタブを検出するかどうかわからなかったり、複数のブートローダーを使わない場合、上記の通り、スタブをデフォルトの場所からコピーして UEFI ファームウェアによって確かに起動できるように名前を変更します:

# mkdir $esp/EFI/boot
# cp $esp/EFI/arch_grub/grubx64.efi $esp/EFI/boot/bootx64.efi

次に、grub.cfg を作成します。手動で作る方が細かい設定ができますが、初心者は自動で生成するのが推奨されています:

# grub-mkconfig -o /boot/grub/grub.cfg

GRUB の使用・設定の詳しい情報は、GRUB を参照。

パーティションのアンマウントと再起動

chroot 環境を脱出します:

# exit
ノート: パーティションは systemd によってシャットダウン時に自動的にアンマウントされますが、安全対策として umount -R /mnt を使って手動でアンマウントすることもできます。パーティションがビジー状態の場合、fuser で原因を特定できます。

コンピュータを再起動:

# reboot
ヒント: インストールメディアを取り出してください、そうしないともう一度セットアップが起動してしまいます。マシンにログインするときはユーザー "root" と前に passwd コマンドで設定したパスワードを使います。デフォルトのパスワードは "root" です。

インストールのその先

あなたの新しい Arch Linux ベースシステムは今、あなたの目的や希望のために必要な全てを入れる準備ができた GNU/Linux になっています。殆どの人は、サウンドとグラフィックをそなえたデスクトップ環境に興味があるでしょう: ガイドのこのパートでは、これらの追加的要素を使うための、簡単な概要を記述します。

ユーザー管理

ユーザー管理で記述されているようにして必要なユーザーアカウントを追加してください。通常の利用に root アカウントを使ったり、サーバーの SSH から root が見えるのは得策とは言えません。root アカウントは管理業務だけに使われるべきです。Linux 初心者ならば、あなたの新しいシステムに入っているコアユーティリティを知っておくと役に立つかもしれません。

例えば bash をログインシェルに指定して archie という名前のユーザーを追加:

# useradd -m -g users -G wheel -s /bin/bash archie

パッケージ管理

Pacman が Arch Linux のパッケージマネージャ (package manager) です。pacmanFAQ#パッケージ管理 を見て、インストール・アップデート・パッケージ管理について学んで下さい。

Arch Linux x86_64 をインストールした場合、32ビットのアプリケーションを使うために [multilib] リポジトリを有効にできます

それぞれのリポジトリの役割については Official Repositories を見て下さい。

サービス管理

Arch Linux はシステムとサービスの管理に systemd を init として使っています。あなたの Arch Linux をメンテナンスするのに、systemd について基本的なことを知っておくべきです。systemd を使うときには systemctl コマンドを使います。 systemd#systemctl の基本的な使い方 を読んで下さい。

サウンド

ALSA は箱から出してすぐ使える状態になっています。アンミュートするだけです。alsa-utils をインストール (alsamixer が入っています) してこの記事を読んで下さい。

最初にカーネルに含まれている ALSA を試すことをおすすめします。もし、ALSA が動かないときは OSS を代わりに使うことができます。より上級者向けのオーディオを求めるならば、Sound system を見て様々な記事の概要を一読しましょう。

グラフィカルユーザーインターフェース

X のインストール

X Window System (X11 または X) はネットワークとディスプレイのプロトコルであり、ビットマップディスプレイでのウィンドウ環境を提供します。グラフィカルユーザーインターフェース(GUI)を構成するための標準のツールキットとプロトコルが備わっています。

ベースの xorg パッケージのインストール:

# pacman -S xorg-server xorg-server-utils xorg-xinit

3D サポートのための mesa をインストール:

# pacman -S mesa

ビデオドライバのインストール

ノート: Arch を VirtualBox のゲストとしてインストールしたときは、ビデオドライバのインストールは不要です。ゲストアドインのインストールと設定については Arch Linux guests を見て、このページの下の設定まで進んで下さい。

あなたのマシンにどのビデオ・チップセットが載っているのかわからないときは:

$ lspci | grep VGA

オープンソース・ビデオドライバ全ての一覧を見るために、パッケージ・データベースを検索:

$ pacman -Ss xf86-video | less

vesa は一般的な mode-setting ドライバです。ほとんどの GPU で動きますが、2D 又は 3D アクセラレーションは全くありません。より良いドライバが見つからなかったり、ロードできなかった場合、Xorg は vesa ドライバに戻ります。インストールするには:

# pacman -S xf86-video-vesa

GPU が持っているビデオアクセラレーション機能を働かせるには、正しいビデオドライバが必要です。よく使われるビデオドライバーの表がある Xorg#ドライバーのインストール を見て下さい。

インプットドライバのインストール

Udev が問題なくハードウェアを認識することができるはずです。evdev ドライバ (xf86-input-evdev) は近代的なホットプラグ・インプットドライバであり、ほぼ全てのデバイスに対応しているので、ほとんどの場合インプットドライバのインストールは不要です。evdevxorg-server パッケージの依存として既にインストールされているはずです。

ラップトップユーザー(やタッチスクリーンを持っている人)はタッチパッドやタッチスクリーンを動かすのに xf86-input-synaptics パッケージが必要です:

# pacman -S xf86-input-synaptics

タッチパッドに関するチューニングやトラブルシューティングの解説は、Touchpad Synaptics を参照してください。

X の設定

警告: プロプライエタリドライバは通常、インストール後に再起動が必要です。詳しくは NVIDIAAMD Catalyst を見て下さい。

Xorg が自動検出するので、xorg.conf の設定なしでも動作します。手動で X サーバーを設定したいならば、wiki の Xorg のページを読みましょう。

ここで標準の US キーボードを使っていないときは、キーボードレイアウトを設定することができます。

/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "jp"
EndSection
ノート: XkbLayout キーは loadkeys コマンドで使ったキーマップコードと異なることがあります。多くのキーボードレイアウトと設定項目が /usr/share/X11/xkb/rules/base.lst にあります(! layout で始まる行から後ろ)。例えば、"English (UK)" に対応したレイアウト gb は、コンソールでは loadkeys uk でした。

X のテスト

ヒント: テストは必須ではありません。初めて Arch Linux をインストールしたときや、新しい不慣れなハードウェアにインストールしたときなどにテストすれば十分です。
ノート: テストでインプットデバイスが動作しないときは、xorg-drivers グループから必要なドライバをインストールして、再度試して下さい。利用できるインプットドライバの全てのリストは、pacman 検索で入手できます (Q を押して終了):
$ pacman -Ss xf86-input | less
ホットプラグを無効にしたいなら、xf86-input-keyboardxf86-input-mouse だけが必要です。それらがない場合、evdev がインプットドライバとして動作します(推奨)。

デフォルト環境のインストール:

# pacman -S xorg-twm xorg-xclock xterm

Xorg を非 root ユーザを作る前にインストールしたときは、.xinitrc ファイルのテンプレートが home ディレクトリに作られるので、削除するかコメントアウトする必要があります。単純に削除すると、 X は上でインストールしたデフォルト環境で動作します。

$ rm ~/.xinitrc
ノート: logind セッションを保つために、ログイン済みの同じ tty で X を動作させるべきです。デフォルトでは /etc/X11/xinit/xserverrc で扱われます。

(テスト) Xorg セッションを起動させましょう:

$ startx

複数の移動可能なウィンドウが現われ、マウスも動くはずです。X のインストールの成功に満足したら、exit コマンドをプロンプトに入力して X を終了できます。

$ exit

スクリーンが真っ暗になった場合、異なるバーチャルコンソールにスイッチした (例えば Ctrl+Alt+F2)、もしくはやみくもに root でログインした可能性があります。同じ事は "root" と入力して (その後 Enter を押す)、root パスワードを入力すればできます(同じく、入力後に Enter)。

X サーバーをキルしたくなった時は:

# pkill X

これで終了しないときは、しかたがないので再起動しましょう:

# reboot
トラブルシューティング

問題が発生した時は、Xorg.0.log のエラーを見ましょう。エラー(error)をあらわす (EE) で始まる行や、他の問題を示すウォーニング(warning)を意味する (WW) の行を見て下さい。

$ grep EE /var/log/Xorg.0.log

Xorg の記事を見た後もトラブルが治らず、Arch Linux フォーラムや IRC チャンネルで助けを求めるときは、wgetpaste をインストールして使うようにしましょう:

# pacman -S wgetpaste
$ wgetpaste ~/.xinitrc
$ wgetpaste /etc/X11/xorg.conf
$ wgetpaste /var/log/Xorg.0.log
ノート: 答えの助けになるように、全ての関係する情報(ハードウェア、ドライバ情報などなど)を提供してください。

フォント

初めから入っている、スケールしないビットマップフォントだけでは飽きたらず、TrueType フォントのセットをインストールしたくなったかもしれません。DejaVu はハイクオリティな一般用途向けのフォントセットで、Unicode をほぼカバーしています:

# pacman -S ttf-dejavu

フォントレンダリングの設定やフォントのインストールについてはフォント設定フォントを参照してください。

グラフィカルインターフェースの選択とインストール

X Window System はグラフィカルユーザーインターフェース (GUI) を作るための標準フレームワークを提供しています。

ノート: あなたの DE や WM を選ぶことは非常に主観的・個人的な決定になります。あなたの要望にあわせて最適の環境を選んでください。自分でアプリケーションと WM を選択して自分自身の DE を作ることも可能です。
  • ウィンドウマネージャ (Window Manager,WM) は X Window System と連携してアプリケーション・ウィンドウの配置と外観をコントロールします。
  • デスクトップ環境 (Desktop Environment,DE) は X と連携して動作し、機能的で動的な GUI の完全な供給を行います。DE は典型的にウィンドウマネージャ、アイコン、アップレット、ウィンドウ、ツールバー、フォルダー、壁紙、アプリケーション・スイート、ドラッグ・ドロップなどの機能などを持っています。

xorg-xinitstartx を使って X を起動するのに代わる方法があります。ディスプレイマネージャを使う方法はディスプレイマネージャを見て下さい。既存の仮想端末をディスプレイマネージャとして機能させるにはログイン時に X を起動を見て下さい。

付録

あなたの興味を引くであろうアプリケーションの一覧は、アプリケーション一覧を参照。

タッチパッドやフォントレンダリングの設定のようなインストール後のチュートリアルは一般的な推奨事項を参照。