239 lines
6.6 KiB
INI
239 lines
6.6 KiB
INI
|
if [ -s $prefix/grubenv ]; then
|
||
|
set have_grubenv=true
|
||
|
load_env
|
||
|
fi
|
||
|
|
||
|
if [ "${next_entry}" ] ; then
|
||
|
set default="${next_entry}"
|
||
|
set next_entry=
|
||
|
save_env next_entry
|
||
|
set boot_once=true
|
||
|
else
|
||
|
set default="0"
|
||
|
fi
|
||
|
|
||
|
if [ x"${feature_menuentry_id}" = xy ]; then
|
||
|
menuentry_id_option="--id"
|
||
|
else
|
||
|
menuentry_id_option=""
|
||
|
fi
|
||
|
|
||
|
export menuentry_id_option
|
||
|
|
||
|
if [ "${prev_saved_entry}" ]; then
|
||
|
set saved_entry="${prev_saved_entry}"
|
||
|
save_env saved_entry
|
||
|
set prev_saved_entry=
|
||
|
save_env prev_saved_entry
|
||
|
set boot_once=true
|
||
|
fi
|
||
|
|
||
|
function savedefault {
|
||
|
if [ -z "${boot_once}" ]; then
|
||
|
saved_entry="${chosen}"
|
||
|
save_env saved_entry
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
function recordfail {
|
||
|
set recordfail=1
|
||
|
if [ -n "${have_grubenv}" ]; then
|
||
|
if [ -z "${boot_once}" ]; then
|
||
|
save_env recordfail
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
function load_video {
|
||
|
if [ x$feature_all_video_module = xy ]; then
|
||
|
insmod all_video
|
||
|
else
|
||
|
insmod efi_gop
|
||
|
insmod efi_uga
|
||
|
insmod ieee1275_fb
|
||
|
insmod vbe
|
||
|
insmod vga
|
||
|
insmod video_bochs
|
||
|
insmod video_cirrus
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
if [ x$feature_default_font_path = xy ] ; then
|
||
|
font=unicode
|
||
|
else
|
||
|
insmod part_msdos
|
||
|
insmod ext2
|
||
|
set root='hd0,msdos1'
|
||
|
if [ x$feature_platform_search_hint = xy ]; then
|
||
|
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 YOUR_UUID
|
||
|
else
|
||
|
search --no-floppy --fs-uuid --set=root YOUR_UUID
|
||
|
fi
|
||
|
font="/usr/share/grub/unicode.pf2"
|
||
|
fi
|
||
|
|
||
|
if loadfont $font ; then
|
||
|
set gfxmode=auto
|
||
|
load_video
|
||
|
insmod gfxterm
|
||
|
set locale_dir=$prefix/locale
|
||
|
set lang=en_IN
|
||
|
insmod gettext
|
||
|
fi
|
||
|
|
||
|
terminal_output gfxterm
|
||
|
insmod part_msdos
|
||
|
insmod ext2
|
||
|
|
||
|
insmod gfxmenu
|
||
|
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/dejavu_32.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/dejavu_sans_12.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/dejavu_sans_14.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/dejavu_sans_16.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/dejavu_sans_24.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/dejavu_sans_48.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/terminus-12.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/terminus-14.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/terminus-16.pf2
|
||
|
loadfont ($root)/boot/grub/themes/Stylish/terminus-18.pf2
|
||
|
|
||
|
insmod jpeg
|
||
|
insmod png
|
||
|
|
||
|
set theme=($root)/boot/grub/themes/Stylish/theme.txt
|
||
|
export theme
|
||
|
|
||
|
if [ "${recordfail}" = 1 ] ; then
|
||
|
set timeout=30
|
||
|
else
|
||
|
if [ x$feature_timeout_style = xy ] ; then
|
||
|
set timeout_style=menu
|
||
|
set timeout=10
|
||
|
# Fallback normal timeout code in case the timeout_style feature is
|
||
|
# unavailable.
|
||
|
else
|
||
|
set timeout=10
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
#== BEGIN Menu Colors =========================#
|
||
|
set menu_color_normal=white/black
|
||
|
set menu_color_highlight=black/light-gray
|
||
|
#== END Menu Colors ===========================#
|
||
|
|
||
|
if [ "${grub_platform}" = "efi" ]; then rmmod tpm; fi
|
||
|
|
||
|
submenu "Linux" --class linux {
|
||
|
|
||
|
regexp -s rootdevice '(.*),' $root
|
||
|
set root="(${rootdevice},2)"
|
||
|
|
||
|
submenu "Solus" --class solus {
|
||
|
|
||
|
menuentry "Solus 4.5 XFCE" --class solus {
|
||
|
set iso_path=/Solus-4.5-XFCE-Beta.iso
|
||
|
search --no-floppy --file ${iso_path} --set
|
||
|
|
||
|
live_args="for-dracut --> iso-scan/filename=${iso_path}"
|
||
|
iso_args="initrd=/boot/initrd.img root=live:CDLABEL=SolusLiveXFCEBeta ro rd.luks=0 rd.md=0 rd.live.overlay.overlayfs=1 quiet splash --"
|
||
|
|
||
|
loopback loop ${iso_path}
|
||
|
|
||
|
linux (loop)/boot/kernel ${live_args} ${iso_args}
|
||
|
initrd (loop)/boot/initrd.img
|
||
|
}
|
||
|
}
|
||
|
|
||
|
submenu "Arch Linux" --class arch {
|
||
|
|
||
|
menuentry "Arch Linux 011024" --class arch {
|
||
|
set isofile="/archlinux-2024.10.01-x86_64.iso"
|
||
|
set dri="free"
|
||
|
search --no-floppy -f --set=root $isofile
|
||
|
probe -u $root --set=uuid
|
||
|
loopback loop $isofile
|
||
|
linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=/dev/disk/by-uuid/$uuid img_loop=$isofile quiet splash
|
||
|
initrd (loop)/arch/boot/x86_64/initramfs-linux.img
|
||
|
}
|
||
|
}
|
||
|
|
||
|
submenu "Debian" --class debian {
|
||
|
|
||
|
menuentry "Debian 12.7 Install GTK" --class debian {
|
||
|
set isofile="/debian-12.7.iso"
|
||
|
loopback loop $isofile
|
||
|
linux (loop)/install.amd/vmlinuz vga=788 --- quiet splash
|
||
|
initrd (loop)/install.amd/gtk/initrd.gz
|
||
|
}
|
||
|
|
||
|
menuentry "Debian 12.7 Install Terminal" --class debian {
|
||
|
set isofile="/debian-12.7.iso"
|
||
|
loopback loop $isofile
|
||
|
linux (loop)/install.amd/vmlinuz vga=788 --- quiet splash
|
||
|
initrd (loop)/install.amd/initrd.gz
|
||
|
}
|
||
|
}
|
||
|
|
||
|
submenu "Astra" --class astra {
|
||
|
|
||
|
menuentry "Astra 1.7 Install GTK" --class astra {
|
||
|
set isofile="/astra_1.7.iso"
|
||
|
loopback loop $isofile
|
||
|
linux (loop)/install.amd/gtk/vmlinuz modprobe.blacklist=evbug astra_install=1 debian-installer/locale=ru debian-installer/language=ru keyboard-configuration/xkb-keymap=ru console-keymaps-at quiet splash
|
||
|
initrd (loop)/install.amd/gtk/initrd.gz
|
||
|
}
|
||
|
|
||
|
menuentry "Astra 1.7 Install Terminal" --class astra {
|
||
|
set isofile="/astra_1.7.iso"
|
||
|
loopback loop $isofile
|
||
|
linux (loop)/install.amd/vmlinuz modprobe.blacklist=evbug astra_install=1 debian-installer/locale=ru debian-installer/language=ru keyboard-configuration/xkb-keymap=ru console-keymaps-at quiet splash
|
||
|
initrd (loop)/install.amd/initrd.gz
|
||
|
}
|
||
|
|
||
|
menuentry "Astra 1.8" --class astra {
|
||
|
set isofile="/astra_1.8.iso"
|
||
|
loopback loop $isofile
|
||
|
linux (loop)/vmlinuz boot=live findiso=$isofile toram=filesystem.squashfs quiet splash
|
||
|
initrd (loop)/initrd
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
submenu "Windows" --class windows {
|
||
|
|
||
|
regexp -s rootdevice '(.*),' $root
|
||
|
|
||
|
menuentry "Windows 10" --class windows {
|
||
|
set root="(${rootdevice},5)"
|
||
|
insmod part_gpt
|
||
|
insmod ntfs
|
||
|
insmod chain
|
||
|
chainloader /efi/boot/bootx64.efi
|
||
|
}
|
||
|
|
||
|
menuentry "Windows 10 Lite (8 в 1)" --class windows {
|
||
|
set root="(${rootdevice},3)"
|
||
|
insmod part_gpt
|
||
|
insmod ntfs
|
||
|
insmod chain
|
||
|
chainloader /EFI/boot/bootx64.efi
|
||
|
}
|
||
|
|
||
|
menuentry "Windows 11" --class windows {
|
||
|
set root="(${rootdevice},4)"
|
||
|
insmod part_gpt
|
||
|
insmod ntfs
|
||
|
insmod chain
|
||
|
chainloader /efi/boot/bootx64.efi
|
||
|
}
|
||
|
}
|
||
|
|
||
|
menuentry 'Перезагрузить компьютер' --class restart {
|
||
|
reboot
|
||
|
}
|
||
|
|
||
|
menuentry 'Выключить компьютер' --class shutdown {
|
||
|
halt
|
||
|
}
|