Arch Linuxはミニマリズムを採用しており、ユーザーが望む機能を自由に構築できます。以下では、実際のマシンへのデプロイを例に、Arch Linuxを構築する方法を簡単に紹介します。
必要なもの:コンピュータ、USBドライブ(または任意の可搬型ストレージデバイス)、インターネット接続、基本的な情報検索スキル
操作前に、内容をよく読み、理解できない部分は検索して学習してください。慎重に操作し、定期的にバックアップを取ってください。データは貴重です。
電源を切り、USBドライブを挿入して起動します。BIOSに入り、USBを起動デバイスとして選択し、最初のオプションを選んでEnterキーを押すと、Arch Linuxインストール環境に入ります。
systemctl stop reflector.service
# 自動ミラー更新を無効にします。地理的なネットワーク環境により問題が発生する可能性があるためです。
ls /sys/firmware/efi/efivars
# EFI変数が一覧表示された場合、UEFIモードで起動しています。2025年のほとんどのマシンはUEFIブートです。
Arch Linuxのインストールにはインターネット接続が必要です。オフラインインストールはより複雑で、オフラインインストールを参照してください。
有線接続の場合、LANケーブルを接続し、インターフェースのLEDが点滅しているか確認してください。数秒待つと接続が確立します。
キャンパスネットワーク環境では、上位ルーターでの認証が必要な場合があります。nbtverifyプロジェクトを参照してください。
Wi-Fiの場合は、
iwctl
を使用して接続します。
lspci -k | grep Network
# 無線アダプターが動作しているか確認します。問題がない場合はこの手順をスキップできます。
カーネルが無線ドライバーをロードしているか確認します。
以下のような表示が期待されます:
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20)
。表示がない場合、無線接続が無効(blocked: yes)になっていないか確認します。
rfkill list
# 無線アダプターは通常wlan0と呼ばれます。
ip link set wlan0 up
# 「Operation not possible due to RF-kill」などのエラーが出た場合:
rfkill unblock wifi
# iwctlを使用してWi-Fiに接続
iwctl # 対話モードに入る
device list # 無線デバイス(例:wlan0)を一覧表示
station wlan0 scan # ネットワークをスキャン
station wlan0 get-networks # 利用可能なWi-Fiネットワークを一覧表示
station wlan0 connect wifi-name # ネットワークに接続。日本語名はサポートされません。パスワードを入力してEnter
exit # 接続成功後に終了
ping www.google.com # ネットワーク接続性をテスト
ネットワーク設定に問題がある場合、ネットワーク設定/無線を参照してください。
timedatectl set-ntp true # システム時間をネットワーク時間と同期
timedatectl status # サービス状態を確認
vim /etc/pacman.d/mirrorlist # ミラーリストを編集
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch # 日本のミラー
Server = https://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch # 筑波大学
Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch # Osbeckミラー
lsblk
現在のディスクのパーティション状況を表示します。Arch Linuxをインストールするターゲットディスクを慎重に確認してください。
ディスクの命名規則:
sda
、sdb
、sdc
… パーティション:sda1
、sda2
などnvme0n1
、nvme1n1
… パーティション:nvme0n1p1
、nvme0n1p2
などこの例ではSATAディスクを使用します。実際のディスクに応じて
/dev/sdx
を置き換えてください。
cfdisk /dev/sdx
使いやすいTUIパーティションインターフェースが表示されます。😄
[New]
を押してEnter、サイズを入力(RAMの60%~100%を推奨)。[Type]
を押し、Linux swapを選択。[New]
を押してEnter。[Write]
を選択し、yes
を入力してEnter。⚠️ 注意:書き込みを行わないと、変更は反映されません!
fdisk -l
mkfs.fat -F32 /dev/sdxn
💡 デュアルブートの場合、WindowsのEFIパーティションを再利用可能で、フォーマットは不要ですが、十分な空き容量を確認してください。詳細はWindowsとのデュアルブートを参照。
mkswap /dev/sdxn
mkfs.btrfs -L myArch /dev/sdxn
mount -t btrfs -o compress=zstd /dev/sdxn /mnt
# サブボリュームの作成
btrfs subvolume create /mnt/@ # ルートサブボリューム
btrfs subvolume create /mnt/@home # /homeサブボリューム
umount /mnt
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn /mnt # /ディレクトリをマウント
mkdir /mnt/home # /homeディレクトリを作成
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn /mnt/home # /homeディレクトリをマウント
mkdir -p /mnt/boot # /bootディレクトリを作成
mount /dev/sdxn /mnt/boot # /bootディレクトリをマウント
swapon /dev/sdxn # スワップパーティションを有効化
df -h # マウントを確認
free -h # スワップパーティションのマウントを確認
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs
# Btrfsを使用する場合、btrfs-progsパッケージを追加でインストール
pacman -S archlinux-keyring
# GPGキーエラーが出た場合、イメージが最新でない可能性があります。archlinux-keyringを更新して解決。
pacstrap /mnt networkmanager vim sudo zsh zsh-completions
# pacstrapスクリプトで必要な機能パッケージをインストール
現在のマウント状況に基づいて、ディスクパーティションを定義するfstabを生成。
genfstab -U /mnt > /mnt/etc/fstab
arch-chroot /mnt
# コードハイライトが消えた?心配無用、chrootに成功しています!
vim /etc/hostname
# マシンに名前を付けてください(特殊文字やスペースは避けてください。問題が発生する可能性があります。ホスト名を設定しないと、一部のGUIアプリが予期せず終了することがあります)。
vim /etc/hosts
# hostsファイルを編集
以下の内容を入力(myarchをあなたのホスト名に置き換え、間隔はタブで揃えます):
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.localdomain myarch
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# 東京タイムゾーンにシンボリックリンクを作成
ls /usr/share/zoneinfo/
# 使用可能なタイムゾーンを確認し、必要に応じて上記コマンドのタイムゾーンを変更
hwclock --systohc
# システム時間をハードウェアクロックに同期
vim /etc/locale.gen
# /etc/locale.genを編集し、en_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8の行頭のコメント(#)を解除
# このステップでソフトウェアの言語と文字セットを決定
locale-gen
# ロケールを生成
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
# locale.confを設定。日本語ロケールはttyで文字化けする可能性があるため推奨しません
passwd root
# パスワード入力は非表示です。キーボードの不具合ではありません!😄
pacman -S intel-ucode # Intel CPU用
pacman -S amd-ucode # AMD CPU用
pacman -S grub efibootmgr os-prober
# grubはブートローダー、efibootmgrはNVRAMにブートエントリを書き込むために使用、os-proberはWindows 10の検出用
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
# EFIパーティションにgrubをインストール
vim /etc/default/grub
# ブートパラメータを編集
# "loglevel=3 quiet"を"loglevel=5 nowatchdog"に変更
# ファイル末尾に以下を追加:GRUB_DISABLE_OS_PROBER=false
quiet
パラメータを削除。loglevel
を3から5に変更して、エラー時のデバッグを容易に。nowatchdog
を追加して、起動/シャットダウンの速度を向上。os-prober
を有効にしてWindows 10を検出。grub-mkconfig -o /boot/grub/grub.cfg
# grubの設定ファイルを生成
# Windows 10が検出された場合、「Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi done」のような出力が表示されます
# Windowsが別のディスクにある場合、出力されないことがあります。システムに入った後、再マウントしてこのコマンドを再実行してください。
全パラメータの詳細はArch Wikiを参照。
exit # インストール環境に戻る
umount -R /mnt # 新しいパーティションをアンマウント
reboot # 再起動
再起動後、rootアカウントでログイン。
systemctl enable --now NetworkManager # NetworkManagerサービスを有効化し即時起動
ping www.google.com # ネットワーク接続性をテスト
Wi-Fiの場合:
nmcli dev wifi list # 近くのWi-Fiネットワークを表示
nmcli dev wifi connect "Wi-Fi SSID" password "ネットワークパスワード" # 指定のWi-Fiネットワークに接続
nmtui
# nmtuiの方が使いやすいですよ!😄
pacman -S fastfetch
fastfetch
# fastfetchをインストールしてシステム情報を確認
# 伝統的なneofetchの時間です!😄
shutdown 0
shutdown -h now
poweroff
# 上記3つのコマンドはいずれもシャットダウンです。😄 電源ポリシーがまだ設定されていないので、きちんとシャットダウンしてください。
これで、グラフィカルインターフェースなしの基本的なArch Linuxのインストールが完了しました!
グラフィカルインターフェースのガイドは次回の更新で公開予定ですが、いつものように:マニュアルをよく読んでください!
このガイドはきっかけに過ぎません。より多くの技術愛好者がコミュニティに参加してくれることを願っています!
関連リンク:NBTCA