イマドキのArch Linux Install Battle 2025
ひでまるブログ

イマドキのArch Linux Install Battle 2025

article cover

ひでまる

2025/02/20に公開

WSLを触る生活をすると定期的にLinuxデスクトップを触りたい欲がでてくる。筆者はその欲に負けたのでArch Linuxをインストールした。昔の情報でも困ることは少ないがイマドキの情報が必要だと思ったので執筆する。

はじめに

なぜArch Linux Install Battleという言葉があるか疑問に思いませんか?
この言葉ができた当時のArch LinuxUbuntuFedoraといったその他のLinuxディストリビューションとは違ってインストーラーがありません。
インストールするにはcfdiskなどを使って自分でパーティションを分けてpacstrapを使ってインストールしたのちにarch-chrootをしてぼちぼち設定をするなどの工程を要して、大変だった故に生まれた言葉です。

インストールガイド - ArchWiki
インストールガイド - ArchWiki favicon https://wiki.archlinux.jp/index.php/インストールガイド

ただ、今ではすっかりArch Linux Install Battleという言葉を聞かなくりました。なぜなら、たった一つのコマンドでArch Linuxのインストールを完遂するarchinstallコマンドがArchISOに追加されたからです。この記事ではarchinstallを使用してArch Linuxをインストールします。

筆者の環境

  • マシンスペック

M/B: MSI B550 Gaming Plus
CPU: AMD Ryzen 7 5700X3D
RAM: 48GB
DISK: m.2 1TB
ArchISO: 2025.02.01

fastfetch
fastfetch-result

今回はnvme0n1にArch Linuxをインストールする。

Terminal window
🌱 hide@slimelinux in 🏠 ~/code/portfolio on master [?] is 📦 v0.1.0 via 🥟 v1.2.2 via  v23.8.0 x86_64
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
zram0 254:0 0 4G 0 disk [SWAP]
# arch linuxをインストールするディスク
nvme0n1 259:0 0 931.5G 0 disk
# windows
nvme1n1 259:1 0 931.5G 0 disk
├─nvme1n1p1 259:6 0 100M 0 part
├─nvme1n1p2 259:7 0 16M 0 part
└─nvme1n1p3 259:8 0 931.4G 0 part

インストール

ネットワークに繋げる

  • 有線接続

EthernetにLANケーブルを刺すだけでDHCP経由でネットワークに繋がる。

  • 無線接続

ArchISOはデフォルトでiwdを含むのでiwctlが使える。

iwd - ArchWiki
iwd - ArchWiki favicon https://wiki.archlinux.jp/index.php/Iwd#.E3.83.8D.E3.83.83.E3.83.88.E3.83.AF.E3.83.BC.E3.82.AF.E3.81.AB.E6.8E.A5.E7.B6.9A.E3.81.99.E3.82.8B
Terminal window
iwctl

iwctlコマンドを実行すると、対話シェルが開かれるのでこちらでインターネットに接続する。

Terminal window
# 自分のネットワークデバイス名を調べます。この場合では wlan0 がネットワークデバイスです。
[iwd] # device list
...
----------
Name ...
----------
wlan0 ...
# ネットワークをスキャンしたのちに、自宅のアクセスポイントを探します。
[iwd] # station wlan0 scan
[iwd] # station wlan0 get-networks
# 自宅のネットワークのSSIDを入力したのちにパスワードを入力して接続します。
[iwd] # station wlan0 connect <SSID>
# iwctlのシェルから抜け出します。
[iwd] # exit

無線LANに接続したのちに、DHCP経由でIPアドレスとDNSの設定がされるので、google.comにpingして外部と疎通確認をする。

Terminal window
ping google.com

rootfsの容量を拡げる

archinstallはインストールする際にArchISOに不足している依存関係を/run/archiso/cowspaceにダウンロードしますが、デフォルトで設定されているスペースが狭いため失敗するので、cowspaceを拡げる必要がある。

Terminal window
mount -o remount,size=8G /run/archiso/cowspace

archinstall

これでarchinstallコマンドを実行する前の作業は済んだので、Arch Linuxのインストールをはじめる。

Terminal window
archinstall

手始めにarchinstallコマンドを実行するとTUIインターフェースが開かれる。ここをぽちぽちしてInstallを押して、コーヒーを嗜むだけでArch Linuxがインストールされる。

Arch Install TUI

