0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arch Linuxのインストール方法(Windows)

Last updated at Posted at 2025-02-07

Arch Linuxの記事はシリーズになっています。
記事を順番に読み進めると、Arch Linuxをいい感じにセットアップできます。

はじめに

Windowsでパーティションを切ってArch Linuxをインストールしたので、その手順を紹介します。

環境

  • PC: ThinkPad T480
  • プロセッサ: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz 1.90 GHz
  • 実装 RAM: 8.00 GB (7.84 GB 使用可能)
  • システムの種類: 64 ビット オペレーティングシステム、x64 ベース プロセッサ
  • OS: Windows 10 Pro

必要な物

  • WindowsがインストールされたPC
    • わからなかったら中古でThinkPadを買うのがオススメです
  • USBメモリ
  • インターネット環境

注意

基本的には以下のインストールガイド通りに作業するだけです。
英語版をメインで読みつつ、日本語版を併用して読むのがオススメです。

Windowsのボリューム縮小

Arch Linuxのインストール領域を確保するため、Cドライブのボリュームを縮小します。
本記事で詳細な手順は省略しますが、簡単に紹介します。

左下のWindowsを右クリック > コンピュータの管理 > 記憶域 > ディスクの管理

私のPCの容量は256GBで、半分の128GB(128 * 1,024 = 131,072)を解放します。

IMG_1732.jpg

未割り当ての領域が「128.00 GB」になったら成功です。

IMG_1733.jpg

Arch Linuxのインストール手順

Arch Linuxのインストール手順です。

1 インストールの準備

1.1 インストールメディアの入手

適当なミラーサイトからISOファイルをダウンロードします。

64ビットの場合、ファイル名は archlinux-x86_64.iso となります。

ISOファイルはArch LinuxをインストールするためのArch Linuxで、USBメモリに焼いて使います。
PCにインストールするArch Linuxはインターネット経由でダウンロードします。

1.2 署名の検証

ISOファイルが悪意あるイメージに差し替えられていないか確認します。
スキップできますが、検証することが推奨されています。

1.3 インストールメディアの準備

USBメモリにArch Linuxインストールイメージを焼きます。
USBメモリはウイルスの感染経路としてリスクが高いため、新品を使うのが望ましいです。

以下のページから適当なツールをインストールします。

私は「1.2.2 Using win32diskimager」をインストールしました。

あとはツールの手順に従って焼きます。

win32diskimagerの場合、「Image File」にISOファイルを選択し、USBメモリを挿して選択して「Write」を押下すればOKです。

USBメモリは挿しっぱなしにしておきます。

1.4 ライブ環境の起動

Arch Linuxのライブ環境を起動します。

Arch Linuxインストールイメージはセキュアブートに対応していないため、無効にする必要があります。
有効になっている場合、BIOSからSecure BootをDisabledにしてください。

WindowsでBIOSを起動するには完全シャットダウンしてから起動する必要があります。
完全シャットダウンはShiftキーを押しながらシャットダウンを押下します。

ThinkPad T480の場合、完全シャットダウンして再起動し、ロゴが表示されているときにEnterキーを押下するとメニューが表示されるので、そこでF1キーを押下することでBIOSが起動します。

BIOSでインストールメディアが含まれているデバイスから起動するよう指定します。
Startup > Boot で「1. USB HDD」「2. Windows Boot Manager」の順に並べます。3以降の順番は問いません。

IMG_1730.jpg

F10キーを押下し、保存して再起動します。

ブートローダーのメニューが表示されたら、一番上の「Arch Linux install medium」を選択してEnterキーを押下します。

Rootユーザーでログインされ、Zshのシェルプロンプトが表示されたらライブ環境の起動に成功しています。

1.5 コンソールのキーボードレイアウト

日本語配列のキーボードを使っている場合、キーボードレイアウトを日本語に設定します。

利用できるキーマップを確認します。

# ls /usr/share/kbd/keymaps/**/*.map.gz

jp106 が存在する場合、それを指定します。

# loadkeys jp106

コンソールフォントが小さいと感じる場合、 ter-132b を指定します。

# setfont ter-132b

1.6 起動モードの確認

起動モードを確認します。

# cat /sys/firmware/efi/fw_platform_size
64

64 が出力された場合、システムはUEFIモードかつ64ビットで起動しています。

1.7 インターネットへの接続

ライブ環境でインターネットへ接続します。

Wi-Fiの場合、 iwctl コマンドを使います。

