Загрузка Live.ISO из Grub2
Grub Customizer
В линукс есть "Grub Customizer", там нажать "новый пункт", ввести заголовок, выбрать тип загрузки "Прочее" и в окошке вставить код.
Если без "Grub Customizer", то открываем grub.cfg и добавляем
menuentry "заголовок меню"{
# тут наш многострочный блок кода
}
Чтобы не перезагружаться по нескольку раз можно делать несколько тестовых пунктов с разными параметрами и смотреть каждый на предмет изменений загрузки, а в имени пункта указывать основной критерий изменения, например некую опцию загрузки, например "MX Linux lang=RU" и т.д. Небольшие исправления во время теста можно вносить редактируя пункт на загрузке (e - редактировать, Ctrl+x выполнить отредактированный пункт)
Пункты меню появляются здесь "/etc/grub.d/proxifiedScripts/custom", и тут надо добавлять классы (--class mint, и т.д.)
Используйте defraggler, чтобы дефрагментировать файл-образ-iso (только файл). Если выдаст ошибку, то проверить файловую систему chkdsk`ом
Смысл всего этого
1. Я использую загрузку на стационарной системе, и это упрощает загрузку образов не тратя очередную флешку. Флешки остаются рабочими с проверенными загрузками Linux и Windows для установки систем.
2. Для клиента это может быть бесплатная и легальная фича, при поломке системы пользователь ещё может спокойно выйти в интернет.
Загрузка с флешки из Grub2
set root=(hd1)
chainloader +1
или
set root=(hd1,1)
chainloader +1
У меня при перезагрузке флешку надо передёргивать иначе загрузочное меню не видит флешку. А так же надо нажать F12 после пика системного динамика, чтобы вызвать меню. Но с этими пунктами проскакивание времени для F12 не критично.
Загрузка Grub4Dos из Grub2
menuentry "Grub4Dos" {
search --set=root --file /grldr
ntldr /grldr
# linux16 /boot/grub4dos/grub.exe --config-file=/menu.lst
}
Вывод информации о дисках
echo "[---------------- Информация о дисках системы ----------------]"
ls -l
echo ""
echo "Нажмите клавишу ESC для возврата в главное меню..."
sleep --interruptible 9999
С учётом этой информации можно править пункт загрузки клавишей "e" и выполнить изменённый пункт с Ctrl+X
Вывод информации о переменных
set isofile="/boot/live.iso"
probe -u $root --set=imgdevuuid
set imgdevpath="/dev/disk/by-uuid/$imgdevuuid"
echo "[---------------- Информация переменных ----------------]"
echo "isofile="$isofile
echo "uuid="$imgdevuuid
echo "devpath="$imgdevpath
echo ""
echo "Нажмите клавишу ESC для возврата в главное меню..."
sleep --interruptible 9999