set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set grub_draw_border=1
set gfxmode=auto
set midx=x
set sidx=x
set wimbootfiles=x
set hdd=hd1
#declar functie increment
#folosesc menuindex si submenuindex ca hotkey si ma opresc la d daca apas e imi face edit ci nu lanseaza meniul,oricum pe 1024x786 nu vad mai mult de 14 linii
function mincrement {
if [ x$midx == xx ]; then midx=1; elif [ x$midx == x1 ]; then midx=2; elif [ x$midx == x2 ]; then midx=3; elif [ x$midx == x3 ]; then midx=4; elif [ x$midx == x4 ]; then midx=5; elif [ x$midx == x5 ]; then midx=6; elif [ x$midx == x6 ]; then midx=7; elif [ x$midx == x7 ]; then midx=8; elif [ x$midx == x8 ]; then midx=9; elif [ x$midx == x9 ]; then midx=0; elif [ x$midx == x0 ]; then midx=a; elif [ x$midx == xa ]; then midx=b; elif [ x$midx == xb ]; then midx=c; elif [ x$midx == xc ]; then midx=d; else midx=x; fi
}
function sincrement {
if [ x$sidx == xx ]; then sidx=1; elif [ x$sidx == x1 ]; then sidx=2; elif [ x$sidx == x2 ]; then sidx=3; elif [ x$sidx == x3 ]; then sidx=4; elif [ x$sidx == x4 ]; then sidx=5; elif [ x$sidx == x5 ]; then sidx=6; elif [ x$sidx == x6 ]; then sidx=7; elif [ x$sidx == x7 ]; then sidx=8; elif [ x$sidx == x8 ]; then sidx=9; elif [ x$sidx == x9 ]; then sidx=0; elif [ x$sidx == x0 ]; then sidx=a; elif [ x$sidx == xa ]; then sidx=b; elif [ x$sidx == xb ]; then sidx=c; elif [ x$sidx == xc ]; then sidx=d; else sidx=x; fi
}
mincrement
menuentry $midx'. HBCD152 syslinux Menu' --hotkey=$midx {
root=$rootfat
chainloader +1
}
if [ -d "($rootntfs)/mint" ]; then
mincrement
submenu $midx'. Linux Mint >' --hotkey=$midx {
sidx=x
if [ -d "($rootntfs)/mint/211" ]; then
sincrement
menuentry $sidx'. Linux Mint 21.1 Cinnamon 64-bit' --hotkey=$sidx {
root=$rootntfs
probe -u $root --set=devuuid
echo UUID=$devuuid
set gfxpayload=keep
echo load kernel
linux /mint/211/casper/vmlinuz file=/cdrom/mint/211/preseed/linuxmint.seed boot=casper uuid=$devuuid live-media=/dev/disk/by-uuid/$devuuid live-media-path=/mint/211/casper net.ifnames=0 ro nopersistent --
echo load initrd
initrd /mint/211/casper/initrd.lz
}
fi
if [ -d "($rootntfs)/mint/202" ]; then
sincrement
menuentry $sidx'. Linux Mint 20.2 Cinnamon 64-bit' --hotkey=$sidx {
root=$rootntfs
probe -u $root --set=devuuid
echo UUID=$devuuid
set gfxpayload=keep
echo load kernel
linux /mint/202/casper/vmlinuz file=/cdrom/mint/202/preseed/linuxmint.seed boot=casper uuid=$devuuid live-media=/dev/disk/by-uuid/$devuuid live-media-path=/mint/202/casper net.ifnames=0 ro nopersistent --
echo load initrd
initrd /mint/202/casper/initrd.lz
}
fi
if [ -d "($rootfat)/mint/193" ]; then
sincrement
menuentry $sidx'. Linux Mint 19.3 "Tricia" - Release i386' --hotkey=$sidx {
root=$rootfat
probe -u $root --set=devuuid
echo UUID=$devuuid
set gfxpayload=keep
echo load kernel
linux /mint/193/casper/vmlinuz file=/cdrom/mint/193/preseed/linuxmint.seed boot=casper uuid=$devuuid live-media=/dev/disk/by-uuid/$devuuid live-media-path=/mint/193/casper net.ifnames=0 ro nopersistent --
echo load initrd
initrd /mint/193/casper/initrd.lz
}
fi
}
fi
if [ -d "($rootntfs)/ubuntu" ]; then
mincrement
submenu $midx'. Ubuntu >' --hotkey=$midx {
sidx=x
if [ -d "($rootntfs)/ubuntu/2204" ]; then
sincrement
menuentry $sidx'. Ubuntu 22.04 LTS 64-bit' --hotkey=$sidx {
root=$rootntfs
probe -u $root --set=devuuid
echo UUID=$devuuid
set gfxpayload=keep
echo load kernel
linux /ubuntu/2204/casper/vmlinuz file=/cdrom/ubuntu/2204/preseed/ubuntu.seed boot=casper uuid=$devuuid live-media=/dev/disk/by-uuid/$devuuid live-media-path=/ubuntu/2204/casper net.ifnames=0 ro nopersistent --
echo load initrd
initrd /ubuntu/2204/casper/initrd
}
fi
if [ -d "($rootfat)/ubuntu/1606" ]; then
sincrement
menuentry $sidx'. Ubuntu 16.04.6 LTS "Xenial Xerus" - Release i386' --hotkey=$sidx {
root=$rootfat
probe -u $root --set=devuuid
echo UUID=$devuuid
set gfxpayload=keep
echo load kernel
linux /ubuntu/1606/casper/vmlinuz file=/cdrom/ubuntu/1606/preseed/ubuntu.seed boot=casper uuid=$devuuid live-media=/dev/disk/by-uuid/$devuuid live-media-path=/ubuntu/1606/casper net.ifnames=0 ro nopersistent --
echo load initrd
initrd /ubuntu/1606/casper/initrd
}
fi
}
fi
if [ -d "($rootntfs)/partedm" ]; then
mincrement
submenu $midx'. Parted Magic Linux >' --hotkey=$midx {
sidx=x
if [ -d "($rootntfs)/partedm/2022" ]; then
sincrement
menuentry $sidx'. Parted Magic Linux 2022 kernel 5.16' --hotkey=$sidx {
root=$rootntfs
echo load kernel
linux /partedm/2022/pmagic/bzImage boot=live eject=no directory=/partedm/2022
echo load initrd
initrd /partedm/2022/pmagic/initrd.img /partedm/2022/pmagic/fu.img /partedm/2022/pmagic/m.img
}
fi
if [ -d "($rootntfs)/partedm/2020" ]; then
sincrement
menuentry $sidx'. Parted Magic Linux 2020 kernel 5.8' --hotkey=$sidx {
root=$rootntfs
echo load kernel
linux /partedm/2020/pmagic/bzImage boot=live eject=no directory=/partedm/2020
echo load initrd
initrd /partedm/2020/pmagic/initrd.img /partedm/2020/pmagic/fu.img /partedm/2020/pmagic/m.img
}
fi
if [ -d "($rootntfs)/partedm/2016" ]; then
sincrement
menuentry $sidx'. Parted Magic Linux 2016 x64' --hotkey=$sidx {
root=$rootntfs
echo load kernel
linux /partedm/2016/pmagic/bzImage64 boot=live eject=no directory=/partedm/2016
echo load initrd
initrd /partedm/2016/pmagic/initrd.img /partedm/2016/pmagic/fu.img /partedm/2016/pmagic/m64.img
}
fi
}
fi
if [ -d "($rootntfs)/krd18" ]; then
mincrement
menuentry $midx'. Kaspersky Rescue Disk 2018, no video: CTRL+ALT+F1; startx, for update min. 1GB free on HDD' --hotkey=$midx {
root=$rootntfs
set extract_path="/krd18"
set lang="en"
if cpuid -l; then set _kernel="k-x86_64"; else set _kernel="k-x86"; fi
echo load ${extract_path}/boot/grub/${_kernel}
linux ${extract_path}/boot/grub/${_kernel} net.ifnames=0 lang=${lang} subdir=${extract_path}/data nodmraid nomdadm dostartx
echo load ${extract_path}/boot/grub/initrd.xz
initrd ${extract_path}/boot/grub/initrd.xz
}
fi
if [ -d "($rootntfs)/kali" ]; then
mincrement
menuentry $midx'. Kali2022.3 64-bit' --hotkey=$midx {
root=$rootntfs
probe -u $root --set=devuuid
echo load modules
set gfxpayload=keep
echo load kernel
linux ($root)/kali/live/vmlinuz-5.18.0-kali5-amd64 boot=live components noeject uuid=$devuuid live-media=/dev/disk/by-uuid/$devuuid live-media-path=/kali/live
echo load initrd
initrd ($root)/kali/live/initrd.img-5.18.0-kali5-amd64
}
fi
if [ -f "($rootfat)/boot/memtest86+.bin" ]; then
mincrement
menuentry $midx'. Memtest86+ ' --hotkey=$midx {
linux16 ($rootfat)/boot/memtest86+.bin
}
fi
if [ -f "($rootfat)/boot/hdt-052.img" ]; then
mincrement
menuentry $midx'. Hardware Detection Tool (HDT) version 0.5.2 (Manon) img memdisk' --hotkey=$midx {
linux16 ($rootfat)/boot/memdisk raw
initrd16 ($rootfat)/boot/hdt-052.img
}
fi
mincrement
menuentry $midx'. HBCD Programs Dos Boot Menu memdisk' --hotkey=$midx {
linux16 ($rootfat)/boot/memdisk
initrd16 ($rootfat)/HBCD/Dos/dos.gz
}
if [ -f "($rootfat)/bootmgr" ]; then
wimbootfiles=m$wimbootfiles
mincrement
menuentry $midx'. Bootmgr from HBCD152 for MiniWindows7' --hotkey=$midx {
root=$rootfat
ntldr /bootmgr
}
fi
if [ -f "($rootfat)/boot/bcdexe" ]; then wimbootfiles=b$wimbootfiles; fi
if [ -f "($rootfat)/boot/boot.sdi" ]; then wimbootfiles=s$wimbootfiles; fi
if [ -f "($rootfat)/boot/wimboot" ]; then wimbootfiles=k$wimbootfiles; fi
if [ x$wimbootfiles == xksbmx ];then
mincrement
submenu $midx'. Wimboot to load Windows from HBCD152 >' --hotkey=$midx {
sidx=x
if [ -d "($rootfat)/HBCD/7" ]; then
sincrement
menuentry $sidx'. MiniWindows 7 HBCD' --hotkey=$sidx {
root=$rootfat
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,7.wim from HBCD
initrd16 \
newc:boot.sdi:/HBCD/7/7D \
newc:BCD:/boot/bcdexe \
newc:bootmgr:/bootmgr \
newc:boot.wim:/HBCD/7/7.wim
}
fi
if [ -f "($rootfat)/boot/winpe7x86.wim" ]; then
sincrement
menuentry $sidx'. WindowsPE 7 x86' --hotkey=$sidx {
root=$rootfat
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,winpe7x86 form boot
initrd16 \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe7x86.wim
}
fi
if [ -f "($rootfat)/boot/dart7x86.wim" ]; then
sincrement
menuentry $sidx'. DaRT 7 x86' --hotkey=$sidx {
root=$rootfat
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,dart7x86 form boot
initrd16 \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/dart7x86.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
if [ -f "($rootfat)/win7x86/sources/setup.exe" ]; then
sincrement
menuentry $sidx'. Windows 7 Setup x86 from win7x86' --hotkey=$sidx {
root=$rootfat
echo load wimboot
linux16 /boot/wimboot
echo load images of bcdexe,boot.sdi,winpe7x86.wim from boot folder and start setup from win7x86
initrd16 \
newc:setup.bat:/boot/setup7x86.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe7x86.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
}
fi
wimbootfiles=x
if [ -f "($rootntfs)/BOOTMGR" ]; then
wimbootfiles=m$wimbootfiles
mincrement
menuentry $midx'. Bootmgr from NTFS for Windows tools' --hotkey=$midx {
root=$rootntfs
ntldr /BOOTMGR
}
fi
if [ -f "($rootntfs)/boot/bcdexe" ]; then wimbootfiles=b$wimbootfiles; fi
if [ -f "($rootntfs)/boot/boot.sdi" ]; then wimbootfiles=s$wimbootfiles; fi
if [ -f "($rootntfs)/boot/wimboot" ]; then wimbootfiles=k$wimbootfiles; fi
if [ x$wimbootfiles == xksbmx ];then
mincrement
submenu $midx'. Wimboot to load Windows from NTFS >' --hotkey=$midx {
sidx=x
if [ -f "($rootntfs)/boot/winpe10x64.wim" ]; then
sincrement
menuentry $sidx'. WindowsPE 10 x64 20H2' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,winpe10x64 form boot
initrd16 \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe10x64.wim
}
fi
if [ -f "($rootntfs)/boot/dart10x64.wim" ]; then
sincrement
menuentry $sidx'. DaRT 10 x64' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,dart10x64 form boot
initrd16 \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/dart10x64.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
if [ -d "($rootntfs)/winx/22h2/sources" ]; then
if [ -f "($rootntfs)/boot/winpe10x64.wim" ]; then
sincrement
menuentry $sidx'. Windows 10 22H2 Setup with winpe10x64.wim from winx/22h2' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcdexe,boot.sdi,winpe10x64.wim from boot and start setup from winx/22h2
initrd16 \
newc:setup.bat:/boot/setup22h2.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe10x64.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
sincrement
menuentry $sidx'. Windows 10 22H2 Boot from winx/22h2 and choose Repair' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,boot.wim from winx/22h2
initrd16 \
newc:setup.bat:/boot/repair.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/winx/22h2/boot/boot.sdi \
newc:BCD:/winx/22h2/boot/bcd \
newc:boot.wim:/winx/22h2/sources/boot.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
if [ -d "($rootntfs)/winx/21h2/sources" ]; then
if [ -f "($rootntfs)/boot/winpe10x64.wim" ]; then
sincrement
menuentry $sidx'. Windows 10 21H2 Setup with winpe10x64.wim from winx/21h2' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcdexe,boot.sdi,winpe10x64.wim from boot and start setup from winx/21h2
initrd16 \
newc:setup.bat:/boot/setup21h2.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe10x64.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
sincrement
menuentry $sidx'. Windows 10 21H2 Boot from winx/21h2 and choose Repair' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot index=2
echo load images of bcd,boot.sdi,boot.wim from winx/21h2
initrd16 \
newc:setup.bat:/boot/repair.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/winx/21h2/boot/boot.sdi \
newc:BCD:/winx/21h2/boot/bcd \
newc:boot.wim:/winx/21h2/sources/boot.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
if [ -d "($rootntfs)/win78x/x64/sources" ]; then
sincrement
menuentry $sidx'. Windows 7810 Setup x64' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcdexe,boot.sdi,winpe10x64.wim from boot and start setup from win78x/x64
initrd16 \
newc:setup.bat:/boot/setupx64.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe10x64.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
if [ -f "($rootntfs)/boot/winpe10x86.wim" ]; then
sincrement
menuentry $sidx'. WindowsPE 10 x86 20H2' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,winpe10x86 form boot
initrd16 \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe10x86.wim
}
fi
if [ -f "($rootntfs)/boot/dart10x86.wim" ]; then
sincrement
menuentry $sidx'. DaRT 10 x86' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcd,boot.sdi,dart10x86 form boot
initrd16 \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/dart10x86.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
if [ -d "($rootntfs)/win78x/x86/sources" ]; then
sincrement
menuentry $sidx'. Windows 7810 Setup x86' --hotkey=$sidx {
root=$rootntfs
echo load wimboot
linux16 /boot/wimboot
echo load images of bcdexe,boot.sdi,winpe10x86.wim from boot folder and start setup from win78x/x86
initrd16 \
newc:setup.bat:/boot/setupx86.bat \
newc:winpeshl.ini:/boot/winpeshl.ini \
newc:boot.sdi:/boot/boot.sdi \
newc:BCD:/boot/bcdexe \
newc:boot.wim:/boot/winpe10x86.wim
if [ -s "($hdd)" ]; then drivemap -s hd0 $hdd ; fi
}
fi
}
fi
if [ -d "($rootfat)/HBCD/Boot/pmagic" ]; then
mincrement
menuentry $midx'. Parted Magic Linux 2012' --hotkey=$midx {
root=$rootfat
echo load kernel
linux /HBCD/Boot/pmagic/bzImage edd=off load_ramdisk=1 prompt_ramdisk=0 rw loglevel=9 max_loop=256 vmalloc=256MiB directory=/HBCD/Boot
echo load initrd
initrd /HBCD/Boot/pmagic/initrd.img
echo done,boot
}
fi
if [ -d "($rootkrd)/data" ]; then
mincrement
menuentry $midx'.Kaspersky Rescue Disk 2018,novideo:CTRL+ALT+F1->startx,for update min.1GB free on HDD' --hotkey=$midx {
root=$rootkrd
set extract_path=""
set lang="en"
if cpuid -l; then set _kernel="k-x86_64"; else set _kernel="k-x86"; fi
echo load ${extract_path}/boot/grub/${_kernel}
linux ${extract_path}/boot/grub/${_kernel} net.ifnames=0 lang=${lang} subdir=${extract_path}/data nodmraid nomdadm dostartx
echo load ${extract_path}/boot/grub/initrd.xz
initrd ${extract_path}/boot/grub/initrd.xz
}
fi