# iwctl

デバイスの一覧を出力して確認します。

# device list

Wi-Fiへ接続します。

# station wlan0 scan
# station wlan0 get-networks
# station wlan0 connect {SSID}

接続したらCtrl-dで抜けます。

接続できたか ping コマンドで確認します。

# ping www.google.com

pingが返ってきたらネットワークの接続に成功しています。
Ctrl-cで抜けます。

1.8 システムクロックの更新

タイムゾーンを設定します。
日本の場合は Asia/Tokyo を指定します。

# timedatectl set-timezone Asia/Tokyo

1.9 パーティション

最初に確保した領域にパーティションを作成します。

パーティションを確認します。

# fdisk -l

私の場合、 /dev/nvme0n1p3 のendと /dev/nvme0n1p4 のstartの間の領域が飛んでいるので、そこにパーティションを作成します。

fdisk /dev/nvme0n1

mキーを押下するとヘルプが見れます。

Fキーを押下すると空いているスペースが見れます。

nキーを押下し、新しいパーティションを作成します。
基本的にはデフォルトで問題ないのでEnterキーを3回押下します。

すでに署名が含まれている場合は削除していいと思います。

Command (m for help): n
Partition number (5-128, default 5): 
First sector (229838848-500118158, default 229838848): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (229838848-500118158, default 500118158): 

Created a new partition 5 of type 'Linux filesystem' and of size 128 GiB.
Partition #5 contains ext4 signature.

Do you want to remove the signature? ([Y]es/[N]o): Y

The signature will be removed by a write command.

pキーを押下して新しいパーティションが作成されていることを確認します。

wキーを押下してテーブルをディスクに書き込んで終了します。

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

パーティションを適切なファイルシステムでフォーマットします。

以下のコマンドを実行し、新しいパーティションのFSTYPEが空なことを確認します。

# lsblk -f

本記事ではext4ファイルシステムでフォーマットします。

# mkfs.ext4 /dev/nvme0n1p5

再度以下のコマンドを実行し、新しいパーティションのFSTYPEが ext4 になっていることを確認します。

# lsblk -f

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

新しくパーティションを作成したボリュームを /mnt にマウントします。

# mount /dev/nvme0n1p5 /mnt

2 インストール

2.1 ミラーの選択

ミラーリストのファイルを開き、 asia.mirror.pkgbuild.com がドメインのサーバーを一番上に移動して保存します。
他のドメインでも問題ありませんが、日本に近そうなドメインを選択するとインストールが早くなるかもしれません。

# vim /etc/pacman.d/mirrorlist
/etc/pacman.d/mirrorlist
+ Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch
Server = https://repo.jing.rocks/archlinux/$repo/os/$arch
Server = https://arch.mirror.constant.com/$repo/os/$arch
- Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch

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

必須パッケージをインストールします。

# pacstrap -K /mnt base linux linux-firmware

ネットワークにもよりますが、少し時間が掛かります。

これで指定したボリュームにArch Linuxがインストールされました。

3 システムの設定

3.1 fstab の作成

fstabを作成します。

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

デーモンの再読み込み

fstabが更新されたので、デーモンを再読み込みします。

# systemctl daemon-reload

EFIシステムパーティションのマウント

EFIシステムパーティションをマウントします。

以下のコマンドを実行し、EFIシステムパーティションがあるか確認します。

# fdisk -l

私は /dev/nvme0n1p1 にEFIシステムパーティションがありました。Windows 10を使っていると基本的にはあるようです。
USBメモリにもEFIシステムパーティションがあるため、間違えないように注意です。私の場合は /dev/sda2/dev/sdb2 にあした。

/dev/nvme0n1p1/mnt/boot/esp にマウントします。

# mkdir /mnt/boot/esp
# mount /dev/nvme0n1p1 /mnt/boot/esp

エラーメッセージが表示されなければ成功です。

3.2 chroot

ルートを変更します。

# arch-chroot /mnt

これでUSBメモリに焼いたArch Linuxから、PCにインストールしたArch Linuxへ操作の対象が変わりました。

3.3 タイムゾーン

タイムゾーンを Asia/Tokyo に設定します。

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

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

以下のパッケージをインストールします。

Arch Linuxは pacman というパッケージマネージャーでパッケージを管理しており、 -S を付けてインストールします。

