WSLを触る生活をすると定期的にLinuxデスクトップを触りたい欲がでてくる。筆者はその欲に負けたのでArch Linuxをインストールした。昔の情報でも困ることは少ないがイマドキの情報が必要だと思ったので執筆する。
はじめに
なぜArch Linux Install Battleという言葉があるか疑問に思いませんか?
この言葉ができた当時のArch LinuxはUbuntuやFedoraといったその他のLinuxディストリビューションとは違ってインストーラーがありません。
インストールするにはcfdiskなどを使って自分でパーティションを分けてpacstrapを使ってインストールしたのちにarch-chrootをしてぼちぼち設定をするなどの工程を要して、大変だった故に生まれた言葉です。
ただ、今ではすっかり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
今回はnvme0n1にArch Linuxをインストールする。
🌱 hide@slimelinux in 🏠 ~/code/portfolio on master [?] is 📦 v0.1.0 via 🥟 v1.2.2 via v23.8.0 x86_64❯ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSzram0 254:0 0 4G 0 disk [SWAP]# arch linuxをインストールするディスクnvme0n1 259:0 0 931.5G 0 disk# windowsnvme1n1 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が使える。
iwctliwctlコマンドを実行すると、対話シェルが開かれるのでこちらでインターネットに接続する。
# 自分のネットワークデバイス名を調べます。この場合では 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して外部と疎通確認をする。
ping google.comrootfsの容量を拡げる
archinstallはインストールする際にArchISOに不足している依存関係を/run/archiso/cowspaceにダウンロードしますが、デフォルトで設定されているスペースが狭いため失敗するので、cowspaceを拡げる必要がある。
mount -o remount,size=8G /run/archiso/cowspacearchinstall
これでarchinstallコマンドを実行する前の作業は済んだので、Arch Linuxのインストールをはじめる。
archinstall手始めにarchinstallコマンドを実行するとTUIインターフェースが開かれる。ここをぽちぽちしてInstallを押して、コーヒーを嗜むだけでArch Linuxがインストールされる。
まず説明が簡単なところだけ設定する
Mirros>Mirror region>Japan>BackBootloader>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 exitAudio>pipewireNetwork Configuration>Use Network ManagerOptional repositories>multilibTimezone>Asia/Tokyo
パーティショニング
パーティショニングは複雑なので分けて説明する。
archinstallではメインボリュームのファイルシステムをext4 xfs f2fs btrfsといったファイルシステムを選択可能だ。この記事ではbtrfsを使用する。
- ブートパーティション:
/dev/nvme0n1p11GB/bootGRUBなどのブートローダーとLinuxカーネルなどのespが入る。 - スワップ:
/dev/nvmepn1p3メモリの半分の容量[SWAP]Windowsでいうところの仮想メモリ。 - ルートパーティション:
/dev/nvme0n1p2残りの容量を超えない範囲で設定/Linuxのデータ全てが入る。
最終的な構成はこの通りだ。
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSzram0 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(インストール先を選択)
質問に答えていくとこの画面に辿り着くと思う。これから上記の構成に沿ってパーティショニングする。
ブートパーティション
手始めにブートパーティションを作成する。freeを選択するとサイズを質問されるので、1GBと入力したのちにfat32を選択して、マウントポイントを聞かれるので/bootと入力する。
スクリーンショット


スワップ
ついでにスワップ用のパーティションを作成する。もう一度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
スクリーンショット



これでパーティショニングを終えることができる。
パーティションサイズは環境によって異なるので画像と完全に一致するわけではないが、大まか画像とパーティショニングが一致していたらConfirm and exitを押して、地獄のパーティショニングを終える。
先ほどの通りにConfirm and exitを押すと先ほど確定したパーティションの設定を閲覧できる。Backを押すとarchinstallのメニュー画面に戻ると思う。
ここでやっとArch Linuxのインストールを始めることができる。お待ちかねのコーヒータイムだ。
Install>yes
最後にWould you like to chroot into the newly created installation on and perform post-i stallation configuration?と訊かれるのでyesと答える。これでArch Linuxをインストールできた。
スクリーンショット


