#author("2025-08-06T10:25:56+00:00","","") #author("2025-08-06T10:26:39+00:00","","") *仮想PCにArchLinuxをインストール (VirtualBox v7編) [#kdaa2245] -基本的にインストールメモの最小限バージョンとなります。 -仕様としてはEFI/BIOS選択可能、ディスクはLVM2採用の暗号化なし。(ホストのディスクが暗号化されていると想定) **ArchISO起動 [#g410dc14] ***パスワード設定 [#y9f570b9] -パスワードを設定する : # passwd root -ssh で rootで接続。 --KVM / VMware の場合、 ip addr で確認できた IP アドレスに root at 192.168.XXX.YYY 宛に接続 --VirtualBoxの場合、SSHクライアントで localhost:2222 につなぎにいく。 ***時間のタイムゾーン設定、ディスクのパーティション確保 [#z8c5a9bb] -NTP有効、東京(JST)設定を一気に。 #highlightjs # timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo; hwclock --systohc;timedatectl status -ディスクを確認。/dev/sda が見えるはず #highlightjs # fdisk -l -パーティション確保 #highlightjs BIOS : # fdisk /dev/sda EFI : # gdisk /dev/sda EFI の場合、以下のようにしてはしょってもいい。 #highlightjs # sgdisk -z /dev/sda # sgdisk -n 1:0:+1G -t 1:ef00 -c 1:"EFI System" /dev/sda # sgdisk -n 2:: -t 2:8e00 -c 2:"Linux filesystem" /dev/sda --oコマンドでパーティションテーブルを作る --nで /bootにあたるパーティションをつくる(サイズ 1GB) パーティション番号は BIOS : 0c (Win95VFAT) / EFI : ef00 (EFI) --nでLVM2パーティションをつくる (サイズは残り全部) パーティション番号は BIOS : 83 (Linux) / EFI : 8e00 (Linux LVM) --w でパーティションを確定してディスク編集コマンドを抜ける -LVM2を設定する (/dev/sda2 に対して) #highlightjs # pvcreate /dev/sda2; vgcreate vgsysarch /dev/sda2; vgs # lvcreate --size 64G vgsysarch -n root; lvcreate -l 100%FREE vgsysarch -n home; lvs // # lvcreate --size 64G vgsysarch -n root; lvcreate --size 8G vgsysarch -n swap; lvcreate -l 100%FREE vgsysarch -n home; lvs -ファイルシステム作る #highlightjs # mkfs.ext4 /dev/vgsysarch/root; mkfs.ext4 /dev/vgsysarch/home; mkfs.vfat -F32 -n EFI /dev/sda1; // # mkfs.ext4 /dev/vgsysarch/root; mkfs.ext4 /dev/vgsysarch/home; mkswap /dev/vgsysarch/swap; mkfs.vfat -F32 -n EFI /dev/sda1; -マウント有効化 #highlightjs # mount /dev/vgsysarch/root /mnt;mkdir -p /mnt/boot; mount /dev/sda1 /mnt/boot;mkdir -p /mnt/home; mount /dev/vgsysarch/home /mnt/home; df -h -T;free -h //-マウントとスワップ有効化 // # mount /dev/vgsysarch/root /mnt;mkdir -p /mnt/boot; mount /dev/sda1 /mnt/boot;mkdir -p /mnt/home; mount /dev/vgsysarch/home /mnt/home; swapon /dev/vgsysarch/swap; df -h -T;free -h ***pacman系の準備と投入 [#j9941f19] -ミラーリストを日本だけのものに更新 #highlightjs # cat /etc/pacman.d/mirrorlist | cat <(curl -s "https://archlinux.org/mirrorlist/?country=JP" | sed -e 's/^#Server/Server/') - > /etc/pacman.d/mirrorlist -ミラーリストとpacman設定確認。 #highlightjs # vim /etc/pacman.d/mirrorlist; vim /etc/pacman.conf (pacman.confは ColorとパラレルDL=5を有効とする) -インストール開始 --yayまで一気にいくために多めに指定しています。 #highlightjs BIOS : # pacstrap /mnt base base-devel linux linux-firmware linux-headers grub os-prober lvm2 sudo openssh networkmanager nano vi vim dosfstools bash-completion git go zsh grml-zsh-config zsh-completions zsh-syntax-highlighting zsh-autosuggestions EFI : # pacstrap /mnt base base-devel linux linux-firmware linux-headers grub os-prober efibootmgr lvm2 sudo openssh networkmanager nano vi vim dosfstools bash-completion git go zsh grml-zsh-config zsh-completions zsh-syntax-highlighting zsh-autosuggestions -パーティション構成を保存 #highlightjs # genfstab -U /mnt >> /mnt/etc/fstab ***chrootして仕上げ [#vaced461] -chrootとパスワード設定 #highlightjs # arch-chroot /mnt # passwd root # chsh root ( /bin/zsh にシェルを入れ替え) --mkinitcpio 編集と再設定 #highlightjs # nano /etc/mkinitcpio.conf (この行を) HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) (こういうふうに追記する。block / filesystems のまんなかに lvm2を指定) HOOKS=(base udev autodetect modconf block lvm2 filesystems keyboard fsck) (ucodeいれるときに走るので略してもいいかも?) # mkinitcpio -p linux Image generation successful -入れ忘れ補完 (pacstrapが長くなりすぎるので...) #highlightjs Intel : # pacman -S intel-ucode AMD : # pacman -S amd-ucode -ブートローダー (GRUB or systemd) を投入 --GRUB の場合 #highlightjs BIOS : # grub-install --target=i386-pc --recheck /dev/sda; grub-mkconfig -o /boot/grub/grub.cfg EFI : # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=boot; grub-mkconfig -o /boot/grub/grub.cfg --refind ---EFI, grub or systemd が動いていること前提の付け足し。 #highlightjs # pacman -S refind; refind-install --systemd の場合 (EFIブート限定) #highlightjs # bootctl install # nano /boot/loader/loader.conf -----(なかみ)----- default arch editor no ---(blkid は適切な方を実行) # blkid -s PARTUUID /dev/sda2 > /boot/loader/entries/arch.conf # blkid -s UUID /dev/mapper/vgsysarch-root > /boot/loader/entries/arch.conf # nano /boot/loader/entries/arch.conf -----(なかみ ***** のところはblkidで吐き出された設定を転用)----- title Arch Linux linux /vmlinuz-linux initrd /amd-ucode.img initrd /initramfs-linux.img options root=UUID=********-****-****-****-************ rw ( options root=PARTUUID=********-****-****-****-************ rw のばあいもあります) # systemctl enable systemd-boot-update -sudo権限をもつ一般ユーザーを登録 (便宜上 asaasa arqtan yayuser とでもしてます) #highlightjs # groupadd sudo # useradd -m -g users -s /bin/zsh asaasa; passwd asaasa; usermod -aG sudo asaasa # useradd -m -g users -s /bin/zsh arqtan; passwd arqtan; usermod -aG sudo arqtan # useradd -m -g users -s /bin/zsh yayuser; passwd yayuser; usermod -aG sudo yayuser # visudo ( %sudo ALL=(ALL) ALL が # でコメントアウトされてるので有効にする) ***再起動 [#pc855a1b] -chrootをぬける #highlightjs # exit -アンマウントとスワップオフ #highlightjs # swapoff --all; umount -R /mnt -シャットダウン #highlightjs # shutdown -h now **インストールし終わった Arch Linux で起動する [#cf99dd75] ***インストール直後の 1stconfig [#u6c0cb44] -rEFInd (EFI)の場合、vmlinuzからは起動失敗するのでDELキーで削除し、真ん中のペンギンから起動する。 -実環境にて rootでログイン、ネットワークマネージャとsshdを有効にする #highlightjs # loadkeys jp106 # systemctl enable NetworkManager sshd # systemctl start NetworkManager sshd # vim /etc/pacman.conf (ColorとパラレルDLのコメントアウト解除) # pacman -Syu (なにもないことを確認) -ロケールを設定し保存する #highlightjs # vim /etc/locale.gen (en_US.UTF-8 ja_JP.UTF-8のコメントアウト解除) //代替コマンド # sed -i -e 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen # sed -i -e 's/#ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/g' /etc/locale.gen # grep -E '^(en_US|ja_JP)\.UTF\-8 UTF\-8' /etc/locale.gen # locale-gen -sshでユーザーでログイン #highlightjs $ sudo -i (rootになる) -タイムゾーン保存 #highlightjs # timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo;hwclock --systohc; timedatectl status -ロケールならびにキー配置等を保存 #highlightjs # echo LANG=en_US.UTF-8 >> /etc/locale.conf # echo -e "KEYMAP=jp106\nFONT=lat9w-16" >> /etc/vconsole.conf -ホスト名保存 (APFの仮想PCのArchを意味する例がapf-archvmというかんじ) #highlightjs # hostnamectl set-hostname apf-archvm -rootを抜けてyayをいれる #highlightjs # exit $ git clone https://aur.archlinux.org/yay.git; cd yay; makepkg -si; cd ~;rm -rf yay -man コマンドを投入する #highlightjs $ yay -S man man-pages-ja ***zram を永続的に利用する [#r3f8294e] [[参考情報(ArchWiki):https://wiki.archlinux.jp/index.php/Zram#udev_.E3.83.AB.E3.83.BC.E3.83.AB.E3.82.92.E4.BD.BF.E3.81.86]] -rootになる #highlightjs $ sudo -i -zram を有効にする #highlightjs # nano /etc/modules-load.d/zram.conf zram -udevルールを作成 (4G の部分はメモリ実態に応じて増減すること) #highlightjs # nano /etc/udev/rules.d/99-zram.rules ACTION=="add", KERNEL=="zram0", ATTR{comp_algorithm}="zstd", ATTR{disksize}="4G", RUN="/usr/bin/mkswap -U clear /dev/%k", TAG+="systemd" -fstabを編集 #highlightjs # nano /etc/fstab #--- 既存のswapパーティションはコメントアウトする #追加 #zram swap /dev/zram0 none swap defaults,discard,pri=100 0 0 -再起動 #highlightjs # reboot -----ログインして、下記コマンドで確認 $ free -h $ zramctl