This commit is contained in:
Alexander Zhirov 2024-10-06 22:47:09 +03:00
parent dd948692c8
commit 6443272e50
88 changed files with 351 additions and 238 deletions

View File

@ -24,3 +24,13 @@ touch /mnt/boot/grub/grub.cfg
umount -v ${disk}1
```
```sh
NAME FSTYPE FSVER LABEL
sda
├─sda1 vfat FAT32
├─sda2 ext4 1.0 unix
├─sda3 ntfs win10lite
├─sda4 ntfs win11
└─sda5 ntfs win10
```

238
grub.cfg
View File

@ -1,238 +0,0 @@
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
}

125
grub/grub.cfg Executable file
View File

@ -0,0 +1,125 @@
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
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
function loadtheme {
theme=$1
insmod jpeg
insmod png
for font in ($root)/boot/grub/themes/$theme/*.pf2 ; do
loadfont $font
done
set theme=($root)/boot/grub/themes/Stylish/theme.txt
export theme
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
}
loadtheme "default"
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=10
else
set timeout=10
fi
fi
if [ "${grub_platform}" = "efi" ]; then
rmmod tpm
fi
# Подключение конфигурационных файлов
for cfg in ($root)/boot/grub/menuentries/*.cfg ; do
source $cfg
done
menuentry 'Перезагрузить компьютер' --class restart {
reboot
}
menuentry 'Выключить компьютер' --class shutdown {
halt
}

View File

@ -0,0 +1,111 @@
submenu "Linux" --class linux {
regexp -s rootdevice '(.*),' $root
set root="(${rootdevice},2)"
submenu "Live" --class linux {
menuentry "Debian Bookworm 2024271" --class debian {
set isofile="/debian_bookworm_live_2024271.1289.iso"
loopback loop $isofile
linux (loop)/vmlinuz boot=live findiso=$isofile toram=filesystem.squashfs nomodeset quiet splash --
initrd (loop)/initrd
}
menuentry "SystemRescue 11.02 290824" --class osrecovery {
set isofile="/systemrescue-11.02-amd64.iso"
loopback loop $isofile
probe -u $root --set=uuid
linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=/dev/disk/by-uuid/$uuid img_loop=$isofile iomem=relaxed
initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img
}
menuentry "Gparted 1.6" --class gparted {
set isofile="/gparted-live-1.6.0-10-amd64.iso"
loopback loop $isofile
linux '(loop)/live/vmlinuz' boot='live' union='overlay' username='user' config components noswap noeject toram='filesystem.squashfs' ip='' findiso=$isofile quiet splash
initrd '(loop)/live/initrd.img'
}
}
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 "Linux Mint" --class linuxmint {
menuentry "Linux Mint 22 XFCE" --class linuxmint {
set gfxpayload=keep
set isofile="/linuxmint-22-xfce-64bit.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper username=mint hostname=mint iso-scan/filename=${isofile} quiet splash --
initrd (loop)/casper/initrd.lz
}
}
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
}
}
}

View File

@ -0,0 +1,20 @@
submenu "FreeBSD" --class freebsd {
regexp -s rootdevice '(.*),' $root
set root="(${rootdevice},2)"
submenu "GhostBSD" --class freebsd {
menuentry "GhostBSD 24.07.1 XFCE" --class freebsd {
insmod iso9660
set isofile="/GhostBSD-24.07.1-XFCE.iso"
loopback loop $isofile
kfreebsd (loop)/boot/kernel/kernel boot=casper iso-scan/filename=$isofile noeject noprompt splash --
#kfreebsd_module (loop)/boot/mfsroot.gz type=mfs_root
kfreebsd_module $isofile type=mfs_root
set kFreeBSD.vfs.root.mountfrom="cd9660:/dev/md0"
set kFreeBSD.vfs.root.mountfrom.options=ro
set kFreeBSD.grub.platform=$grub_platform
}
}
}

View File

@ -0,0 +1,41 @@
submenu "Windows" --class windows {
regexp -s rootdevice '(.*),' $root
submenu "Live" --class windows {
regexp -s rootdevice '(.*),' $root
menuentry "Windows 10 PE" --class windows {
set root="(${rootdevice},6)"
insmod part_gpt
insmod ntfs
insmod chain
chainloader /efi/boot/bootx64.efi
}
}
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
}
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
grub/themes/default/dejavu_32.pf2 Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

BIN
grub/themes/default/icons/efi.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

BIN
grub/themes/default/icons/kbd.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

BIN
grub/themes/default/icons/lfs.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

BIN
grub/themes/default/icons/tz.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

BIN
grub/themes/default/select_c.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

BIN
grub/themes/default/select_e.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

BIN
grub/themes/default/select_w.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

44
grub/themes/default/theme.txt Executable file
View File

@ -0,0 +1,44 @@
# GRUB2 gfxmenu Linux theme
# Designed for any resolution
# Global Property
title-text: ""
desktop-image: "background.jpg"
desktop-color: "#000000"
terminal-font: "Terminus Regular 14"
terminal-box: "terminal_box_*.png"
terminal-left: "0"
terminal-top: "0"
terminal-width: "100%"
terminal-height: "100%"
terminal-border: "0"
# Show the boot menu
+ boot_menu {
left = 30%
top = 30%
width = 45%
height = 60%
item_font = "Unifont Regular 16"
item_color = "#cccccc"
selected_item_color = "#ffffff"
icon_width = 32
icon_height = 32
item_icon_space = 20
item_height = 36
item_padding = 5
item_spacing = 10
selected_item_pixmap_style = "select_*.png"
}
# Show a countdown message using the label component
+ label {
top = 82%
left = 32%
width = 30%
align = "center"
id = "__timeout__"
text = "Booting in %d seconds"
color = "#cccccc"
font = "Unifont Regular 16"
}