インストール後のセットアップ
archinstallの最後の質問にyesと答えるとインストールしたArch Linuxにchrootされる。
セットアップを続けるためにchrootから抜け出して再起動する。
# chrootから抜けるexit
# 再起動reboot再起動すると、インストールしたArch Linuxが起動して、ttyが表示されているので作成したユーザーアカウントでサインインする。
Arch Liunx 6.13.2-arch1-1 (tty1)
archlinux login: userPassword: ******
[user@archlinux ~] $ _筆者は自分のdotfilesがあるため内包しているスクリプトを実行すれば、コマンド一つでマシンをセットアップができるが、今回はdotfilesを使わずにセットアップする。
気になる方は是非見てほしい。Hyprlandはいいぞ。
インストール後はKDE GNOME HyprlandといったDesktop Environment (or Windows Manager)をインストールしたり、GPUドライバーのインストールなどをするべきだ。
インターネットに繋げる
インターネットの接続にNetworkManagerを使用する。有線接続ならNetworkManagerを起動するだけでインターネットに繋がる。
sudo systemctl enable --now NetworkManager.service- 無線接続
NetworkManagerは無線接続も可能なので、nmtuiを起動してアクセスポイントに繋げる。
nmtuinmtuiを実行するとTUIインタフェイスが開かれるので
インターネットに接続したらpingコマンドで外部との疎通を確認する。
ping google.comfastfetchをインストールする
ハードウェア情報を無駄にカッコよく表示してくれる優れモノ。筆者はこれを眺めてはニヤニヤしていたら家族からキモいと言われてしまった。
sudo pacman -S fastfetch
AURヘルパーをインストールする
AUR(Arch User Repository)ヘルパーは、Arch Linuxのユーザーリポジトリ(AUR)からパッケージを簡単にインストール・管理するためのツールです。AURは公式リポジトリにないソフトウェアを提供するコミュニティ主導のリポジトリであり、通常はmakepkgとpacmanを手動で使ってインストールしますが、AURヘルパーを利用するとこれらの作業が自動化されます。
筆者のイチオシはparuなので、そちらをインストールする。
sudo pacman -S --needed git base-develgit clone https://aur.archlinux.org/paru.gitcd parumakepkg -siこれからはパッケージをインストールする際にpacmanではなくparuを使う。
試しにパッケージ更新をしておく。
paru -Syuos-proberをインストールする
os-proberはGRUBがマルチブートしている他のOS (Windowsなど)を見つけるのを助けてくれる。
paru -S os-prober update-grub
# os-prober をインストールしたので grub のブートエントリを更新するsudo update-grub非公式リポジトリを追加する
追加するリポジトリは chaotic-aur cachyos-repo の二つだ。
- chaotic-aur
AURのパッケージは通常自分のマシンでビルドしてインストールする必要があるが、chaotic-aurでは予めビルド済みのAURに存在するパッケージを配信してくれるため、大抵のAURパッケージはビルドする手間を省ける。
執筆時はこのコマンドを実行してchaotic-aurリポジトリを追加することができた。鍵の変更などがあって失敗した場合はGitHub リポジトリに追加方法が記載されているのでそちらを参照してほしい。
sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.comsudo pacman-key --lsign-key 3056513887B78AEBsudo 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カーネルをインストールするために必要なので予め追加しておく。カーネルの追加については後ほどのセクションに記載する。
curl -O https://mirror.cachyos.org/cachyos-repo.tar.xztar xvf cachyos-repo.tar.xz && cd cachyos-reposudo ./cachyos-repo.shcachyos-repoリポジトリを追加したのち、paru -Syuをするとpacmanはインストール済みのパッケージより新しいパッケージを見つける。
その際にcachyosのものに置き換えるか質問されるので、最新のパッケージはいつでもウェルカムなのでイエスマンに徹する。
リポジトリを追加したので、パッケージを更新しておく。
paru -SyuカスタムLinuxカーネルをインストールする
Arch Linuxを使うならカスタムLinuxカーネルも導入したい。2025年現在では筆者調べだとlinux-cachyos-rt-bore-ltoというてんこ盛りカーネルがパフォーマンスが良さげだった。
GRUBはvmlinuz-linuxよりvmlinuz-linux-cachyos-rt-bore-ltoを優先するので、update-grubコマンド一つでカーネルを設定できる。
paru -S linux-cachyos-rt-bore-lto linux-cachyos-rt-bore-lto-headers
# Linuxカーネルをインストールしたら、grub にブートエントリを追加する必要があるsudo update-grubターミナルとテキストエディタをインストールする
現在作業してる場はttyなので問題はないが、これからデスクトップ環境を起動する際にターミナルとテキストエディタが無ければ何もできないのでインストールする。
paru -S vim weztermWeztermは見た目やキーバインドなど細かく設定できる。設定なしでも使えないことはないが、モチベーションの問題でやはり設定しておいた方が良いだろう。
以下のリンクではWeztermの設定をスクリーンショットとともに公開されているので気に入ったものを一つチョイスすべきだ。
Weztermの設定は~/.config/wezterm/wezterm.luaにある。存在しない場合は自分で作成する必要がある。
mkdir ~/.config/weztermvim ~/.config/wezterm/wezterm.luafishとstarshipをインストールする
fishシェルとそれを装飾するstarshipをインストールする。
fishシェルは3年近く愛用しているRust製のシェルで、bashやzshなどと違ってキビキビ動く。
paru -S fish starship
mkdir ~/.config/fishecho "starship init fish | source" | tee -a ~/.config/fish/config.fish
# デフォルトシェルの変更sudo chsh $USER -s $(which fish)
starshipのプロンプト (hide in 🌐 archlinux in ~)は自分好みにカスタムできる。以下のページはカスタム済みのpresetsを探すことが可能だ。
(Windows向け) ローカルRTCを直す
LinuxとWindowsでRTCの扱い方が違うため対応しておかないとWindowsの時間がおかしくなってしまう。
sudo timedatectl set-local-rtc 1GRUBテーマをインストールする
GRUBはなにもしていない状態だと黒い画面と白い文字だけで味気ないので、GRUBにテーマを導入する。
筆者のおすすめはDark Matterなので、そちらをインストールする。
テーマをインストールする際に対話型インターフェイスが開かれるので質問に答える。
paru -S python3 python-pip lsb-release
git clone --depth 1 https://gitlab.com/VandalByte/darkmatter-grub-theme.git && cd darkmatter-grub-themesudo python3 darkmatter-theme.py --install筆者はArch Linuxで1080pモニター、アイコンはカラフルを希望したので回答は全て1を答えた
1>1>1
(?) 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
ほかのテーマもGitHubで見つけることができるので、ぜひ見つけてみてほしい。
グラフィックドライバーをインストールする
- AMDユーザー
Radeonユーザー向けに記事を執筆中です。それまではArchWikiをご参照ください。
- Intelユーザー
ArchWikiをご参照ください。
- NVIDIAユーザー
ArchWikiをご参照ください。
デスクトップ環境をインストールする
デスクトップ環境には GNOME Hyprland Plasma など多様な選択肢がある。
筆者は日常的にHyprlandを使用しているが、この記事では歴史があって設定が楽なPlasmaを選択することにした。
# フォントをインストールする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ブラウザをインストールする
ブラウザは好みに別れると思うので各々入れてほしい。
# Firefoxparu -S fifefox
# Google Chromeparu -S google-chrome日本語入力を可能にする
fcitx5とmozcをインストールすれば良い。
paru -S fcitx5-im fcitx5-mozc fcitx5-configtoolfcitxはインストールしただけでは使えないので、/etc/environmentに追加する。
echo "GTK_IM_MODULE=fcitxQT_IM_MODULE=fcitxXMODIFIERS=@im=fcitx" | sudo tee -a /etc/environmentここで再起動するとログインインターフェイスが開かれていると思う。
ログインしてplasmaが起動したら、System Settingsを開いほしい。
検索窓にInput Methodと入力して、右上のRun fcitx5 as DBusをクリックして、右下のAdd input methodをクリックして、mozcと入力したのちにApplyを押す。
このプロセスを経てWindowsと同じように日本語を入力できる。
SDDMテーマを変更する
sddmテーマはデフォルトだとダサいので変更したい。変更はGUIから行える。
Windowsキーを押すと検索窓が出てくるので、System Settingsと入力して最上位に出てきたものを開く。
System Settingsアプリには左上に検索バーがあるのでそちらにsddmと入力したのち、Login Screen (SDDM)がヒットするのでそちらを開くと、右側にSDDMテーマのプレビューが表示されるので、Breezeを選択してパスワードを入力するとテーマの変更ができる。
SDDMと入力する >Login Screen (SDDM)>Breeze>Input Password and Confirm
ログアウトすればすぐに確認できるのでログアウトしてほしい。PlasmaはWindowsライクなUIなためオペレーションは同じだ。
(オプション) セキュアブートの設定をする
現在執筆中です。執筆メモがあるのでこちらをご覧ください。
https://memo.hide0.net/m/aRjXzug4Y4nCJQYa2kqKrNさいごに
インストールが完了して記念にスクリーンショットを撮ってみた。やっぱりテンション上がる。
さて、筆者はかれこれArch Linuxを3年近く触っています。
Arch Linuxはローリングリリースの設計のため環境の移り変わりがUbuntuやFedoraなどと比べて顕著です。
自分が初めて触った2022年のArch Linux環境と比較してfastfetchはneofetchで、主流のカーネルはlinux-zenだったので、思い返すと移り変わりが顕著でした。
読者の皆さんもこれからもArch Linuxを使うと思います。毎年新しい環境に順応するのは私には少し大変です。