Windows 11 と Pop!_OS のデュアルブート環境だった ASUS ROG Zephyrus G14に、CachyOS を追加インストールした記録です。Pop!_OS はほぼ使わなくなっていたので、NVMe の空き領域(約 528 GiB)に CachyOS を入れて3つのOSが共存する構成にしていみました。CachyOSはデスクトップでも入れていてかなり気に入ったので入れ替えです。
環境
| 項目 | 内容 |
|---|---|
| 機種 | ASUS ROG Zephyrus G14 GA401QEC (Alan Walker Edition) |
| CPU | Ryzen 9 5900HS |
| GPU | AMD Cezanne iGPU + RTX 3050 Ti (Hybrid) |
| RAM | 16 GB |
| NVMe | MS950G75PCIe4 2048G |
| 無線 | MediaTek MT7921 |
ディスク構成
インストール前の NVMe の構成。
| パーティション | サイズ | 内容 |
|---|---|---|
| p1 | 200 MB | Windows 予備 ESP |
| p2 | 16 MB | Microsoft 予約 |
| p3 | 399.2 GB | Windows 11 C: |
| p4 | 850 MB | Windows RE |
| p5 | 512 MB | 現用 ESP(Windows + Pop 共用) |
| p6 | 953.9 GB | Pop!_OS / |
| 空き | 528.2 GB | ← CachyOS をここに入れる |
| p7 | 2 GB | Pop swap |
| p8 | 22 GB | ASUS リカバリ |
| p9 | 200 MB | MyASUS |
p5(ESP)は Windows と Pop!_OS が共用しているため、絶対に触らない。CachyOS 用に独立した /boot パーティションを新規作成することで回避しました。こんな領域が残っていたことをすっかり忘れていました。実行の計画なども最近はClaudeと会話しながら進めているので新しい気づきがあって助かる。
事前準備
バックアップ
外付け HDD(exFAT)への直接 rsync はシンボリックリンクやパーミッションが失われるため、以下のオプションを使いました。
rsync -rt --info=progress2 --partial --inplace \
--exclude='.cache/' \
--exclude='.local/share/Trash/' \
--exclude='.local/share/Steam/steamapps/' \
--exclude='.var/app/*/cache/' \
/home/<user>/ /media/<user>/BackupVolum/home-<user>-full/
-a ではなく -rt にするのがポイントです。exFAT では所有者・パーミッション・シンボリックリンクの転送が失敗するため、最初から転送しない設定にします。
ESP のバックアップも取っておきます。p5 を誤操作した場合の保険です。
sudo tar -cpzf /media/<user>/BackupVolum/ext/esp-p5-backup-$(date +%F).tar.gz -C /boot/efi .
長時間の転送中に USB が切断される問題も発生しました。原因は autosuspend=2(2秒でサスペンド)でした。
echo -1 | sudo tee /sys/module/usbcore/parameters/autosuspend
for d in /sys/bus/usb/devices/*/power/control; do echo on | sudo tee "$d" > /dev/null; done
# 恒久化
echo 'options usbcore autosuspend=-1' | sudo tee /etc/modprobe.d/usb-noautosuspend.conf
CachyOS インストール USB の作成
sudo dd if=cachyos-*.iso of=/dev/sda bs=4M status=progress oflag=sync
BIOS 設定
| 設定項目 | 値 |
|---|---|
| Secure Boot | 無効 |
| Fast Boot | 無効 |
| Legacy USB Support | Auto |
| SATA Mode | AHCI(変更不要) |
NVMe が認識されない問題
Live USB で起動すると /dev/nvme0n1 が見えませんでした。
nvme 0000:03:00.0: Unable to change power state from D3cold to D0, device inaccessible
原因は、Windows から再起動せずに電源を落とした場合、NVMe が D3cold(完全電源断)状態のまま Linux に渡されることでした。
Windows を起動して「シャットダウン」(再起動ではなく完全シャットダウン)してから USB で起動すると、NVMe が D0 状態に戻り正常に認識されました。なんかこの問題も以前あったなぁという感じですがすっかり忘れますね。
インストール後に以下を設定しないと、再起動のたびに同じ問題が発生します(とClaudeに教えてもらったけど試してはない)
echo 'options nvme_core default_ps_max_latency_us=0' | sudo tee /etc/modprobe.d/nvme.conf
sudo mkinitcpio -P
インストール
ブートローダーは Limine を選択。Btrfs スナップショット統合が標準で使えます。
インストーラで「手動パーティション」を選択し、528 GiB の空き領域に2つだけ作成しました。既存の p1〜p9 は一切変更していません。
| サイズ | FS | マウント | フラグ | |
|---|---|---|---|---|
| /boot | 4096 MiB | fat32 | /boot |
boot |
| / | 残り全部 | btrfs | / |
なし |
インストール後の設定
sudo pacman -Syu
sudo chwd -a # ドライバ自動検出
AMD と NVIDIA のドライバが自動で検出・インストールされました。
G14 用のツールも入れておきます。
sudo pacman -S asusctl supergfxctl rog-control-center
sudo systemctl enable --now asusd supergfxd
日本語入力の設定。
sudo pacman -S fcitx5-im fcitx5-mozc
環境変数の設定。
echo 'GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx' | sudo tee /etc/environment
動作確認結果
| 項目 | 状態 |
|---|---|
| Wi-Fi (MT7921) | OK |
| Bluetooth | OK |
| 日本語入力 (fcitx5-mozc) | OK |
| GPU Hybrid (RTX 3050 Ti) | OK |
| サウンド (ALC285) | OK |
| 画面 2560x1440 @120Hz | OK |
| asusd / supergfxd | OK |
| プロファイル切替 (Quiet/Balanced/Performance) | OK |
| スリープ復帰 | OK |
| スナップショット (snapper + Limine) | OK |
ハマった所
NVMe が D3cold から復帰できない問題は、Windows から完全シャットダウンして起動することで回避しました。インストール後は nvme_core default_ps_max_latency_us=0 を設定しておく必要があります。
p5(ESP)は Windows と Pop!_OS が同じものを使っているため、CachyOS 用に独立した /boot(4 GiB, fat32)を新規作成しました。p5 には一切触れていません。
外付け HDD への rsync は、exFAT に -a オプションで転送するとシンボリックリンクやパーミッションで大量エラーが発生します。-rt オプションを使うか、ext4 のボリュームに書き出すのが安全そうです。
USB オートサスペンドも長時間の転送中にデバイスが切断される原因になっていました。autosuspend=-1 で無効化しています。
指紋認証(Goodix 27c6:521d)は上流の libfprint では未サポートでした。コミュニティによるリバースエンジニアリング実装は存在するものの不安定だったので、今回は見送りました。
G14 は CachyOS が asus-linux コミュニティから最も推奨されているディストリビューションのようです。とClaudeは言っていました。
いずれにしても快適に動作しています。