Arch Linuxのインストール手順|仮想マシンで試す方法とarchinstallを使う場合

ArchLinuxをインストールする

Arch Linuxを入れてみたいけれど、手順が長くてどこから始めればよいか分からない、という方へ。Windowsに入っているHyper-Vで仮想マシンを作れば、今のPCを壊す心配なしに、ISOの入手から再起動してログインするところまで試せます。

手順はArch Wikiのインストールガイド(日本語版はインストールガイド)と同じ流れです。全部を手で打つのが大変なら、ISOに入っているarchinstallを使う方法もあります(archinstallを使う場合)。

Arch Linuxのインストールの全体の流れ。ISOを入手、仮想マシンを作る、ISOで起動、パーティション、パッケージを入れる、設定、ブートローダー、再起動の8つ
目次

はじめに確かめること

  • Hyper-Vが使えるWindows:Hyper-VはWindows 10/11のPro以上で使えます。VirtualBoxやVMwareなど、ほかの仮想化ソフトでも流れは同じです。
  • メモリとディスク:Arch Wikiでは、動かすのに最低512MiBのメモリが必要で、インストール用の起動にはもっと必要とされています。仮想マシンには2048MB以上を割り当ててください。ディスクは、Arch Wikiの例ではルート(/)に23〜32GiB以上がすすめられています。
  • インターネット接続:パッケージをネットから取ってくるので、つながる環境が必要です。

Arch LinuxのISOファイルを入手する

Arch Linuxのダウンロードページ(日本語はarchlinux.jpのダウンロードページ)で、日本のミラーサーバーを1つ選び、【archlinux-xxxx.xx.xx-x86_64.iso】という名前のファイルをダウンロードします。ISOは毎月新しくなるので、いちばん新しい日付のものを選んでください。

ArchLinuxのダウンロード
ArchLinuxのダウンロード

ミラーサーバーから取ったときは、同じページにあるPGP署名(.sig)で、ファイルが書き換えられていないかを確かめることがすすめられています。手順はダウンロードページの「Checksums and signatures」に載っています。

Hyper-Vで仮想マシンを作る

Windowsのスタートメニューで「Hyper-Vマネージャー」を検索して起動します。

Hyper-Vマネージャーの起動
Hyper-Vマネージャの起動

左側のホスト名を右クリックし、【新規】→【仮想マシン】を選びます。

仮想マシンの作成
仮想マシンの作成①

「仮想マシンの新規作成ウィザード」が開くので、【次へ】をクリックします。前に【今後、このメッセージを表示しない】にチェックを入れた場合は、この画面は出ません。

開始する前にの説明画面
仮想マシンの作成②

【名前と場所の指定】で、【名前】に好きな名前を入れます。ここでは【ArchLinux】にしています。保存先を変えたいときは【仮想マシンを別の場所に格納する】にチェックを入れて場所を指定し(例:D:\Hyper-V\ArchLinux)、【次へ】をクリックします。

名前と場所の指定画面
仮想マシンの作成③

【世代の指定】では、UEFIで起動させたいので【第2世代】を選び、【次へ】をクリックします。BIOSで起動させたい場合は第1世代を選びます。世代はあとから変えられないので、間違えたら仮想マシンを作り直すことになります。

世代の設定画面
仮想マシンの作成④

【メモリの割り当て】で【起動メモリ】を【2048】(MB)以上にし、【この仮想マシンに動的メモリを使用します。】のチェックを外して【次へ】をクリックします。

メモリの割り当て画面
仮想マシンの作成⑤

【ネットワークの構成】で、インターネットにつながる仮想スイッチを選びます。ここでは【外部】という名前の仮想スイッチを選んでいます。

ネットワークの構成画面
仮想マシンの作成⑥

【仮想ハードディスクの接続】で、保存先とサイズを入れます。ここでは保存先をD:\Hyper-V\ArchLinux、サイズを200GBにしています。

仮想ハードディスクの接続画面
仮想マシンの作成⑦