# pacman -Sy # ローカルパッケージリポジトリを更新する
# pacman -S vim # テキストファイルの編集に必要
# pacman -S iwd # インターネット接続に必要
# pacman -S dhcpcd # DHCPによるIPアドレスの自動割り当てに必要
# pacman -S terminus-font # ter-132bなどのフォント

iwddhcpcd は自動で起動するように設定します。

# systemctl enable iwd
# systemctl enable dhcpcd

3.4 ローカリゼーション

locale.gen を編集します。

# vim /etc/locale.gen

en_US.UTF-8 UTF-8ja_JP.UTF-8 UTF-8 をコメントインして保存します。

locale.gen
- #en_US.UTF-8 UTF-8
+ en_US.UTF-8 UTF-8
...
- #ja_JP.UTF-8 UTF-8
+ ja_JP.UTF-8 UTF-8

locale-gen コマンドを実行してロケールを生成します。

# locale-gen
Generating locales...
  en_US.UTF-8... done
  ja_JP.UTF-8... done
Generation complete.

ロケールの設定ファイルを作成します。

# vim /etc/locale.conf

LANG 環境変数を設定します。

/etc/locale.conf
+ LANG=en_US.UTF-8

ja_JP.UTF-8 を指定すると文字化けするため、この段階で日本語化はしないほうがいいです。

コンソールキーマップを設定している場合、 vconsole.conf ファイルを作成して変更を永続化します。

# vim /etc/vconsole.conf

KEYMAP を設定して保存します。

/etc/vconsole.conf
+ KEYMAP=jp106

フォントの変更を永続化したい場合、 FONT を設定します。

/etc/vconsole.conf
KEYMAP=jp106
+ FONT=ter-132b

3.5 ネットワーク設定

ホストネームファイルを作成し、ホスト名を入力して保存します。

# vim /etc/hostname

私は uhoost としました。

/etc/hostname
+ uhoost

3.6 Initramfs

initramfs を再生成します。

# mkinitcpio -P

3.7 Root パスワード

ルートパスワードを設定します。

# passwd
New password:
Retype new password:
passwd: password updated successfully

3.8 ブートローダー

適当なブートローダーを選択し、インストールします。

本記事ではGRUBをインストールします。

2 UEFI システム
2.1 インストール

grubefibootmgr をインストールします。

# pacman -S grub
# pacman -S efibootmgr

GRUB EFIアプリケーションとモジュールをインストールします。

# grub-install --target=x86_64-efi --efi-directory=/boot/esp --bootloader-id=GRUB
Installing for x86_64-efi platform.
Installation finished. No error reported.

EFIシステムパーティションのUUIDを確認します。

# lsblk --fs

Windowsを検出するため、 40_custom を編集します。
{UUID} には先ほど確認した値を指定します。

# vim /etc/grub.d/40_custom
40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to ad after this comment. Be careful not to change
# the 'exec tail' line above.
+ if [ "${grub_platform}" == "efi" ]; then
+ 	menuentry "Microsoft Windows 10 UEFI/GPT" {
+ 		insmod part_gpt
+ 		insmod fat
+ 		insmod chain
+ 		search --no-floppy --fs-uuid --set=root {UUID}
+ 		chainloader /EFI/Microsoft/Boot/bootmgfw.efi
+ 	}
+ fi

grub-mkconfig コマンドを実行し、GRUBの設定ファイルを生成します。

# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

40_custom にエラーがあると失敗するので注意です。

4 再起動

exit でPCにインストールされたArch Linuxを抜け、 reboot を実行して再起動します。

BIOSのStartup > Bootで1.がGRUBになっていることを確認します。

GRUBが起動し、一番上を選択してArch Linuxが起動したら成功です。
シャットダウンは shutdown -h now で行います。

トラブルシューティング

エラーとその対応方法です。

マウントポイントがなくてマウントに失敗する

マウントポイントを作成するだけです。

# mount /dev/nvme0n1p1 /mnt/boot/esp
mount: /mnt/boot/esp: mount point does not exist.
       dmesg(1) may have more information after failed monut system call.

# mkdir /mnt/boot/esp

fstabが変更されていてマウントに失敗する

エラーメッセージの通りにコマンドを実行するだけです。

# mount /dev/nvme0n1p1 /mnt/boot/esp
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.

# systemctl daemon-reload

おわりに

これでArch Linuxがインストールされました。
慣れるとすぐにクリーンインストールできるようにもなります。

いろいろカスタマイズしたりして、最高のArch Linuxライフを送りましょう :relaxed:

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?