Была такая старая традиция: если что-то получилось сделать, то лучше это описать, чтобы потом не искать самому, поэтому создаю эту тему.
Очень прошу не задавать вопросов вроде: “для чего это нужно”?! Ответ на такой вопрос всегда один: если Вы не знаете, зачем это, то оно Вам не нужно.
Варианты старта LiveIso (Ventoy не рассматривается) из grub2:
- Старт из grub2 образа iso с диска.
- Старт из образа iso, записанного на раздел диска с помощью dd
(пример команды терминала: dd if=image.iso of=/dev/sdX bs=512) - Старт системы из предварительно распакованного iso.
- В первом случае в /boot/grub/grub.cfg добавляется запись из grub.cfg Live диска:
(Делаем loop устройство из iso и стартуем)
menuentry "ISO Calculate Linux Desktop 23 Xfce LiveDVD" {
load_video
set gfxpayload=1920x1200x24,1920x1200,1024x768
insmod gzio
insmod part_gpt
insmod btrfs
set root =(hd0,gpt2)
set isofile="/home/guest/iso/cldx-20240215-x86_64.iso"
loopback loop (hd0,gpt2)/home/guest/iso/cldx-20240215-x86_64.iso
set root=loop
linux /boot/vmlinuz root=live iso-scan/filename=$isofile init=/linuxrc rd.live.squashimg=livecd.squashfs nodevfs noresume splash
initrd /boot/initrd
}
-
Второй случай.
ISO образ сначала копируется с помощью dd на раздел диска.
В grub2 в качестве loop уже указывается раздел диска, а не образ iso. -
Случай номер три. ISO монтируется в любой раздел.
Далее монтируется image.squashfs или livecd.squashfs, содержимое копируется на подготовленный раздел. Запись в grub2 уже обычная, без loop.
В этом случае требуется исправить chmod и chown директории пользователя в /home/.
P.S.
Для дополнительной подстраховки (если не работает grub2) можно создать небольшой раздел c efi (важно для устройств на основе uefi , этот разделе обычно в файловой системе fat32 и имеет флаг boot,esp). В этот раздел можно положить загрузчик первой стадии /efi/boot/bootia32.efi или/и 64. Некоторые старые устройства работают только с 32-битной версией.