💻

Arch Linux をLVM構成でインストールしてみる

に公開

自分用に残しているだけなので、設定(パッケージ等)は適宜調べてね 🌟

インストール

キーボードのレイアウトを変更

# loadkeys jp106

無線LANの設定(有線の場合は読み飛ばす)

メニューに従って、SSID & パスワードを設定しLANに接続する

wifi-menu
  • 追記
    2025.05に再インストールしようとしたら、なぜかwifi-menuが使えなくなっていた。
    どうやら、iwを推奨しているらしい。
// インタフェースのリンク状態の確認
# iw dev interface link

// インタフェースの有効化
# ip link set interface up

// アクセスポイントの確認
# iw dev interface scan | grep SSID

// アクセスポイントへの接続
# iwctl
[iwd]# station wifiカード名 connect アクセスポイント名
Passphrase: ******...  // パスワードを入力
[iwd]# station wifiカード名 show  // stateが"connected"であればOK
[iwd]# quit

パーティションの追加

# lsblk
# gdisk /dev/nvme0n1

パーティション構成

パーティション 容量 fs種類 マウント先 用途
/dev/nvme0n1p1 512MB FAT32 /boot/efi ESP
/dev/nvme0n1p2 512MB ext4 /boot boot
/dev/nvme0n1p3 全部 ext4 /(root) root

LVMの作成

  • 過去のLVM設定が残存している場合、削除してから作成する
  1. lvremove 論理ボリューム名
  2. vgremove ボリュームグループ名
  3. pvremove 物理ボリューム名

物理ボリューム作成

# pvcreate /dev/nvme0n1p3
# pvdisplay

ボリュームブループ作成

vgcreate <VG名> /dev/nvme0n1p3

# vgcreate arch /dev/nvme0n1p3
# vgdisplay

論理ボリューム作成

lvcreate -l +100%FREE -n <LV名> <VG名>

# lvcreate -l +100%FREE -n lv_root arch
# lvdisplay

パーティションのフォーマット

ファイルシステムの作成

# mkfs.vfat -F32 /dev/nvme0n1p1
# mkfs.ext4 /dev/nvme0n1p2
# mkfs.ext4 /dev/arch/lv_root

ファイルシステムのマウント

/ (root) → /boot → /boot/efi の順にマウント

# mount /dev/arch/lv_root /mnt
# mkdir /mnt/boot
# mount /dev/nvme0n1p2 /mnt/boot
# mkdir /mnt/boot/efi
# mount /dev/nvme0n1p1 /mnt/boot/efi

必要パッケージのインストール

# pacstrap /mnt base base-devel linux linux-firmware grub efibootmgr vi neovim networkmanager zsh lvm2

fstabの作成

# genfstab -U /mnt >> /mnt/etc/fstab

chroot

# arch-chroot /mnt /bin/bash

Localeの設定

# nvim /etc/locale.gen
---
en_US.UTF-8 UTF-8 (コメントアウトを解除)
...
ja_JP.UTF-8 UTF-8 (コメントアウトを解除)
---

localeの生成

locale-gen

環境変数を設定

# echo "LANG=en_US.UTF-8" > /etc/locale.conf
# export LANG=en_US.UTF-8 

タイムゾーンを設定

# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc

ホスト名の編集

# echo "ホスト名" > /etc/hostname

hostsファイルの編集

# nvim /etc/hosts

127.0.0.1  localhost.localdomain localhost "ホスト名"
::1  localhost.localdomain localhost "ホスト名"

ユーザーの設定

rootユーザのパスワード設定

# passwd

ユーザーの追加 & グループへの追加

# useradd -m -G wheel -s /usr/bin/zsh "ユーザー名"
# passwd "ユーザー名"
  • パスワード入力の省略
    visudoコマンドを実行することを推奨されている
    • の行のコメントアウトを外す
# visudo
---
%wheel ALL=(ALL)       NOPASSWD: ALL  ★ここ

mkinitcpio フックを追加

# nvim /etc/mkinitcpio.conf
---
HOOKS=(base systemd ... block lvm2 filesystems)

GRUBのインストール

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_arch --boot-directory=/boot/efi/EFI --recheck
# grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg

NetworkManagerの有効化

# systemctl enable NetworkManager.service

再起動

# exit
# shutdown -h now

GUIの設定

インストールで長くなったので、別途記載していく
https://zenn.dev/reviq07/articles/5736cb799b3ffc

Discussion