概要
Arch Linux(アーチ・リナックス)のインストール方法をまとめてみました。インストーラー(archinstallコマンド)でもセットアップできるのですが、仕組みを理解するために1つ1つまとめてみました。
セットアップの前準備
Bootable USB Flashを作成
適当なMacBookにて、Bootable USB Flashを作成します。Arch LinuxのISOファイルをArch Linux - Downloads からダウンロードします。詳細手順は 《Mac標準》 ISOイメージファイルからブータブルUSBを作成する方法 #bootableUSB - Qiita に沿いました。以下、Flash USBの内容を確認するコマンド。
diskutil list
# ストレージの内容が表示される
# 対象のストレージか確認する
ISOを書き込みます。
diskutil eraseDisk MS-DOS UNTITLED /dev/disk2
diskutil unmountDisk /dev/disk2
sudo dd if=./archlinux-2026.01.01-x86_64.iso of=/dev/disk2 bs=1m status=progress
# 結構時間がかかる
# 書き込みが終わると自動的にマウントされるようで、「マウントできません」のような警告が出現したが無視
diskutil eject /dev/disk2
Arch LinuxのOSインストール
Arch Linuxを導入するPCに、キーボードと先ほどのUSB Flashを接続します。BIOSに入り、USB Flashから起動するように設定します。Secure Bootは無効化しておきます。今回のPCのハードウェア的構成として、LANケーブルとHDMIを接続しました。GPUは刺していないのでオンボードです。
sshdを起動
Arch Linuxが起動します。OSセットアップしたいPCに接続されているキーボードを叩いてセットアップしてもよいですが、すべて打つのはつらいですよね。そのため、OSセットアップするPCのsshdを有効化し、別端末からsshしてそこからコマンドをコピー&ペーストします。Arch Linuxをインストールするマシン上で、以下のコマンドを入力し、sshdを起動します。
passwd # rootのパスワードを設定(sshするときに使用するパスワード)
systemctl start sshd
ip a
# このマシンのIPアドレスを確認
# 出力例
# 123.123.123.123 とする
別端末で、以下のコマンドを入力し、sshで接続します。
# 入力例
ssh root@123.123.123.123
以降はコマンドをペーストしながらセットアップを実施できるため便利です。
ディスクセットアップとそのマウント
Arch Linux起動後、EFIシステムパーティションを作成します。パーティションを作成するディスクを確認します。
lsblk
# ディスクサイズなどを目印に特定
# /dev/xxx を確認
パーティション分け
パーティション分けのCLIツールとしてcgdiskが用意されていますが、今回はコマンドを入力することで設定します。以下のようにコマンドを実行します。
# セットアップするディスクが/dev/sdaにつながっているとする
# ディスクの初期化(GPTテーブルの新規作成)
sgdisk --zap-all $DISK
sgdisk --clear $DISK
# 2. パーティションを作成します
# -n パネル: [番号]:[開始セクタ]:[終了セクタ] (0はデフォルト/自動)
# -t パネル: [番号]:[タイプコード]
# -c パネル: [番号]:[ラベル名]
# EFIシステムパーティション (512MB)
sgdisk -n 1:0:+512M -t 1:ef00 -c 1:"EFI" /dev/sda
# スワップパーティション (4GB)
sgdisk -n 2:0:+4G -t 2:8200 -c 2:"swap" /dev/sda
# ルートパーティション (残り全て)
sgdisk -n 3:0:0 -t 3:8304 -c 3:"root" /dev/sda
# 結果の表示
sgdisk -p /dev/sda
# カーネルにパーティション変更を通知
partprobe /dev/sda
パーティションをフォーマット
引き続き、作成したパーティションごとにフォーマットを行います。
# フォーマット (mkfs)
# 1 EFI (FAT32)
mkfs.fat -F 32 /dev/sda1
# 2 Swap
mkswap /dev/sda2
swapon /dev/sda2
# 3 Root (ext4)
mkfs.ext4 -F /dev/sda3
# 確認
lsblk /dev/sda
作ったパーティションのマウント
以下のコマンドで、先ほどパーティション分け・フォーマットしたパーティションをそれぞれマウントします。
# root
mount /dev/sda3 /mnt
# uefi
mount --mkdir /dev/sda1 /mnt/boot
# swap
swapon /dev/sda2
# マウント設定を出力しておきます
genfstab -U /mnt >> /mnt/etc/fstab
# 以降、マウントしたパーティションで、システム設定を行います
arch-chroot /mnt
システム設定
pacmanセットアップ
# pacmanのミラー設定
# 早いミラーを設定しておきます
cat /etc/pacman.d/mirrorlist
cat <(curl -s "https://archlinux.org/mirrorlist/?country=JP" | sed -e 's/^#Server/Server/') - > /etc/pacman.d/mirrorlist
# Arch Linuxを動かすための最小限のパッケージ群をセットアップ
pacstrap /mnt base linux linux-firmware
ネットワーク設定
以下のコマンドでネットワークアダプタの名前(enp2s0のようなもの)を確認します。
ip link
このPCはサーバとして使いたいので、IPはDHCPではなく固定します。
# 設定例
cat <<EOS >/etc/systemd/network/20-wired.network
[Match]
Name=enp2s0
[Network]
Address=192.168.1.123/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4
EOS
# systemd-networkd を起動
systemctl enable --now systemd-networkd
# DNS解決のために systemd-resolved を起動
systemctl enable --now systemd-resolved
# これをやらないと名前解決ができなくなる?
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
ロケール設定
時刻と地域を設定します。
ここで、テキストファイルの確認・編集のためlessとvimはインストールしておきます。
pacman -Syu --noconfirm
pacman -Sy --noconfirm less vim
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# ハードウェアクロックを同期します
hwclock --systohc
echo LANG=ja_JP.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
cp -p /etc/locale.gen ~/locale.backup.gen
patch /etc/locale.gen <<EOS
--- /home/arch/locale.2026-01-27.gen 2026-01-21 01:00:46.000000000 +0900
+++ /etc/locale.gen 2026-01-27 18:01:55.226933839 +0900
@@ -297 +297 @@
-#ja_JP.UTF-8 UTF-8
+ja_JP.UTF-8 UTF-8
EOS
# ロケールを生成
locale-gen
# ロケールを一覧
locale -a
# ロケールをシステムへ適用
localectl set-locale ja_JP.utf8
# ロケール確認
localectl
NTP時刻合わせの設定をします。
timedatectl set-ntp true
# 時間確認
timedatectl
# Local time: 木 2026-01-15 10:35:00 JST
# Universal time: 木 2026-01-15 01:35:00 UTC
# RTC time: 木 2026-01-15 01:35:00
# Time zone: Asia/Tokyo (JST, +0900)
# System clock synchronized: yes
# NTP service: active
# RTC in local TZ: no
ブートローダとその他
# ホスト名を設定します
# 設定例
echo archlinux > /etc/hostname
ブートローダをインストールします。
pacman -S --noconfirm grub
# UEFI GPT
pacman -S --noconfirm efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
一般ユーザ作成
一般ユーザを作成し、sudoできるようにします。まずはrootパスワードを設定します。
# rootパスワードを設定します
passwd
# archというユーザを作成します
useradd -m -g users -G wheel -s /bin/bash arch
# archのパスワード設定
passwd arch
sudoを導入します。
pacman -S --noconfirm sudo
# sudoできるよう設定を変更します。
# まずはバックアップ
cp -p /etc/sudoers ~/sudoers.backup
# sudoersファイルを編集するには以下のコマンドが必要です
visudo
# 変更内容は
diff -U 0 ~/sudoers.backup /etc/sudoers
# --- /root/sudoers.backup 2025-12-14 23:13:14.000000000 +0900
# +++ /etc/sudoers 2026-01-23 15:33:00.778390525 +0900
# @@ -125 +125 @@
# -# %wheel ALL=(ALL:ALL) ALL
# +%wheel ALL=(ALL:ALL) ALL
再起動
最後に再起動して完了です。
reboot
以上です。