前回、ブートローダー目的で USB メモリに導入した Slax Linux から、SSD に導入済みの他 Linux の起動選択をできるように修正します。
※この記事では Debian をブートローダーに追記します。
なお、USB メモリ階層構造は下記のとおり。
※上位に記載されている slax ディレクトリは、slax_usb 直下。(詳細は前回記事参照)
Internals - Slax Linux
slax
├─── boot
│ ├─── isolinux.bin
│ ├─── syslinux.cfg
│ ├─── initrfs.img
│ ├─── vmlinuz
│ └─── ...
├─── changes
├─── rootcopy
├─── modules
│ ├─── 01-core.sb
│ ├─── 02-xorg.sb
│ ├─── 03-desktop.sb
│ ├─── 04-chromium.sb
│ └─── ...
具体的には、/slax_usb/slax/boot/syslinux.cfg を編集します。
設定は、下記が大変参考になりました。
LABEL arch LINUX ../vmlinuz-linux APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw INITRD ../initramfs-linux.img
ちなみに、下記は私の環境のサンプルです。(Debian)
LABEL debian
MENU LABEL Debian GNU/Linux 13 for amd64
KERNEL /EFI/Boot/vmlinuz-6.1.0-41-amd64
APPEND initrd=/EFI/Boot/initrd.img-6.1.0-41-amd64 root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
指定している 2つのファイル(/EFI/Boot/vmlinuz-6.1.0-41-amd64, /EFI/Boot/initrd.img-6.1.0-41-amd64)は、対象 OS のファイルを Slax Linux の USBメモリにコピーしています。
今回は、Debian の /boot 配下のファイルをコピー。
$ ls -1 slax_usb/EFI/Boot/ | grep amd64
initrd.img-6.1.0-41-amd64
vmlinuz-6.1.0-41-amd64
これをいれて、Slax 起動時に Esc キーでブート選択に遷移すると、Debian が起動されます。