蔵風人

If you try it, it will be somehow & Simple is Best!


[ 最終更新日: 2026-06-14 15:46 閲覧回数: 6回 ]

ブートローダに systemd-boot を使う

systemd-boot は GRUB に比べて、複雑なことはできないものの、EFIからすぐに起動に入るので、起動が早いと感じている。それに systemd に含まれているので、新たなパッケージをインストールする手間がない(僅かだけど)のも利点かな。

1.bootctl のインストール

# bootctl install

2.起動エントリの指定

以下の2種類のファイルを作成

# nano /boot/loader/loader.conf

    default arch
    editor  no
# nano /boot/loader/entries/arch.conf [^1]

    title   Arch Linux
    linux   /vmlinuz-linux
    initrd  /amd-ucode.img[^2]
    initrd  /initramfs-linux.img
    options root=UUID=********-****-****-****-************[^3] rw

[^1] 現在は ArchLinux-fallback はデフォルトでは作成されない [^2] intelの場合は intel-ucode.img [^3] UUID は blkid コマンドで調査し、コピペすればよい

ここまでの作業で以下のディレクトリ構成となる

$ tree /boot


    /boot
    ├── amd-ucode.img
    ├── EFI
    │   ├── BOOT
    │   │   └── BOOTX64.EFI
    │   ├── Linux
    │   └── systemd
    │       └── systemd-bootx64.efi
    ├── initramfs-linux.img
    ├── loader
    │   ├── entries
    │   │   ├── arch.conf
    │   ├── entries.srel
    │   ├── keys
    │   ├── loader.conf
    │   └── random-seed
    └── vmlinuz-linux

3.自動更新

systemd-bootに更新があると、自動的に更新するようサービスを有効化します。

# systemctl enable systemd-boot-update
# nano /etc/pacman.d/hooks/80-secureboot.hook

    [Trigger]
    Operation = Install
    Operation = Upgrade
    Type = Path
    Target = usr/lib/systemd/boot/efi/systemd-boot*.efi

    [Action]
    Description = Signing systemd-boot EFI binary for Secure Boot
    When = PostTransaction
    Exec = /bin/sh -c 'while read -r i; do sbsign --key /boot/loader/keyfile.key --cert /boot/loader/certificate.crt "$i"; done;'
    Depends = sh
    Depends = sbsigntools
    NeedsTargets

インストール編に戻る