まず説明が簡単なところだけ設定する

  • Mirros > Mirror region > Japan > Back
  • Bootloader > grub (お好みでsystemd-bootに変更)
  • Hostname > type your hostname (お好みの名前を入力)
  • Root password > type root user password (ルートアカウントのパスワードを設定)
  • User > Add a user > type your username (常用アカウントのユーザー名を入力) > type your user account (そのアカウントのパスワードを設定) > yes > Confrim and exit
  • Audio > pipewire
  • Network Configuration > Use Network Manager
  • Optional repositories > multilib
  • Timezone > Asia/Tokyo

パーティショニング

パーティショニングは複雑なので分けて説明する。
archinstallではメインボリュームのファイルシステムをext4 xfs f2fs btrfsといったファイルシステムを選択可能だ。この記事ではbtrfsを使用する。

  • ブートパーティション: /dev/nvme0n1p1 1GB /boot GRUBなどのブートローダーとLinuxカーネルなどのespが入る。
  • スワップ: /dev/nvmepn1p3 メモリの半分の容量 [SWAP] Windowsでいうところの仮想メモリ。
  • ルートパーティション: /dev/nvme0n1p2 残りの容量を超えない範囲で設定 / Linuxのデータ全てが入る。

最終的な構成はこの通りだ。

Terminal window
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
zram0 254:0 0 4G 0 disk [SWAP]
nvme0n1 259:0 0 931.5G 0 disk
├─nvme0n1p1 259:2 0 1G 0 part /boot
├─nvme0n1p2 259:3 0 908.1G 0 part /
└─nvme0n1p3 259:4 0 22.4G 0 part [SWAP]
  • Disk configuration > Partitioning > Manual Partitioning > Select your disk (インストール先を選択)

質問に答えていくとこの画面に辿り着くと思う。これから上記の構成に沿ってパーティショニングする。

Disk Configuration Mountpoint

ブートパーティション

手始めにブートパーティションを作成する。freeを選択するとサイズを質問されるので、1GBと入力したのちにfat32を選択して、マウントポイントを聞かれるので/bootと入力する。

スクリーンショット
Disk Configuration Bootdisk creation 1gbDisk Configuration Bootdisk creation fat32Disk Configuration Bootdisk creation mountpoint

スワップ

ついでにスワップ用のパーティションを作成する。もう一度freeを選択してサイズを聞かれるので、パソコンのメモリの半分の容量を入力する (メモリが16GBの場合は8GBとタイプ)。そして、linux-swapを選択すると完了する。

ルートパーティション

もう一度freeを選択してサイズを訊かれるので残り容量を超えない範囲で入力する。そのあとはbtrfsを選択する。

まだbtrfsパーティションの設定を残しているので、freeパーティションをクリックしたように、btrfsパーティションをクリックして設定を続ける。

ファイルシステムのパフォーマンスが上がるので、zstdでの圧縮を有効化する。

  • btrfsパーティション > Mark/Unmark as compressed

Arch Linuxのインストール先としてbtrfsパーティションのsubvolumesにマウントポイントを設定する必要がある。

  • btrfsパーティション > Set subvolumes > Add subvolumes > @ (btrfs上でallの意味を表す@を入力) > / (マウントポイント / を入力) > Confirm and exit
スクリーンショット
btrfs configurationbtrfs configuration subvolumebtrfs configuration mountpointbtrfs configuration subvolumes

これでパーティショニングを終えることができる。
パーティションサイズは環境によって異なるので画像と完全に一致するわけではないが、大まか画像とパーティショニングが一致していたらConfirm and exitを押して、地獄のパーティショニングを終える。

disk configuration confirm

先ほどの通りにConfirm and exitを押すと先ほど確定したパーティションの設定を閲覧できる。Backを押すとarchinstallのメニュー画面に戻ると思う。

ここでやっとArch Linuxのインストールを始めることができる。お待ちかねのコーヒータイムだ。

  • Install > yes
install yes

最後にWould you like to chroot into the newly created installation on and perform post-i stallation configuration?と訊かれるのでyesと答える。これでArch Linuxをインストールできた。

スクリーンショット
partitions checkinstall buttoninstall yes

インストール後のセットアップ

archinstallの最後の質問にyesと答えるとインストールしたArch Linuxchrootされる。

セットアップを続けるためにchrootから抜け出して再起動する。

Terminal window
# chrootから抜ける
exit
# 再起動
reboot

再起動すると、インストールしたArch Linuxが起動して、ttyが表示されているので作成したユーザーアカウントでサインインする。

Terminal window
Arch Liunx 6.13.2-arch1-1 (tty1)
archlinux login: user
Password: ******
[user@archlinux ~] $ _

筆者は自分のdotfilesがあるため内包しているスクリプトを実行すれば、コマンド一つでマシンをセットアップができるが、今回はdotfilesを使わずにセットアップする。

