systemd-bootを使ってみる
systemd 220-2から、systemdにsystemd-bootというブートローダーが組み込まれていたようなので使ってみます。
インストール
これだけでシステムからsystemd-bootが起動できるようになるので、systemd-bootからOSを起動するためにエントリを追加します。
まず、パーティションのPARTUUIDを確認
Arch Linuxがインストールされているのはsdb2なのでこのPARTUUIDをメモしておきます。
エントリの作成
エントリは /boot/loader/entries/ に *.conf というファイルをを作成することで追加できます。
titleには表示するOS名、
optionsにはカーネルパラメーターを記述します。
options は、 root=/dev/sdb2 のように書いても良いのですが、HDDの増設などで順番が変わってしまうので、PARTUUIDを指定すると安心です。
systemd-bootの設定ファイルは /boot/loader/loader.conf です。
タイムアウトなどの設定ができますが、デフォルトのままで大丈夫です。
UEFIから Linux Boot Manager を選択するとsystemd-bootで起動することができます。
pacmanから新しいsystemdが降ってきても、インストールしたsystemd-bootは自動で更新してくれないので手動で更新する必要があります。
GRUB2では対応していなかったFastboot、Windows8 Featureの設定がsystemd-bootでは対応しており、起動がかなり早くなりました。
systemd-bootはUEFI環境のみの対応で、BIOS環境には非対応です。
大丈夫そうなのでGRUB2を削除してsystemd-bootに乗り換えます。
インストール
$ sudo bootctl install
これだけでシステムからsystemd-bootが起動できるようになるので、systemd-bootからOSを起動するためにエントリを追加します。
まず、パーティションのPARTUUIDを確認
$ sudo blkid
/dev/sda1: LABEL="M-eM-^[M-^^M-eM->M-)" UUID="E4621FCA621FA07A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="6136c59b-fe96-49b5-ab86-5cff5c48e68e"
/dev/sda2: UUID="B820-2606" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="a2bb06bb-c250-43bc-be56-55b613d15406"
/dev/sda4: UUID="1A1A26A01A2678C1" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="d5817f72-51a4-4f9b-99bf-edd6e3bd5ad5"
/dev/sda5: UUID="144E83204E82FA2E" TYPE="ntfs" PARTUUID="31c134ab-3af0-43be-ad35-7678c958d98e"
/dev/sdb1: UUID="ECEF-30A2" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="4c16c636-82b0-4209-9fb5-b26ef6ad9cc4"
/dev/sdb2: UUID="4e3f9eba-36b9-41ce-b8ea-f6d75c642a7c" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="c7693c17-4865-4b2e-90f6-f6bd99c7891f"
/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="8962f78b-a00d-4460-8e40-d90acbdd7fff"
/dev/sde1: UUID="C245-1C3B" TYPE="vfat" PARTUUID="000bd905-01"
Arch Linuxがインストールされているのはsdb2なのでこのPARTUUIDをメモしておきます。
エントリの作成
エントリは /boot/loader/entries/ に *.conf というファイルをを作成することで追加できます。
$ sudo vim /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=c7693c17-4865-4b2e-90f6-f6bd99c7891f rw quiet
titleには表示するOS名、
optionsにはカーネルパラメーターを記述します。
options は、 root=/dev/sdb2 のように書いても良いのですが、HDDの増設などで順番が変わってしまうので、PARTUUIDを指定すると安心です。
systemd-bootの設定ファイルは /boot/loader/loader.conf です。
タイムアウトなどの設定ができますが、デフォルトのままで大丈夫です。
UEFIから Linux Boot Manager を選択するとsystemd-bootで起動することができます。
pacmanから新しいsystemdが降ってきても、インストールしたsystemd-bootは自動で更新してくれないので手動で更新する必要があります。
$ sudo bootctl update
GRUB2では対応していなかったFastboot、Windows8 Featureの設定がsystemd-bootでは対応しており、起動がかなり早くなりました。
systemd-bootはUEFI環境のみの対応で、BIOS環境には非対応です。
大丈夫そうなのでGRUB2を削除してsystemd-bootに乗り換えます。
$ sudo pacman -R grub $ efibootmgr BootCurrent: 0003 Timeout: 1 seconds BootOrder: 0003,0000,0001,000C,0008,000B,000A Boot0000* Windows Boot Manager
Boot0001* GRUB Boot0003* Linux Boot Manager
Boot0008* UEFI: Built-in EFI Shell Boot000A CD/DVD Drive Boot000B Hard Drive
Boot000C* UEFI OS $ sudo efibootmgr -b 0001 -B $ sudo rm -Rf /boot/EFI/grub
コメント
コメントを投稿