Difference between revisions of "Beginners' Guide/Installation (日本語)"

From ArchWiki
Jump to: navigation, search
m
m
Line 717: Line 717:
 
=== pacman の設定 ===
 
=== pacman の設定 ===
  
Pacman は Arch Linux のパッケージマネージャ('''pac'''kage '''man'''ager)です。使い方を学んで利用することが薦められています。{{ic|man pacman}} を読んで下さい、[[pacman (日本語)|pacman]] の記事を見て下さい、または [[Pacman Rosetta]] ページにある他の有名なパッケージマネージャとの比較を見てください。
+
Pacman は Arch Linux のパッケージマネージャ('''pac'''kage '''man'''ager)です。使い方を学んで利用することが薦められています。{{ic|man pacman}} を読んだり [[pacman (日本語)|pacman]] の記事を見て下さい、または [[Pacman Rosetta (日本語)]] ページにある他の有名なパッケージマネージャとの比較を見てください。
  
 
レポジトリの選択と pacman の設定には、{{ic|pacman.conf}} を編集します:
 
レポジトリの選択と pacman の設定には、{{ic|pacman.conf}} を編集します:
Line 821: Line 821:
 
{{Note|UEFI でブートするには、ドライブは GPT でパーティションされている必要があり、"[[Unified Extensible Firmware Interface (日本語)#Linux で UEFI システムパーティションを作る|UEFI System Partition]]" (512 MiB 以上, FAT32, タイプ {{ic|EF00}}) が {{ic|/boot}} でマウントされていなくてはなりません。このガイドを初めから実行しているのなら、すでに全て行われているはずです。}}
 
{{Note|UEFI でブートするには、ドライブは GPT でパーティションされている必要があり、"[[Unified Extensible Firmware Interface (日本語)#Linux で UEFI システムパーティションを作る|UEFI System Partition]]" (512 MiB 以上, FAT32, タイプ {{ic|EF00}}) が {{ic|/boot}} でマウントされていなくてはなりません。このガイドを初めから実行しているのなら、すでに全て行われているはずです。}}
  