気になる方は是非見てほしい。Hyprlandはいいぞ。

GitHub - HidemaruOwO/dotfiles: my dotfiles
my dotfiles. Contribute to HidemaruOwO/dotfiles development by creating an account on GitHub.
GitHub - HidemaruOwO/dotfiles: my dotfiles favicon https://github.com/HidemaruOwO/dotfiles
GitHub - HidemaruOwO/dotfiles: my dotfiles

インストール後はKDE GNOME HyprlandといったDesktop Environment (or Windows Manager)をインストールしたり、GPUドライバーのインストールなどをするべきだ。

インターネットに繋げる

インターネットの接続にNetworkManagerを使用する。有線接続ならNetworkManagerを起動するだけでインターネットに繋がる。

Terminal window
sudo systemctl enable --now NetworkManager.service
  • 無線接続

NetworkManagerは無線接続も可能なので、nmtuiを起動してアクセスポイントに繋げる。

Terminal window
nmtui

nmtuiを実行するとTUIインタフェイスが開かれるので

10.5. nmtui を使用した Wi-Fi 接続の設定 | Red Hat Product Documentation
10.5. nmtui を使用した Wi-Fi 接続の設定 | Red Hat Documentation
10.5. nmtui を使用した Wi-Fi 接続の設定 | Red Hat Product Documentation favicon https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/proc_configuring-a-wifi-connection-by-using-nmtui_assembly_managing-wifi-connections#proc_configuring-a-wifi-connection-by-using-nmtui_assembly_managing-wifi-connections

インターネットに接続したらpingコマンドで外部との疎通を確認する。

Terminal window
ping google.com

fastfetchをインストールする

ハードウェア情報を無駄にカッコよく表示してくれる優れモノ。筆者はこれを眺めてはニヤニヤしていたら家族からキモいと言われてしまった。

Terminal window
sudo pacman -S fastfetch
chrooted fastfetch image

AURヘルパーをインストールする

AUR(Arch User Repository)ヘルパーは、Arch Linuxのユーザーリポジトリ(AUR)からパッケージを簡単にインストール・管理するためのツールです。AURは公式リポジトリにないソフトウェアを提供するコミュニティ主導のリポジトリであり、通常はmakepkgとpacmanを手動で使ってインストールしますが、AURヘルパーを利用するとこれらの作業が自動化されます。

筆者のイチオシはparuなので、そちらをインストールする。

GitHub - Morganamilo/paru: Feature packed AUR helper
Feature packed AUR helper. Contribute to Morganamilo/paru development by creating an account on GitHub.
GitHub - Morganamilo/paru: Feature packed AUR helper favicon https://github.com/Morganamilo/paru
GitHub - Morganamilo/paru: Feature packed AUR helper
Terminal window
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

これからはパッケージをインストールする際にpacmanではなくparuを使う。
試しにパッケージ更新をしておく。

Terminal window
paru -Syu

os-proberをインストールする

os-proberはGRUBがマルチブートしている他のOS (Windowsなど)を見つけるのを助けてくれる。

Terminal window
paru -S os-prober update-grub
# os-prober をインストールしたので grub のブートエントリを更新する
sudo update-grub

非公式リポジトリを追加する

追加するリポジトリは chaostic-aur cachyos-repo の二つだ。

  • chaostic-aur

AURのパッケージは通常自分のマシンでビルドしてインストールする必要があるが、chaostic-aurでは予めビルド済みのAURに存在するパッケージを配信してくれるため、大抵のAURパッケージはビルドする手間を省ける。

github.com
github.com favicon https://github.com/chaostic-aur

執筆時はこのコマンドを実行してchaostic-aurリポジトリを追加することができた。鍵の変更などがあって失敗した場合はGitHub リポジトリに追加方法が記載されているのでそちらを参照してほしい。

Terminal window
sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key 3056513887B78AEB
sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
echo "[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist" | sudo tee -a /etc/pacman.conf
  • cachyos-repo

2025年現在で最もアツいLinuxカーネルをインストールするために必要なので予め追加しておく。カーネルの追加については後ほどのセクションに記載する。

Terminal window
curl -O https://mirror.cachyos.org/cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
sudo ./cachyos-repo.sh

cachyos-repoリポジトリを追加したのち、paru -Syuをするとpacmanはインストール済みのパッケージより新しいパッケージを見つける。
その際にcachyosのものに置き換えるか質問されるので、最新のパッケージはいつでもウェルカムなのでイエスマンに徹する。

リポジトリを追加したので、パッケージを更新しておく。

Terminal window
paru -Syu

カスタムLinuxカーネルをインストールする

