#はじめに
Windows10Pro の Hyper-V仮想マシンに Arch Linux を最小限インストールした手順のメモです。Archのインストールは初めてでしたが、ハマりどころが2点ほどありました。
- Hyper-V仮想マシンからのライブ環境起動に失敗 ?!
-
pacstrap
のオプションに linux(kernel) も必要 !
前者については同様な情報が見つかっていないので、自分の環境だけなのかもしれません。
後者は公式の Install_guide を確認することで解決しましたが、base
グループから kernel が2019年10月に外されたのが原因でした。それ以前のネット情報を頼りにしていたため、すぐには気づきませんでした。
#インストール環境
- 実機 Windows10Pro (Version 1903) +
Hyper-V
機能有効化 - インターネット接続 (DHCP)
- http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/2020.05.01/archlinux-2020.05.01-x86_64.iso
#インストール方法
##1. Hyper-V 仮想マシン作成
Hyper-Vマネージャーを使って仮想マシンを作成する。クイック作成
で、ダウンロードしたisoイメージ
を指定し、セキュアブートを無効化
します。ネットワークは規定のスイッチ
のままで大丈夫です。
そのまま仮想マシンに接続します。
##2. ライブ環境の起動
仮想マシンに接続しても、なぜかライブ環境が起動せず、下の画面に、、、
よくわからないまま exit
コマンドで抜け、改めて1行目の Arch Linux archiso x86_64 UEFI CD
を選択することで、無事にライブ環境を起動できました。
##3. ライブ環境での設定
####3.1. キーボードレイアウト
まず、必要に応じてキーマップを設定します。
# loadkeys jp106
####3.2. インターネット接続確認
DHCP環境であれば設定は不要ですが、念のためネット接続を確認しておきます。
# ping -c3 archlinux.jp
####3.3. パーティション作成
ここでは、swapなしの単純なパーティションとします。
Partition | Code | Name | Mount point |
---|---|---|---|
/dev/sda1 | EF00 | EFI system partition | /mnt/boot |
/dev/sda2 | 8300 | Linux filesystem | /mnt |
gdisk /dev/sda
n # 新規パーティション
#[ENTER]
#[ENTER]
+512M
EF00
n # 新規パーティション
#[ENTER]
#[ENTER]
#[ENTER]
#[ENTER]
p # パーティション一覧
w # 書き込み指定
Y # 書き込み確認
####3.4. パーティションのフォーマット
EFIシステムパーティションをfat32
で、ルートパーティションをxfs
でフォーマットします。
# mkfs.fat -F32 /dev/sda1
# mkfs.xfs -m crc=1 /dev/sda2
####3.5. ファイルシステムのマウント
ルートを/mnt
に、EFIシステムを/mnt/boot
にマウントします。
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
####3.6. ミラーの設定
/etc/pacman.d/mirrorlist
を編集して、国内ミラーをトップにあげる、もしくは、単純に以下の2行だけでも良いと思います。
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
####3.7. ベースシステムおよびカーネル等のインストール
ハマりどころその2です。インストールガイドどおりが無難ですが、忘れないうちに dhcpcd
や vi
などの適当なエディタもインストールします。
前述のとおり、以前は base
グループにカーネルやエディタ等も含まれていたようです。
# pacstrap /mnt base linux linux-firmware dhcpcd vi
####3.8. fstabの生成
# genfstab -U /mnt >> /mnt/etc/fstab
####3.9. chroot
# arch-chroot /mnt
####3.10. タイムゾーン
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc
####3.11. ロケール
とりあえず英語環境で大丈夫ということであれば、LANG=C
にて運用することとし、ロケール設定を省略できます。
必要に応じてキーマップは変更しておきます。
# echo KEYMAP=jp106 > /etc/vconsole.conf
####3.12. ネットワーク設定
ここでは hoge
としますが、適当な hostname を設定します。
# hostnamectl set-hostname hoge
# echo hoge > /etc/hostname
# echo -e "127.0.0.1 localhost\n::1 localhost" >> /etc/hosts
再起動に備えて、DHCP機能を有効化します。
# systemctl enable dhcpcd
####3.13. rootパスワード設定
# passwd
####3.14. ブートローダー
# bootctl install
# vi /boot/loader/loader.conf
エディタで /boot/loader/loader.conf
を編集します。
default arch
timeout 3
editor no
# cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/
# blkid -s PARTUUID -o value /dev/sda2 >> /boot/loader/entries/arch.conf
# vi /boot/loader/entries/arch.conf
エディタで /boot/loader/entries/arch.conf
を編集します。
PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
は、blkid
コマンドで最終行に追加した値に置き換えます。
## This is just an example config file.
## Please edit the paths and kernel parameters according to your system.
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
#options root=PARTUUID=XXXX rootfstype=XXXX add_efi_memmap
options root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rootfstype=xfs add_efi_memmap
# bootctl update
# bootctl
####3.15. 再起動
chroot
から抜けて、システムを再起動します。
# exit
# reboot
再起動後もいくつか設定が残っていますが、今回は最小限インストールということで、省略します。
#あとがき
もともと、Windos10上で古いCAEツールを使用するためにCentOS
の仮想マシンを構築しましたが、Hyper-Vでは解像度が固定されて使いにくかったため、linux-vm-tools に対応しているArch Linux
での再構築を試みましたが見事にハマりました。一応、Manjaro
で当初の目的を果たしましたが、機会があればArch Linux
で GUI環境構築にも再トライします。
#更新履歴
- 2020/05/03 初稿
#参照
- https://wiki.archlinux.org/index.php/Installation_guide
- https://wiki.archlinux.jp/index.php/インストールガイド
- https://www.archlinux.jp/news/base-group-replaced-by-mandatory-base-package-manual-intervention-required/
- Arch Linuxインストール (OSインストール編)| UEFI, GPT, XFSを使用してインストール - archlinux.site
- Arch Linux + Xfce 快適環境を構築したときのログ - blog.livewing.net
- Arch LinuxをHyper-V仮想マシンにセットアップする - nashippe.blog
- ArchLinuxのインストール(Hyper-V&UEFI) - jisyonohako.blogspot.com