【インストールオプション】で【ブートイメージファイルからオペレーティングシステムをインストールする】を選び、【イメージファイル】にダウンロードしたISOファイルを指定します。

インストールオプション画面
仮想マシンの作成⑧

最後の画面で内容を確かめ、【完了】をクリックします。

仮想マシンの新規作成ウィザードの完了画面
仮想マシンの作成⑨

セキュアブートを切る(第2世代の場合)

Arch LinuxのインストールISOはセキュアブートに対応していないため、第2世代の仮想マシンではセキュアブートを切ってから起動します(Arch Wikiのインストールガイドにも書かれています)。第1世代で作った場合は、この手順はいりません。

Hyper-Vマネージャーで作った仮想マシンを右クリックし、【設定】を選びます。

仮想マシンの設定
仮想マシンの設定①

左側の【セキュリティ】を選び、【セキュアブートを有効にする】のチェックを外して【OK】をクリックします。

セキュアブートの無効化
仮想マシンの設定②

インストール用のISOで起動する

仮想マシンを起動する

仮想マシンを右クリックして【接続】を選びます。

仮想マシンの接続
仮想マシンの接続

別のウィンドウが開くので、【起動】をクリックします。

仮想マシンの起動
仮想マシンの起動

起動メニューが出たら【Arch Linux install medium (x86_64, UEFI)】を選んで【Enter】キーを押します。第1世代(BIOS)の場合は、BIOS用の表示になります。

選択画面
選択画面

しばらくすると、rootユーザーでログインした状態のプロンプトが出ます。

起動後の画面
起動後の画面

キーボードを日本語配列にする

最初はUS配列になっています。日本語キーボードを使っている場合は切り替えます。

loadkeys jp106

UEFIで起動しているか確かめる

cat /sys/firmware/efi/fw_platform_size

64と出ればUEFI(64ビット)で起動しています。「No such file or directory」と出たら、BIOSで起動しています。第2世代で作ったのにBIOSと出る場合は、仮想マシンの設定を見直してください。

ネットワークにつながっているか確かめる

ネットワークの機器(NIC)が見えているかを確かめます。

ip link
NICの確認
eth0の確認

仮想マシンでは、ふつうは最初からUPになっています。実機でUPにならないときは、ドライバーが足りないことがあります。有線のDHCPは、インストール用の環境では最初から動くようになっています。

インターネットにつながるかを確かめます。止めるときは【Ctrl + C】を押します。

ping archlinux.jp
インターネットへの疎通の確認
疎通確認

ドメイン名でpingが通れば、インターネットにつながっていることと、名前からIPアドレスを引けていること(DNS)を一度に確かめられます。

時刻が合っているか確かめる

時刻がずれていると、パッケージの署名の確認に失敗することがあります。インストール用の環境では、ネットにつながると自動で時刻が合います。

timedatectl
時刻同期の確認
時刻同期の確認

パーティションを作る

ディスクを確かめる

lsblk
ストレージの確認コマンド
ストレージの確認

loop0とsr0はインストール用ISOのものなので、気にしなくて大丈夫です。ここでは/dev/sdaにインストールします。

パーティションの分け方

Arch Wikiの「UEFIとGPT」の例に合わせて、3つに分けます。

マウントポイント パーティション 種類 大きさ(Arch Wikiの目安)
/mnt/boot /dev/sda1 EFIシステムパーティション 1GiB
swap /dev/sda2 Linux swap 4GiB以上
/mnt /dev/sda3 Linux x86-64 root (/) 残り全部

ここからの画像は、EFIシステムパーティション300MiB・swap 512MiBで作ったときのものです。サイズの表示だけ違いますが、操作は同じです。

BIOSで入れる場合や、自分で分け方を決めたい場合は、Arch Wikiのパーティショニングを見て決めてください。

gdiskでパーティションを作る

GPTで作るのでgdiskを使います(MBRならfdiskです)。ディスクの中身はすべて消えるので、仮想マシンのディスクであることを確かめてから実行してください。