Arch Linuxを使うならカスタムLinuxカーネルも導入したい。2025年現在では筆者調べだとlinux-cachyos-rt-bore-ltoというてんこ盛りカーネルがパフォーマンスが良さげだった。
GRUBvmlinuz-linuxよりvmlinuz-linux-cachyos-rt-bore-ltoを優先するので、update-grubコマンド一つでカーネルを設定できる。

GitHub - CachyOS/linux-cachyos: Archlinux Kernel based on different schedulers and some other performance improvements.
Archlinux Kernel based on different schedulers and some other performance improvements. - CachyOS/linux-cachyos
GitHub - CachyOS/linux-cachyos: Archlinux Kernel based on different schedulers and some other performance improvements. favicon https://github.com/CachyOS/linux-cachyos
GitHub - CachyOS/linux-cachyos: Archlinux Kernel based on different schedulers and some other performance improvements.
Terminal window
paru -S linux-cachyos-rt-bore-lto linux-cachyos-rt-bore-lto-headers
# Linuxカーネルをインストールしたら、grub にブートエントリを追加する必要がある
sudo update-grub

ターミナルとテキストエディタをインストールする

現在作業してる場はttyなので問題はないが、これからデスクトップ環境を起動する際にターミナルとテキストエディタが無ければ何もできないのでインストールする。

Terminal window
paru -S vim wezterm

Weztermは見た目やキーバインドなど細かく設定できる。設定なしでも使えないことはないが、モチベーションの問題でやはり設定しておいた方が良いだろう。
以下のリンクではWeztermの設定をスクリーンショットとともに公開されているので気に入ったものを一つチョイスすべきだ。

Weztermの設定は~/.config/wezterm/wezterm.luaにある。存在しない場合は自分で作成する必要がある。

github.com
github.com favicon https://github.com/wezterm/wezterm/discussions/628
Terminal window
mkdir ~/.config/wezterm
vim ~/.config/wezterm/wezterm.lua

fishとstarshipをインストールする

fishシェルとそれを装飾するstarshipをインストールする。

fishシェルは3年近く愛用しているRust製のシェルで、bashzshなどと違ってキビキビ動く。

GitHub - fish-shell/fish-shell: The user-friendly command line shell.
The user-friendly command line shell. Contribute to fish-shell/fish-shell development by creating an account on GitHub.
GitHub - fish-shell/fish-shell: The user-friendly command line shell. favicon https://github.com/fish-shell/fish-shell
GitHub - fish-shell/fish-shell: The user-friendly command line shell.
GitHub - starship/starship: ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! - starship/starship
GitHub - starship/starship: ☄🌌️  The minimal, blazing-fast, and infinitely customizable prompt for any shell! favicon https://github.com/starship/starship
GitHub - starship/starship: ☄🌌️  The minimal, blazing-fast, and infinitely customizable prompt for any shell!
Terminal window
paru -S fish starship
mkdir ~/.config/fish
echo "starship init fish | source" | tee -a ~/.config/fish/config.fish
# デフォルトシェルの変更
sudo chsh $USER -s $(which fish)
fish shell starship

starshipのプロンプト (hide in 🌐 archlinux in ~)は自分好みにカスタムできる。以下のページはカスタム済みのpresetsを探すことが可能だ。

Starship: Cross-Shell Prompt
Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and Powershell.
Starship: Cross-Shell Prompt favicon https://starship.rs/presets/
Starship: Cross-Shell Prompt

(Windows向け) ローカルRTCを直す

LinuxWindowsRTCの扱い方が違うため対応しておかないとWindowsの時間がおかしくなってしまう。

Terminal window
sudo timedatectl set-local-rtc 1

GRUBテーマをインストールする

GRUBはなにもしていない状態だと黒い画面と白い文字だけで味気ないので、GRUBにテーマを導入する。
筆者のおすすめはDark Matterなので、そちらをインストールする。

Vandal / Dark Matter GRUB Theme · GitLab
Dark Matter GRUB Theme 👾💙 is a collection of dark polished GRUB themes for a variety of Linux distros
Vandal / Dark Matter GRUB Theme · GitLab favicon https://gitlab.com/VandalByte/darkmatter-grub-theme
Vandal / Dark Matter GRUB Theme · GitLab

テーマをインストールする際に対話型インターフェイスが開かれるので質問に答える。

Terminal window
paru -S python3 python-pip lsb-release
git clone --depth 1 https://gitlab.com/VandalByte/darkmatter-grub-theme.git && cd darkmatter-grub-theme
sudo python3 darkmatter-theme.py --install

筆者はArch Linux1080pモニター、アイコンはカラフルを希望したので回答は全て1を答えた

  • 1 > 1 > 1
