ArchLinuxでsystemd-bootを使いたい人のため

なんかgrubのinitで時々躓いている人がいるのでsystemd-bootのみの使用をやりましょー。
これはさすが公式[https://wiki.archlinux.jp/index.php/Systemd-boot]です。
上のリンクを見てやったほうがいいと思う。(これは公式を読むのめんどい人用ね)
ここ(左ハイパーリンク)の部分から下のexitまでのコマンドまでを今回書くコマンドに置き換えます。

前提

root=/dev/sda1,boot=/dev/sda2 /dev/sda2はEFIパーティションである。(†Ⅰ)

方法

まずここで

bootctl --path=/boot install
bootctl update
nano /boot/loader/loader.conf
#timeoutなんちゃら
console-mode keep
default 英数字の羅列

などが記述されている可能性があります。 その場合,一番上の行から

default arch
timeout 5
editor 0

と記述してください それ以外の既存の文字列は先頭に#を挿入してコメントアウトするか editor 0のあとに一行改行を挟むなどしたらいいと思います。 詳しいオプションはloader.conf(5)[https://jlk.fjfi.cvut.cz/arch/manpages/man/loader.conf.5.html]をご参照ください したらばCtrl+X,Y,Enterで保存して終了しましょう。 次に

blkid -s PARTUUID -o value /dev/sda1

ここでなんか出てくるはずです。 英数字とハイフンの羅列が, で上の羅列を見ながら

echo 英数字とハイフンの羅列  >> /boot/loader/entries/arch.conf

メモしなくていいよやったね。 はい,次へGO

nano /boot/loader/entries/arch.conf

羅列が書いてあるはずです。

titleタブArch Linux
linux    /vmlinuz-linux
initrd    /initramfs-linux.img
options    root=PARTUUID=さっきの羅列 rw

と書き込みましょう。 もしもbootctl installが失敗してEFIブートエントリが作成されてない場合は

pacman -S efibootmgr
efibootmgr -c -d /dev/sda -p 2 -l "\EFI\systemd\systemd-bootx64.efi" -L "Linux Boot Manager"

これでどうぞ。 おわり。 じゃないよ! 注意点がいくつかあるんですよ。 grubとは違ってsystemd-bootの更新が合った時に手動でやんなきゃいけないんです。

bootctl --path=/dev/sda2 update

かAURのsystemd-boot-pacman-hookを使おう。 [https://wiki.archlinux.jp/index.php/Systemd-boot#.E8.87.AA.E5.8B.95.E3.81.A7.E6.9B.B4.E6.96.B0] 今度こそ終わりです。 †Ⅰ 別に他のパーティションでmkfs.vfatしたものでも正常にインストールされる。(cfdiskなどでtypeを設定する必要もある)

タイトルとURLをコピーしました