gdisk /dev/sda

「Command (? for help):」と出たら、1文字のコマンドを打って【Enter】キーを押します。【?】でヘルプが出ます。

gdisk画面
gdisk画面

よく使うのはこの7つです。

コマンド 意味
o 新しいパーティションテーブル(GPT)を作る
n パーティションを追加する
p 今のパーティションを表示する
t パーティションの種類を変える
l 種類のコード一覧を表示する
w ディスクに書き込んで終わる
q 保存しないで終わる

聞かれる順に入力します。「何も入れずにEnter」は、表示されている初期値(default)を使うという意味です。

聞かれること sda1(EFI) sda2(swap) sda3(root)
Command n n n
Partition number Enter(1) Enter(2) Enter(3)
First sector Enter Enter Enter
Last sector +1G +4G Enter(残り全部)
Hex code or GUID ef00 8200 8304

最初にoで新しいパーティションテーブルを作り(確認にはY)、3つ作ったらpで中身を確かめ、wで書き込みます(確認にはY)。種類のコードは、ef00がEFIシステムパーティション、8200がLinux swap、8304がLinux x86-64 root (/)です。8304の代わりに8300(Linux filesystem)にしても動きます。

終わったら、もう一度lsblkで確かめます。sda1〜sda3ができていれば大丈夫です。

lsblk
パーティションの確認
パーティションの確認

パーティションをフォーマットする

EFIシステムパーティションはFAT32でフォーマットします。

mkfs.fat -F 32 /dev/sda1

swap用のパーティションはmkswapで準備します。

mkswap /dev/sda2

ルート(/)はext4でフォーマットします。

mkfs.ext4 /dev/sda3

lsblk --fsで、FSTYPEがvfat・swap・ext4になっていれば大丈夫です。

lsblk --fs
フォーマット後の確認
フォーマット後の確認

パーティションをマウントする

ルートを/mntに、EFIシステムパーティションを/mnt/bootにマウントし、swapを有効にします。何も表示されなければ成功です。

mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot
swapon /dev/sda2

Arch Linuxをインストールする

ミラーサーバーを選ぶ(必要なら)

パッケージは/etc/pacman.d/mirrorlistに書かれたミラーサーバーから取ってきます。インストール用の環境では、最初からHTTPSのミラーが使えるようになっているので、そのままでも進められます。ダウンロードが遅いときは、reflectorで速いミラーを上に並べ替えます。

reflector --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

この一覧は、次のpacstrapで新しいシステムにもコピーされます。ミラーの選び方はpacmanコマンドの使い方|よく使うオプション一覧と設定(pacman.conf)・ミラーの変え方でも確かめられます。

必要なパッケージを入れる

最低限のシステムと、設定ファイルを直すためのエディタ(ここではNeovim)を入れます。

pacstrap -K /mnt base base-devel linux linux-firmware neovim

-Kは、新しいシステム用に空のpacmanの鍵束(キーリング)を作る指定です。ダウンロードとインストールに少し時間がかかります。仮想マシンではlinux-firmwareは省いてもかまいません。

途中で「PGP signature」のエラーが出たときは、鍵束を新しくしてから、もう一度pacstrapを実行してください。

pacman -Sy archlinux-keyring

起動時のマウント設定(fstab)を作る

起動するときに、どのパーティションをどこにマウントするかをfstabに書き込みます。-UはUUIDで指定するという意味です。

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

中身を見て、3つのパーティションが入っているか確かめます。

cat /mnt/etc/fstab

新しいシステムの設定をする

新しいシステムに入る(chroot)

ここからは、インストールしたシステムの中に入って設定します。

arch-chroot /mnt

タイムゾーンと時計

タイムゾーンを日本時間にします。

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

ハードウェアの時計の設定を作ります。

hwclock --systohc

言語(ロケール)

/etc/locale.genを開き、en_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8の行の先頭にある#を消して保存します(Neovimでは:wqで保存して終わります)。

nvim /etc/locale.gen