Terminal window
(?) Choose an option [1-47] : 1
(?) Choose the RESOLUTION [default = 1] :
(1) 1080p [Full HD] (2) 1440p [2K]
(?) choice : 1
(?) Choose the ICON THEME [default = 1] :
(1) Color Icons (2) White Icons
choice : 1
Darkmatter

ほかのテーマもGitHubで見つけることができるので、ぜひ見つけてみてほしい。

Build software better, together
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
Build software better, together favicon https://github.com/search?q=grub theme&type=repositories
Build software better, together
Darkmatter on GRUB

グラフィックドライバーをインストールする

  • AMDユーザー

Radeonユーザー向けに記事を執筆中です。それまではArchWikiをご参照ください。

Arch LinuxでAMD GPU (RDNA2) を使う: 2022
Arch LinuxでAMD GPU (RDNA2) を使う: 2022 favicon https://zenn.dev/haxibami/articles/archlinux-amd-gpu
Arch LinuxでAMD GPU (RDNA2) を使う: 2022
AMDGPU - ArchWiki
AMDGPU - ArchWiki favicon https://wiki.archlinux.jp/index.php/AMDGPU
  • Intelユーザー

ArchWikiをご参照ください。

インテルグラフィックス - ArchWiki
インテルグラフィックス - ArchWiki favicon https://wiki.archlinux.jp/index.php/インテルグラフィックス
  • NVIDIAユーザー

ArchWikiをご参照ください。

NVIDIA - ArchWiki
NVIDIA - ArchWiki favicon https://wiki.archlinux.jp/index.php/NVIDIA

デスクトップ環境をインストールする

デスクトップ環境には GNOME Hyprland Plasma など多様な選択肢がある。
筆者は日常的にHyprlandを使用しているが、この記事では歴史があって設定が楽なPlasmaを選択することにした。

Terminal window
# フォントをインストールする
paru -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-dejavu ttf-udev-gothic
# ディスプレイマネージャーとデスクトップ環境をインストールする
paru -S sddm plasma
sudo systemctl enable sddm

ブラウザをインストールする

ブラウザは好みに別れると思うので各々入れてほしい。

Terminal window
# Firefox
paru -S fifefox
# Google Chrome
paru -S google-chrome

日本語入力を可能にする

fcitx5mozcをインストールすれば良い。

Terminal window
paru -S fcitx5-im fcitx5-mozc fcitx5-configtool

fcitxはインストールしただけでは使えないので、/etc/environmentに追加する。

Terminal window
echo "GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx" | sudo tee -a /etc/environment

ここで再起動するとログインインターフェイスが開かれていると思う。
ログインしてplasmaが起動したら、System Settingsを開いほしい。
検索窓にInput Methodと入力して、右上のRun fcitx5 as DBusをクリックして、右下のAdd input methodをクリックして、mozcと入力したのちにApplyを押す。
このプロセスを経てWindowsと同じように日本語を入力できる。

input method menu input method add mozc

SDDMテーマを変更する

sddmテーマはデフォルトだとダサいので変更したい。変更はGUIから行える。

Windowsキーを押すと検索窓が出てくるので、System Settingsと入力して最上位に出てきたものを開く。

System Settingsアプリには左上に検索バーがあるのでそちらにsddmと入力したのち、Login Screen (SDDM)がヒットするのでそちらを開くと、右側にSDDMテーマのプレビューが表示されるので、Breezeを選択してパスワードを入力するとテーマの変更ができる。

  • SDDMと入力する > Login Screen (SDDM) > Breeze > Input Password and Confirm
Plasma Settings

ログアウトすればすぐに確認できるのでログアウトしてほしい。PlasmaWindowsライクなUIなためオペレーションは同じだ。

SDDM theme Breeze

(オプション) セキュアブートの設定をする

現在執筆中です。執筆メモがあるのでこちらをご覧ください。

Memos
Memos favicon https://memo.hide0.net/m/aRjXzug4Y4nCJQYa2kqKrN

さいごに

インストールが完了して記念にスクリーンショットを撮ってみた。やっぱりテンション上がる。

Plasma Desktop

さて、筆者はかれこれArch Linuxを3年近く触っています。
Arch Linuxはローリングリリースの設計のため環境の移り変わりがUbuntuFedoraなどと比べて顕著です。
自分が初めて触った2022年のArch Linux環境と比較してfastfetchneofetchで、主流のカーネルはlinux-zenだったので、思い返すと移り変わりが顕著でした。
読者の皆さんもこれからもArch Linuxを使うと思います。毎年新しい環境に順応するのは私には少し大変です。

Other articles