ArchLinuxのインストール(3つのブート方式ごとの設定)

  • 26
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

前置き

自分がArchをインストールした際詰まった箇所を見直すためと
自分自身とても詰まったブート方式の違いについて(64bitUEFI・32bitUEFI・BIOS)
これからArchLinuxをインストールする方の力に少しでも力に慣れたらと思い記事を書かせていただきました。

本文はブート方式ごとの設定を記述しており、各項目ごとに64bitUEFI・32bitUEFI・BIOSの設定があります。
自分の環境にあったものを選択してください。

初投稿で文章力もないので読みづらい文書となっていますがご了承ください

ArchLinuxをインストールする際Archの公式wikiのビギナーズガイドが優秀なのでこちらを見ながらの作業をおすすめします。

インストールディスクの作成

インストールディスクはUSBで作るほうが色々便利なのでUSBでの作り方のみ記述します。
PCのブート方式によって作成手順が違うので自分のPCのブート方式をよく調べてから作業してください。

USBインストールガイド

64bitUEFI・BIOSブート

Arch Linux Downloadsからisoの入手
・ddコマンドかRufusを使いisoファイルを書き込む

※/dev/sdx1 ではなく /dev/sdx を使い。x はあなたの使うデバイスに置き換える。

ddコマンド
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync

32bitUEFIブート

Arch Linux Downloadsからisoの入手
Rufusを使いisoファイルを書き込む ※USBラベルは「ARCHISO」に設定しておく
bootia32をダウンロードする
・書き込んだUSBのEFIディレクトリを開き、ダウンロードしたbootia32を配置
・/boot/grub/grub.cfgを作成し以下を記述 ※ディレクトリがない場合は作成

grub.cfg
menuentry 'Arch Linux i686'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/i686/vmlinuz noefi nomodeset archisobasedir=arch archisolabel=ARCHISO
echo 'Loading initial ramdisk ...'
initrd /arch/boot/i686/archiso.img
}
menuentry 'Arch Linux x86_64'{
echo 'Loading Linux core repo kernel ...'
linux /arch/boot/x86_64/vmlinuz noefi nomodeset archisobasedir=arch archisolabel=ARCHISO
echo 'Loading initial ramdisk ...'
initrd /arch/boot/x86_64/archiso.img
}

インストール作業

USBの準備ができたらいよいよインストールに入ります。現在2015年10月29日に記事を作成していますが
年数が経つとインストール方法が変わったりする場合があるのでArchインストールガイドをよくみながら作業をしてください。

起動画面にてどちらのアーキテクチャか選択できるので、自分のPCにあったほうを選択してください。
Boot Arch Linux (x86_64) 
Boot Arch Linux (i386)  ※32bitUEFIはこちらを選択

キーボードレイアウトの設定

Archが立ち上がったらデフォルトのキーレイアウトがUSになっているので変更

loadkeys jp106

インターネットの設定

無線

wifi-menu

有線
自動接続

※固定IPを設定する場合は下記参照
ネットワーク設定

パーティショニング

今回の構成
/dev/sda1 ・・・ /boot
/dev/sda2 ・・・ swap
/dev/sda3 ・・・ /root
/dev/sda4 ・・・ /home

※UEFIブートの場合、EFI System Partitionというものを作成しなければいけないのだが今回は/bootと統合して作成する

パーティション作成

partedの起動

parted /dev/sda
BIOSブートの場合
(parted)mklabel msdos
(parted)mkpart primary ext4 1MiB 100MiB
(parted)mkpart primary linux-swap 100MiB  2GiB
(parted)mkpart primary ext4 2GiB 10GiB
(parted)mkpart primary ext4 10GiB 100% 
(parted)q
UEFIブートの場合
(parted)mklabel gpt
(parted)mkpart ESP fat32 1MiB 513MiB
(parted)mkpart primary linux-swap 513MiB  2.5GiB
(parted)mkpart primary ext4 2.5GiB 10GiB
(parted)mkpart primary ext4 10GiB 100%
(parted)q 

※各パーティションのサイズは自分の環境に置き換えてください

作成後、パーティションを確認したい場合は下記コマンド実行

lsblk /dev/sdx

ファイルシステム作成

ファイルシステムとスワップ領域の作成を行う

BIOSブートの場合
mkfs.ext4 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4

UEFIの場合bootディレクトリはfat32で作成する

UEFIブートの場合
mkfs.vfat -F32 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4

インストール

ベースシステムのインストールになります。
マウントしないとインストールができないので以下を実行

マウント

mount /dev/sda3 /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home

ミラーリスト選択

nano /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on YYYY-MM-DD
##
#japan
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
...

・Ctrl+W で「japan」と入力しURLを検索
・Ctrl+K で Server 行を切り取り。
・PageUp キーで上にスクロール。
・Ctrl+U でリストの一番上にペースト。
・Ctrl+X で終了、保存するか聞かれたら、Y を押し Enter で上書き保存。

ベースシステムインストール

pacstrap -i /mnt base base-devel

fstab作成

genfstab -p -U /mnt > /mnt/fstab

システムの設定

インストールが完了したらいよいよそのシステムに入ります。

arch-chroot /mnt /bin/bash

ロケールの設定

locale.gen ファイルのコメントアウトを解除します

nano /etc/locale.gen
...
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
...
#ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
#ka_GE.UTF-8 UTF-8
...

解除後、以下を実行

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

コンソールフォントとキーマップ

nano /etc/vconsole.conf

以下を追記

KEYMAP=jp106
FONT=lat9w-16

タイムゾーンとハードウェアクロック

タイムゾーンの設定

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

ハードウェアクロックの設定

hwclock --systohc --utc

ホスト名

echo ホスト名 > /etc/hostname

同じホスト名を /etc/hosts に追加

nano /etc/hosts
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost ホスト名
::1   localhost.localdomain localhost ホスト名

ネットワークとパスワード

今回ネットワークの設定は有線の動的IPにします。
固定IPの場合はネットワーク設定を参照

ネットワークの設定

systemctl enable dhcpcd

パスワードの設定

passwd

GRUBのインストール

GRUBはそれぞれのブート方式で違うので順番に書いていきます

BIOSブート

pacman -S os-prober grub
grub-install --target=i386-pc --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

32bitUEFIブート

pacman -S grub dosfstools efibootmgr
grub-install --target=i386-efi --efi-directory=/boot --bootloader-id=grub --recheck
mkdir /boot/EFI/boot
cp /boot/EFI/grub/grubia32.efi /boot/EFI/boot/bootia32.efi
grub-mkconfig -o /boot/grub/grub.cfg

64bitUEFIブート

pacman -S grub dosfstools efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
mkdir /boot/EFI/boot
cp /boot/EFI/grub/grubx64.efi  /boot/EFI/boot/bootx64.efi
grub-mkconfig -o /boot/grub/grub.cfg

GRUBのインストールが無事終わったらシステムから出て再起動

exit
umount -R /mnt
reboot

無事起動したら成功です。
お疲れ様でした!!

追記

もしこれでインストールできないとき、ArchのブートUSBを使ってシステムに入る方法を記述しておきます。
この方法は結構色んなトラブルで使うのでもし起動できなくなってシステムをに入れなくなったらやってみてください

Archiso起動後以下コマンド実行

mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home
arch-chroot /mnt /bin/bash

※マウントはパーティションを分けてる場合全部やってください