保存したら、ロケールを作ります。

locale-gen

システムの言語を決めます。文字だけの画面(コンソール)のフォントは256字か512字までしか持てないため、日本語は表示できません(Arch Wiki「Linux console」)。ここではen_US.UTF-8にしておき、デスクトップ環境と日本語フォントを入れてからja_JP.UTF-8に変えると、文字化けしません。

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

コンソールのキーボード配列を、再起動後も日本語配列にします。

echo KEYMAP=jp106 > /etc/vconsole.conf

ホスト名

このPCの名前を決めます。ここではarchlinuxにしています。

echo archlinux > /etc/hostname

必要なら/etc/hostsにも書いておきます。

nvim /etc/hosts
127.0.0.1   localhost
::1         localhost
127.0.1.1   archlinux.localdomain   archlinux

rootのパスワード

passwd

ネットワーク(DHCP)

インストール用の環境と違い、入れたシステムでは、ネットワークは自分で用意する必要があります。ここではDHCPクライアントのdhcpcdを入れます。

pacman -S dhcpcd

NICの名前を確かめます。Hyper-Vではeth0になっていることが多いです。

ip a

起動したときに自動でIPアドレスをもらうようにします。eth0は、確かめたNICの名前に変えてください。

systemctl enable dhcpcd@eth0

ブートローダー(GRUB)を入れる

GRUBと、UEFIの起動項目を書き込むefibootmgrを入れます。

pacman -S grub efibootmgr

GRUBをEFIシステムパーティションに入れ、設定ファイルを作ります。

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

再起動してログインする

chrootから出て、マウントを外してから再起動します。再起動の前に、Hyper-Vの【メディア】からISOファイルを外しておくと、インストール用のISOではなく、入れたシステムから起動します。

exit
umount -R /mnt
reboot

ログイン画面が出たら、ユーザー名にroot、パスワードに先ほど決めたものを入れます。ログインできればインストールは完了です。

ログイン画面
ログイン画面

archinstallを使う場合

archinstallは、質問に答えていくだけでインストールまで進められる道具です。インストール用のISOに最初から入っています(Arch Wiki「archinstall」)。ISOで起動し、キーボード配列とネットワークを確かめたら、実行します。

archinstall

ISOが作られたあとにarchinstallの新しい版が出ている場合は、先に更新してから実行することもできます。

pacman -Sy archinstall
  • 手順を覚えたいなら手で入れる:パーティション、fstab、ブートローダーなどの仕組みが分かります。
  • 早く使い始めたいならarchinstall:画面の質問に答えるだけで入ります。
  • 初期設定がインストールガイドと違う:Arch Wikiでは、archinstallで入れたシステムは手で入れた場合と初期設定が違うので、質問するときはそのことと/var/log/archinstall/install.logを添えるよう案内されています。
  • rootのパスワードを空にしない:空にするとrootでログインできなくなります。sudoを使う設定にしない場合は、必ずパスワードを決めてください。
手で入れる場合とarchinstallを使う場合の比べ表。かかる手間、分かること・注意、向いている人

インストールが終わったら

まとめ

  • Hyper-Vの第2世代で仮想マシンを作り、セキュアブートを切ってISOで起動する
  • gdiskでEFI(1GiB)・swap(4GiB以上)・root(残り)の3つに分け、フォーマットしてマウントする
  • pacstrap -Kで入れ、fstab・タイムゾーン・ロケール(locale-genを忘れずに)・ホスト名・パスワード・ネットワークを設定する
  • GRUBを入れて再起動し、rootでログインできれば完了
  • 手順を覚えるより早く使いたいならarchinstallも使える

ログインできたら、まずpacman -Syuでシステム全体を最新にしてから、ユーザー作成やデスクトップ環境の準備に進んでください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

社内エンジニアとして、SREとセキュリティの仕事をしています。サーバーの構築や運用、クラウド環境の設計にも関わってきました。趣味はゲームと漫画・アニメ。

コメント

コメントする

目次