===== EFISTUB =====
+
{{Note|ブートローダーをインストールした後、エラーが何も表示されないのに起動できないなどの問題が発生した場合、UEFI shell に入り {{ic|bcfg}} コマンドを使って手動で UEFI ブートメニューにエントリを追加する必要があります。[[Unified Extensible Firmware Interface (日本語)#bcfg|ここ]]にその方法を記述しています。
  
{{Pkg|efibootmgr}} パッケージをインストールして、Arch Linux のブートエントリを追加してください。{{ic|/dev/sdaX}} はあなたの root パーティションに置き換えてください (通常は {{ic|/dev/sda2}}):
+
* ASUS のマザーボードによっては、常時 {{ic|MaxVariableSize=0}} を報告するという EFI のバグが存在します。最近のカーネルではこの値のチェックを行うので、このバグによって {{ic|efibootmgr}} が新しい EFI 変数を設定できなくなります。これらのマザーボードでは UEFI Shell v2 をサポートしていないので、{{ic|bcfg}} を使う方法は利用できません。これを回避するには、カーネルコマンドラインに {{ic|efi_no_storage_paranoia}} を追加してください。ブートローダーのメニューで "e" を押すことでこれを行えます。
 
+
* Intel Z77 など、いくつかの UEFI マザーボードでは、efi シェルから efibootmgr や bcfg でエントリを追加して NVRAM に書き加えられてもブートメニューのリストに表示されません。
# pacman -S efibootmgr
+
# efibootmgr -c -L "Arch Linux" -l /vmlinuz-linux -u "root='''/dev/sdaX''' rw initrd=/initramfs-linux.img"
+
 
+
{{Note|システムによっては、上のコマンドは正しく動かないことがあります。その場合、何もエラーが表示されていないのに、UEFI のブートメニューが正しく更新されていないことになります。コマンドが正しく実行できたかどうか確かめるには、何も引数をつけずに {{ic|efibootmgr}} を実行して新しいエントリが表示されたリストにあるかどうか確認してください。新しいエントリがない場合、UEFI ブートメニューが変わってないので再起動したときに rEFInd に入ることができなくなります。その場合、UEFI shell に入り {{ic|bcfg}} コマンドを使って手動で UEFI ブートメニューにエントリを追加する必要があります。[[Unified Extensible Firmware Interface (日本語)#bcfg|ここ]]にその方法を記述しています。}}
+
 
+
{{Note|いくつかの ASUS のマザーボードには、常時 {{ic|MaxVariableSize=0}} を報告するという EFI のバグが存在します。最近のカーネルではこの値のチェックを行うので、このバグによって {{ic|efibootmgr}} が新しい EFI 変数を設定できなくなります。これらのマザーボードでは UEFI Shell v2 をサポートしていないので、{{ic|bcfg}} を使う方法は利用できません。これを回避するには、カーネルコマンドラインに {{ic|efi_no_storage_paranoia}} を追加してください。ブートローダーのメニューで "e" を押すことでこれを行えます。}}
+
 
+
{{Note|Intel Z77 など、いくつかの UEFI マザーボードでは、efi シェルから efibootmgr や bcfg でエントリを追加して NVRAM に書き加えられてもブートメニューのリストに表示されません。
+
  
 
これを解決するには、Windows ブートマネージャが ESP パーティションに存在していると UEFI ファームウェアを騙す必要があります。
 
これを解決するには、Windows ブートマネージャが ESP パーティションに存在していると UEFI ファームウェアを騙す必要があります。
Line 846: Line 838:
  
 
再起動後、NVRAM に追加されたエントリがブートメニューに表示されるようになるはずです。}}
 
再起動後、NVRAM に追加されたエントリがブートメニューに表示されるようになるはずです。}}
 +
 +
===== EFISTUB =====
 +
 +
{{Pkg|efibootmgr}} パッケージをインストールして、Arch Linux のブートエントリを追加してください。{{ic|/dev/sdaX}} はあなたの root パーティションに置き換えてください (通常は {{ic|/dev/sda2}}):
 +
 +
# pacman -S efibootmgr
 +
# umount /sys/firmware/efi/efivars
 +
# modprobe -r efivars
 +
# modprobe efivars
 +
# efibootmgr -c -L "Arch Linux" -l /vmlinuz-linux -u "root='''/dev/sdaX''' rw initrd=/initramfs-linux.img"
 +
 +
{{ic| -d /dev/sdX -p Y}} を追加する必要があるかもしれません。X は /boot があるデバイス文字に Y は /boot のパーティション番号に置き換えてください、通常は {{ic| -d /dev/sda -p 1}} です。
  
 
===== Gummiboot =====
 
===== Gummiboot =====
Line 852: Line 856:
  
 
  # pacman -S gummiboot
 
  # pacman -S gummiboot
 +
# umount /sys/firmware/efi/efivars
 +
# modprobe -r efivars
 +
# modprobe efivarfs
 +
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
 
  # gummiboot install
 
  # gummiboot install
  
 
{{Warning|1=
 
{{Warning|1=
 
gummiboot install の実行中に、[https://bugs.archlinux.org/task/34292 バグ] によって NVRAM への gummiboot の追加が失敗し、エラーが表示されることがあります。エラーメッセージが表示された場合は、efibootmgr を使って手動で NVRAM に gummiboot を追加してください:
 
gummiboot install の実行中に、[https://bugs.archlinux.org/task/34292 バグ] によって NVRAM への gummiboot の追加が失敗し、エラーが表示されることがあります。エラーメッセージが表示された場合は、efibootmgr を使って手動で NVRAM に gummiboot を追加してください:
{{bc|# efibootmgr -c -L "Gummiboot" -l /EFI/gummiboot/gummibootx64.efi}}
+
{{bc|
 +
# umount /sys/firmware/efi/efivars
 +
# modprobe -r efivars
 +
# modprobe efivars
 +
# efibootmgr -c -L "Gummiboot" -l /EFI/gummiboot/gummibootx64.efi}}
 
}}
 
}}
  
Line 875: Line 887:
  
 
  # pacman -S grub efibootmgr
 
  # pacman -S grub efibootmgr
 +
# umount /sys/firmware/efi/efivars
 +
# modprobe -r efivars
 +
# modprobe efivars
 
  # grub-install --efi-directory=/boot --bootloader-id=arch_grub --recheck
 
  # grub-install --efi-directory=/boot --bootloader-id=arch_grub --recheck
  

Revision as of 11:17, 23 August 2013

Tip: このページはビギナーズガイドの一部分です。全ての内容を一覧するならここをクリック

Contents

インストール

シェルプロンプトが表示されていて、root として自動的にログインされている状態です。

言語の選択

Tip: これらはユーザーの大多数には必須ではありません。設定ファイルをあなたの使う言語で書いたり、Wi-Fi パスワードで区別的発音符を使ったり、もしくはあなたの言語でシステムメッセージ(例えばエラー)を見たいときだけに役に立ちます。

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

# loadkeys layout

で変更できます。layout の部分は jp106frukbe-latin1 などとします。ここから一般的なリストを見ることができます。

Warning: 以下はフォントと言語の設定ですが、この段階では、日本語を表示することはできません。キーマップの変更だけに留めて下さい。

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

# setfont Lat2-Terminus16

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

Template:Keypress で終了し、変更を保存するか聞かれたら Template:Keypress と、 Template:Keypress を押して同じファイル名で保存します。

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

Template:Keypress でキーマップの有効/無効を切り替えられることも覚えていてください。

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

Warning: v197 以降、udev はネットワークインターフェースの名前を wlanX や ethX といった命名規則を使いません。あなたが他のディストリビューションを使っていたり Arch を再インストールするつもりであり、新しい命名規則を知らないのならば、あなたのワイヤレスインターフェースの名前が wlan0 だとか、有線インターフェースの名前が eth0 だと思い込まないでください。ip link コマンドでインターフェースの名前を調べることができます。

systemd-197 リリース以降、udev は伝統的な増加式の命名規則 (例: wlan0, wlan1) をやめて、予測可能な安定したネットワークインターフェースの名前を使うようになりました。新しいインターフェースの名前は再起動しても変わらないことが保証されていて、ネットワークインターフェースの名前がどう命名されるか予想できないという問題を解決しています (詳しくは Predictable Network Interface Names を読んで下さい)。

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 アドレスを使用して有線の接続をセットアップする場合は次の手順に従ってください。

まず、起動時に自動的に起動する dhcpcd サービスを無効にして下さい:

# systemctl stop dhcpcd.service

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

# 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" ではないということです。また、iwconfig を使うことでどのインターフェースがワイヤレスなのか見ることができます:

# iwconfig
enp2s0f0  no wireless extensions.
wlp3s0    IEEE 802.11bgn  ESSID:"NETGEAR97"  
          Mode:Managed  Frequency:2.427 GHz  Access Point: 2C:B0:5D:9C:72:BF   
          Bit Rate=65 Mb/s   Tx-Power=16 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=61/70  Signal level=-49 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:430   Missed beacon:0
lo        no wireless extensions.

この例では、enp2s0f0lo (loopback) デバイスにワイヤレス接続はないので、enp2s0f0 がイーサネットインターフェースだとわかります。

また、あなたは以下の設定を知っている必要があります:

  • 固定 IP アドレス
  • サブネットマスク
  • ゲートウェイの IP アドレス
  • ネームサーバー (DNS) の IP アドレス
  • ドメインの名前(ローカル LAN でない場合)

接続に使用するインターフェースを有効化します。例: enp2s0f0

# ip link set enp2s0f0 up

IP アドレスを設定します。

# ip addr add <ip address>/<subnetmask> dev <interface>

例:

# ip addr add 192.168.1.2/24 dev enp2s0f0

他のオプションについては man ip を見て下さい。

ゲートウェイをこのように追加します。自分のゲートウェイの IP アドレスに置き換えてください。

# ip route add default via <ip address>

例:

# ip route add default via 192.168.1.1

resolv.conf を編集します。自分のネームサーバーの IP アドレスと自分のローカルのドメインに置き換えてください。

# nano /etc/resolv.conf
nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
Note: 現在、nameserver の行は最大で3つまで含めることができます。この制限を越えるために、Dnsmasq などのローカルキャッシュネームサーバを使うことができます。

これでネットワーク接続は有効になるはずです。ならない場合、Network Configuration (日本語) を確認してください。

無線

インストール中にワイヤレス接続(Wi-Fi)をセットアップする必要がある場合は以下の手順に従ってください。

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

# iw dev
phy#0
        Interface wlp3s0
                ifindex 3
                wdev 0x1
                addr 00:21:6a:5e:52:bc
                type managed

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

Note: このようにアウトプットされない場合、ワイヤレスドライバがロードされていません。その場合は、手動でドライバをロードする必要があります。詳しくは Wireless Setup (日本語) を見て下さい。

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

# ip link set wlp3s0 up

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

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

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

Warning: (カードのための) ワイヤレスチップセットファームウェアのパッケージは (CD・USB スティックの) ライブ環境の /usr/lib/firmware の下にインストール済みですが再起動後にワイヤレスを使うためには、システムにそれをインストールしなくてはなりません!パッケージのインストールはガイドの後ろで触れています。再起動する前にワイヤレスモジュール・ファームウェアをインストールすることを覚えていてください。もしあなたのチップセットがファームウェアのインストールを必要としているか不明な場合は Wireless Setup (日本語) を見て下さい。

次に、netctlwifi-menu を使いネットワークに接続します。wlp3s0 はあなたのインターフェイスの名前に置き換えて下さい:

# wifi-menu wlp3s0

これでネットワークは有効になるはずです。接続されないときは、Wireless Setup (日本語) のページを確認してください。

もしくは、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 as dhcpcd should bring it up but may be needed for wpa_supplicant.
# wpa_supplicant -B -D nl80211 -c /foobar.conf -i <interface name>
# dhcpcd -A <interface name>

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

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

プロクシサーバを使う

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

ドライブの準備

Warning: パーティショニングはデータを破壊することもあります。実施する前に、重要なデータをバックアップすることを強く推奨します。

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

GUID Partition Table (GPT) と Master Boot Record (MBR) のどちらかを選ぶ必要があります。GPT のほうが新しく、新しくインストールする場合に推奨されます。

  • Windows とのデュアルブートをするシステムを設定したい場合は、このタイプの選択に特別な注意を払う必要があります。血みどろの詳細は Partitioning (日本語)# GPT か MBR の選択 を見て下さい。
  • UEFI ブートでは GPT を使うことが常に推奨されます、UEFI ファームウェアによっては UEFI-MBR ブートができないからです。
  • いくつかの BIOS システムでは GPT を選ぶと問題が発生することがあります。詳しい情報と回避方法は http://mjg59.dreamwidth.org/8035.htmlhttp://rodsbooks.com/gdisk/bios.html にあります。
Note: USB フラッシュキーにインストールする場合は、Installing Arch Linux on a USB key を見て下さい。

パーティションツール

全くの初心者はグラフィカルなパーティショニングツールを使うことが推奨されます。よく使われるものに GParted があり、"ライブ" CD が利用可能です。GParted は Ubuntu , Linux Mint のような Linux ディストリビューションのライブ CD にも含まれています。ドライブを利用するにはまずパーティションし、再起動前にファイルシステムでフォーマットしなくてはなりません。

Tip: Gparted を使う場合、デフォルトでは新しいパーティションテーブルを作成するオプションを選ぶと "msdos" パーティションテーブルが作られます。GPT パーティションテーブルを作成するときは、「高度な設定」を選びドロップダウンメニューから "gpt" を選択してください。

gparted はずっと使いやすいですが、新しいディスクにパーティションを少しだけ作成したい場合は、インストールメディアに含まれている fdisk のバリアントの一つを使えば素早くパーティションが作れます。gdiskfdisk 両方の簡単な使用方法があります。

パーティションスキーム

ディスクをいくつのパーティションに分けるか決めて、それぞれのパーティションにシステム上のディレクトリを割り振ることができます。パーティションからディレクトリへのマッピング (しばしば 'マウントポイント' と呼ばれます) がパーティションスキームになります。一番シンプルで、かつ悪くない選択肢は、ひとつの大きな / パーティションしか作成しないことです。また、/ に加えて /home パーティションを作ることもよく行われます。

追加の必要パーティション:
  • UEFI マザーボードを使っている場合、特別な UEFI System Partition を作成する必要があります。最低でも 512 MiB が必要です。
  • BIOS マザーボードを使っている場合 (もしくは BIOS 互換モードで起動する場合) で GPT でパーティションされたドライブに GRUB をセットアップするには、特別な BIOS Boot Partition (容量 1007 KiB, タイプコード EF02) を作成する必要があります。Syslinux では必要ありません。

スワップパーティションやスワップファイルを設定したいのなら Swap (日本語) を参照してください。スワップはインストール後いつでも作成でき、スワップファイルはスワップパーティションよりリサイズが簡単です。ただし Btrfs ではスワップファイルは使うことができません。

Windows とのデュアルブートについて

既に OS をインストールしている場合、全く新しいパーティションテーブルをディスクに書き込むと、ディスク上の全てのデータは消失するので注意してください。

linux/windows をデュアルブートする場合、最初に windows をインストールするのが推奨されます。windows はディスクの一部を使ってパーティションを作ります。windows のセットアップが終わったら、linux インストール環境にブートして、既存の windows のパーティションには触れずに linux 用のパーティションを作成することができます。

さらに、Windows 8 がプリインストールされた新しいコンピュータでは Secure Boot が使われるようになります。現在 Arch Linux では Secure Boot をサポートしていませんが、BIOS から Secure Boot を切ると Windows 8 が起動しなくなることがあります。Secure Boot を使わずに Windows 8 を起動するために、場合によっては BIOS オプションで Secure Boot と Fastboot の両方を止めなくてはなりません。しかしながら Windows 8 のブートで Secure Boot をオフにするのは潜在的なセキュリティのリスクがあります。よって、インストールされている Windows 8 はそのままにして別のハードドライブに Linux をインストールするのがベターな選択肢かもしれません - これなら GPT パーティションテーブルを使ってイチからパーティションを作成することが可能です。新しいハードドライブを用意し、コンピュータが2つのドライブを使えるようにする場合、将来のことを考えて2つめのドライブには ext4/FAT32/swap パーティションを作成していたほうが良いでしょう。ラップトップでは別のドライブを用意するのは難しい、あるいは不可能ということもありえます。今のところ、Secure Boot は信頼に足る完全に安定した状態とは言えません、それをサポートしている Linux ディストリビューションでさえもです。

すでにパーティションを作成済みならば、ファイルシステムの作成に進んで下さい。

そうでなければ、次のサンプルを読んでください。

サンプル

Arch Linux インストールメディアは次のパーティショニングツールを含んでいます: fdisk, gdisk, cfdisk, cgdisk, parted

Tip: システムに接続されているハードディスクと既存のパーティションのサイズを一覧するには lsblk コマンドを使って下さい。正しいディスクをパーティションしているか確かめるのに役立ちます。

この例ではシステムに 15 GB の root パーティションと 残りスペース全ての home パーティションを作ります。MBRGPT どちらかを選んで下さい。

パーティショニングの設定は人それぞれのもので、この例は具体的な説明のためだけにあります。Partitioning (日本語) を見て下さい。

cgdisk を使って GPT パーティションを作成する
# cgdisk /dev/sda
Root
Home

こんな感じになるはずです:

Part. #     Size        Partition Type            Partition Name
----------------------------------------------------------------
            1007.0 KiB  free space
   1        15.0 GiB    Linux filesystem
   2        123.45 GiB  Linux filesystem

次に進む前に、よく再点検してパーティションサイズとテーブルレイアウトが好ましくなっているか確認してください。

やり直したい時は、Quit を選び(もしくは Template:Keypress キーを押して)、保存せずに終了して cgdisk をもういちど起動してください。

満足したら、Write を選び (もしくは Template:Keypress を押して)、ファイナライズしてドライブにパーティションテーブルを書き込みます。yes と入力して Quit を選び (もしくはTemplate:Keypress キーを押して)、これ以上変更を加えずに終了します。

fdisk を使って MBR パーティションを作成する
Note: cgdisk と UI が似ている cfdisk もありますが、cfdisk は最初のパーティションを自動的に正しく整列させません。そのためここでは古典的な fdisk ツールを使います。

fdisk を起動してください:

# fdisk /dev/sda

最初のパーティションを作成:

  1. Command (m for help): n と入力して Enter を押す
  2. Partition type: Select (default p): Enter を押す
  3. Partition number (1-4, default 1): Enter を押す
  4. First sector (2048-209715199, default 2048): Enter を押す
  5. Last sector, +sectors or +size{K,M,G} (2048-209715199....., default 209715199): +15G と入力して Enter を押す

次に二番目のパーティションを作成:

  1. Command (m for help): n と入力して Enter を押す
  2. Partition type: Select (default p): Enter を押す
  3. Partition number (1-4, default 2): Enter を押す
  4. First sector (31459328-209715199, default 31459328): Enter を押す
  5. Last sector, +sectors or +size{K,M,G} (31459328-209715199....., default 209715199): Enter を押す

新しいパーティションテーブルのプレビューを見て下さい:

  • Command (m for help): p と入力して Enter を押す
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5698d902

   Device Boot     Start         End     Blocks   Id  System
/dev/sda1           2048    31459327   15728640   83   Linux
/dev/sda2       31459328   209715199   89127936   83   Linux

それから変更をディスクに書き込んで下さい:

  • Command (m for help): w と入力して Enter を押す

全てがうまくいくと、fdisk は以下のメッセージを表示して終了します:

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks. 

エラーが発生して fdisk がうまくいかない場合は、q コマンドを使って終了できます。

ファイルシステムの作成

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

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

swap (code 82) 用のパーティションを持っているなら忘れずにフォーマットして有効にして下さい:

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

UEFI では、ESP パーティション (通常は sda1) をフォーマットする必要があります:

# mkfs.vfat -F32 /dev/sda1

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

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

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

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

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

# mount /dev/sda1 /mnt

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

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

UEFI マザーボードを使っているときは、UEFI パーティションをマウント:

# mkdir -p /mnt/boot
# mount /dev/sdaX /mnt/boot

ミラーの選択

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

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

Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
...

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

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

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

pacstrap スクリプトを使ってベースシステムをインストールします。

basebase-devel の全てのパッケージをインストールするつもりなら、 -i スイッチを省略できます。

# pacstrap -i /mnt base base-devel
Note: pacman がパッケージの証明に失敗するならば、cal でシステム時刻を確認してください。システム時刻がおかしい場合(例えば2010年の日付を表示するなど)、署名キーが期限切れ(もしくは無効)と判断され、パッケージの署名チェックが失敗しインストールが中断されます。システム時刻が正しいか確認し、ntp クライアントを使い手動で修正して、pacstrap コマンドを再度実行してください。Time (日本語) のページに時刻修正の詳しい情報があります。
Note: 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
Warning: 生成したあとは必ず fstab をチェックしましょう。genfstab や後のインストール作業中にエラーが起こっても、もう一度 genfstab を使用しないでください。fstab ファイルの編集だけして下さい。

考察事項:

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

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

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

# arch-chroot /mnt
Note: bash シェルに chroot するには arch-chroot /mnt /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 は他の全ての変数のデフォルト値として扱われます。
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
Warning: コンソールでは日本語は文字化けします。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

ハードウェアクロック

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

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

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

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

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

Windows とのデュアルブートセットアップをする(もしくはしたいと思っている)場合:

  • 推奨: Arch Linux と Windows のどちらも UTC に設定します。簡単な registry fix が必要です。また、ハードウェアクロックが localtime にデフォルトで戻るため、Windows がオンラインで時間の同期をすることができなくなります。時刻あわせ (NTP sync) をしたいときは、Arch Linux 側で ntpd を使うのが好ましいです。
  • 非推奨: Arch Linux を localtime に設定して NTPd のような時刻関係のサービスを無効にします。こうするとハードウェアクロックの修正の面倒を Windows に押し付けるので、一年に夏時間が入るときに少なくとも2回(春と秋に)は Windows を起動しないといけないことを覚えておく必要があります。Windows をしばらく起動しなかったら時計が1時間すすんだりおくれたりするのは何故?とフォーラムで聞くのはやめましょう。

カーネルモジュール

Tip: これはただの例です、このように設定する必要はありません。全ての必要なモジュールは 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
Note: /etc/hosts を編集する必要はありません。

ネットワークの設定

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

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

有線

ダイナミック IP
dhcpcd を使う

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

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

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

# cd /etc/netctl	
# cp examples/ethernet-dhcp my-network

プロファイルを編集して下さい (Interface を修正する):

# nano my-network

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

# netctl enable my-network
netctl-ifplugd を使う
Warning: netctl enable <profile> のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

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

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

# pacman -S ifplugd

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

# systemctl enable netctl-ifplugd@<interface>.service
Note: 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

無線

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

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

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

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

# pacman -S dialog

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

# wifi-menu <interface>
Warning: 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
既知のネットワークに自動で接続する
Warning: netctl enable <profile> のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

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

# pacman -S wpa_actiond

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

# systemctl enable netctl-auto@interface_name.service
Note: 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 両方のアプリケーションを動かせるようになります):

Note: レポジトリを選択するとき、以下の行だけでなく [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 環境の作成

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

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

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

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

root パスワードの設定

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

# passwd

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

BIOS マザーボード

BIOS システムには Syslinux と GRUB のどちらかのブートローダが使えます。あなたの都合にあわせてブートローダを選んで下さい。

  • Syslinux は(現在では) Syslinux がインストールされたパーティションのファイルのみをロードするように制限されています。設定ファイルはわかりやすいものになっています。設定サンプルはここにあります。
  • GRUB はより多くの機能を備えた複雑なブートローダです。設定ファイルはスクリプト言語に似ていて、初心者が手動で設定するには難しいかもしれません。自動で設定を生成するのが推奨されます。
Syslinux
Note: 先にハードディスクで GUID パーティションテーブル (GPT) を使うことを選択した場合は、次に進むために gptfdisk パッケージを(インストールしていないのなら)インストールする必要があります。

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

# pacman -S syslinux
# syslinux-install_update -i -a -m

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

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

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

GRUB

grub パッケージをインストールし grub-install を実行してブートローダをインストールします:

Note: /dev/sda はあなたが Arch をインストールしたドライブに書き換えてください。パーティションの数字を加えてはだめです(sdaX を使ってはいけません)。
Note: BIOS マザーボード上の GPT によってパーティションされているドライブを使っている場合、"BIOS Boot Partition" が必要です。GPT-specific instructionsInstall to GPT BIOS boot partition を参照してください。
# pacman -S grub
# grub-install --recheck /dev/sda
Note: インストールを VirtualBox のゲスト OS として行なっている場合は、上記の grub-install コマンドの実行中に、次のようなエラーが表示されるかもしれません "/usr/sbin/grub-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible"。parted -s /dev/sda set 1 bios_grub on を実行してから grub-install を再度行えば問題は解決するはずです。

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

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

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

UEFI マザーボード

UEFI システムでは、複数の選択肢があります。利用できる選択肢の完全なリストは UEFI Bootloaders にあります。選択肢によってはあなたの環境で動作しないことがあります。そうでなければ、あなたの都合にあわせて選んで下さい。ここでは、2つの選択肢をサンプルとして提示します:

  • EFISTUB を使って直接 Linux カーネルを起動する。
  • gummiboot はシンプルなブートマネージャで、デュアルブートをするときに有用です。rEFInd はもう一つの選択肢です。
  • GRUB は完全なブートローダーで、他の2つの選択肢で問題が起きた時に役に立ちます。
Note: UEFI でブートするには、ドライブは GPT でパーティションされている必要があり、"UEFI System Partition" (512 MiB 以上, FAT32, タイプ EF00) が /boot でマウントされていなくてはなりません。このガイドを初めから実行しているのなら、すでに全て行われているはずです。
Note: ブートローダーをインストールした後、エラーが何も表示されないのに起動できないなどの問題が発生した場合、UEFI shell に入り bcfg コマンドを使って手動で UEFI ブートメニューにエントリを追加する必要があります。ここにその方法を記述しています。
  • ASUS のマザーボードによっては、常時 MaxVariableSize=0 を報告するという EFI のバグが存在します。最近のカーネルではこの値のチェックを行うので、このバグによって efibootmgr が新しい EFI 変数を設定できなくなります。これらのマザーボードでは UEFI Shell v2 をサポートしていないので、bcfg を使う方法は利用できません。これを回避するには、カーネルコマンドラインに efi_no_storage_paranoia を追加してください。ブートローダーのメニューで "e" を押すことでこれを行えます。
  • Intel Z77 など、いくつかの UEFI マザーボードでは、efi シェルから efibootmgr や bcfg でエントリを追加して NVRAM に書き加えられてもブートメニューのリストに表示されません。

これを解決するには、Windows ブートマネージャが ESP パーティションに存在していると UEFI ファームウェアを騙す必要があります。

EFI シェルを起動してから、以下を実行して USB ドライブから bootx64.efi ファイルを bootmgfw.efi ファイルとして ESP パーティションにコピーしてください:

FS1:
cd EFI
mkdir Microsoft
cd Microsoft
mkdir Boot
cp FS0:\EFI\BOOT\bootx64.efi FS1:\EFI\Microsoft\Boot\bootmgfw.efi
再起動後、NVRAM に追加されたエントリがブートメニューに表示されるようになるはずです。
EFISTUB

efibootmgr パッケージをインストールして、Arch Linux のブートエントリを追加してください。/dev/sdaX はあなたの root パーティションに置き換えてください (通常は /dev/sda2):

# pacman -S efibootmgr
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
# efibootmgr -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sdaX rw initrd=/initramfs-linux.img"

-d /dev/sdX -p Y を追加する必要があるかもしれません。X は /boot があるデバイス文字に Y は /boot のパーティション番号に置き換えてください、通常は -d /dev/sda -p 1 です。

Gummiboot

gummiboot パッケージをインストールして、gummiboot install を実行してください:

# pacman -S gummiboot
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivarfs
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
# gummiboot install
Warning: gummiboot install の実行中に、バグ によって NVRAM への gummiboot の追加が失敗し、エラーが表示されることがあります。エラーメッセージが表示された場合は、efibootmgr を使って手動で NVRAM に gummiboot を追加してください:
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
# efibootmgr -c -L "Gummiboot" -l /EFI/gummiboot/gummibootx64.efi

gummiboot に Arch Linux のエントリを追加するために、手動で設定ファイルを作成する必要があります。/boot/loader/entries/arch.conf を作成し、以下の内容を記述してください (/dev/sdaX はあなたの root パーティションに置き換えてください、通例は /dev/sda2 です):

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

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

GRUB

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

# pacman -S grub efibootmgr
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
# grub-install --efi-directory=/boot --bootloader-id=arch_grub --recheck

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

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

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

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

chroot 環境を脱出します:

# exit

パーティションが /mnt 下にマウントされているので、次のコマンドでアンマウントします:

# umount /mnt/{boot,home,}

コンピュータを再起動:

# reboot
Tip: インストールメディアを取り出してください、そうしないともう一度セットアップが起動してしまいます。

Template:Beginners' Guide navigation (日本語)