UEFI-GPT環境でArch Linuxをインストールしました
2週間ほど前にBIOS-GPT環境でArchLinuxをインストールしたのですが、もともとPCの調子が悪かったのでCPUとマザボとメモリを新しくしたら、 Archが起動しなくなってしまったので、新しい環境でも起動するように再インストールをしました。
BIOSの設定次第では元のままでも起動したかもしれませんが、せっかくUEFIBootできる環境になったので、UEFI-GPT環境でのインストールをしてみました。
主な相違点は、
と言ったところです。
必要なところ以外はすべて過去の記事と同じ手順でインストールを行いました。
環境
- CPU : Pentium G3258
- RAM : 16GB(DDR3-1333)
- M.B. : ASUS Z87 PRO (V EDITION)
- SSD : 128GB
- GPU : GeForce 9800 GTX
余談ですが、G3258は4.2GHzにOCして常用しています。
安定稼働していて、UnixBenchのスコアで約30%アップしました。
手順
BIOSの設定
- Secure Bootを無効(Other OS)に
- CSMの各パラメータ設定で、それぞれUEFIを優先的に使うように設定
- Fast Bootを一時的に無効に
これで、起動して最初のメニューが黒背景に白文字の無骨なものであることを確認し、
# efivar -l
でドバーっといろいろよくわからないもの(UEFI変数)を出力してくれたらUEFIBootできています。
パーティション
今回は以下のように区切りました。
ESP*1は512MBが推奨されているようです。
/dev/sda1 => ESP 512MB /dev/sda2 => /boot 128MB /dev/sda3 => /var 16GB /dev/sda4 => / 残り
パーティショニングします。
# cgdisk /dev/sda
ESPはtypeをef00
にします。それ以外はデフォルトの8300
でOK
1007KB余りますが気にしない。
フォーマットします。
# mkfs.ext4 /dev/sda2 # mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda4 // ESPはfat32かvfat32でフォーマットする必要があります。 # mkfs.vfat -v -F 32 /dev/sda1
マウント
ESPもマウントすることに注意してください。 マウントする順番にも気をつけてください。
# mount /dev/sda4 /mnt # mkdir /mnt/boot # mount /dev/sda2 /mnt/boot # mkdir /mnt/boot/efi # mount /dev/sda1 /mnt/boot/efi # mkdir /mnt/var # mount /dev/sda3 /mnt/var
pacstrap
ミラーサーバの設定をしたあと、ベースシステムとブートローダ関連のインストールをします。
# pacstrap /mnt base base-devel grub dosfstools efibootmgr
このあとgenfstab
してchroot
して基本的な設定をします(ここでは省略)。
ブートローダのインストールと設定
grub-install
する前にboot/efi/EFI
を作る。
# mkdir /boot/efi/EFI # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --boot-directory=/boot/efi/EFI --recheck --debug # grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
このあと、アンマウントして再起動をします。
その後の手順は以前と変わりません。
参考
大変参考になりました。ありがとうございました。
無断リンクで申し訳ありません。
無断で載せないで欲しい。等ありましたらTwitter(@shuymn)まで。