systemd-bootを使ってみる

systemd 220-2から、systemdに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

 

 

コメント

このブログの人気の投稿

fontconfigの設定

VLCでBlu-rayを再生

UEFIのブートオーダーを一時的に変更する