-
-
Save amitwh/95d00b80d9d88e454b4a3dff6af1e71a to your computer and use it in GitHub Desktop.
My own configuration file for GRUB2 to boot various live distributions of Linux-based operating systems, along with some system tools. I tried to include a lot of sample configuration entries, even if I don't currently use them, so it may help others. Exceedingly long blog post: http://tehfishyblog.logdown.com/chips/306146-a-homemade-ultimate-bo…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Config for GNU GRand Unified Bootloader (GRUB) (2) | |
# /boot/grub/grub.cfg | |
# or | |
# /boot/grub2/grub.cfg | |
# This grub.cfg file was created by Lance http://www.pendrivelinux.com | |
# Suggested Entries and the suggestor, if available, will also be noted. | |
# and then improved by Pysis. | |
# Improvement Sources: | |
# https://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ | |
# Used GRUB2 with command `grub2-install` instead, along with the `--boot-directory` parameter. | |
# If you get an error about failing 'to get a canonical path', or folders not existing on the device, then again, you need to run the command as a privileged user. | |
# If you get errors concerning a bad superblock, and unable to install grub, try rewriting the filesystem again. | |
# https://gist.github.com/jamiekurtz/26c46b3e594f8cdd453a | |
# https://gist.github.com/noisufnoc/e0053d738f5fbb679535 | |
# https://gist.github.com/samdoran/90056b8e4a2aedc6a3e8 | |
# https://gist.github.com/yeahunter/9eca12b3db064e5dc23b | |
# https://gist.github.com/jeekl/5564476 | |
# https://wiki.archlinux.org/index.php/Multiboot_USB_drive | |
# and this one. How did I forget about these!!!! | |
# https://help.ubuntu.com/community/Grub2/ISOBoot/Examples | |
# Seems to be a gold mine for my purposes!! | |
# http://www.coreboot.org/GRUB2 | |
# http://www.backtrack-linux.org/forums/showthread.php?t=42722 | |
# http://www.linuxdevcenter.com/pub/a/linux/excerpts/9780596100797/kernel-boot-command-line-parameter-reference.html | |
# https://wiki.archlinux.org/index.php/Grub2 | |
# Notes: | |
# - For variables, be sure to use double-quotes to have them actually resolve in the string. | |
# - Need to re-declare variables inside sub-menus because they open a new "context"..... great.. | |
# Source: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1175127 | |
# Linting: | |
# - Make sure every 'submenu' command contains 3 periods at the end, connected to the main content string's last charcter | |
# TODO: | |
# - Separate different types of booting options into more grub config files, if possible. Look into it. | |
# Great GRUB2 Reference: http://www.dedoimedo.com/computers/grub-2.html | |
# Timeout for menu | |
set timeout=20 | |
# Default boot entry | |
set default=0 | |
set isoPath="/ISOs" | |
set linuxPath="$isoPath/Linux" | |
set toolPath="$isoPath/Tools" | |
set memdiskPath="/boot/memdisk" | |
set grub4dosPath="/boot/grub.exe" | |
# Menu Colours | |
set menu_color_normal=white/black | |
set menu_color_highlight=white/cyan | |
submenu "Local OS installations..." { | |
submenu "Elementary OS..." { | |
menuentry "Elementary OS on Disk" { | |
set root=(hd0,msdos6) | |
linux /boot/vmlinuz-3.2.0-88-generic root=/dev/sda6 | |
initrd /boot/initrd.img-3.2.0-88-generic | |
boot | |
} | |
menuentry "Elementary OS on Disk; RO, Quiet, Splash" { | |
set root=(hd0,msdos6) | |
linux /boot/vmlinuz-3.2.0-88-generic root=/dev/sda6 ro quiet splash | |
initrd /boot/initrd.img-3.2.0-88-generic | |
boot | |
} | |
menuentry "Elementary OS on Disk; RO, Recovery, NoModeSet" { | |
set root=(hd0,msdos6) | |
linux /boot/vmlinuz-3.2.0-88-generic root=/dev/sda6 ro recovery nomodeset | |
initrd /boot/initrd.img-3.2.0-88-generic | |
boot | |
} | |
} | |
} | |
submenu "Linux-based OS Live/Install Images..." { | |
set isoPath="/ISOs" | |
set linuxPath="$isoPath/Linux" | |
## Ubuntu-based distros | |
menuentry "Elementary OS 20130810 x64" { | |
set isofile="$linuxPath/elementaryos-stable-amd64.20130810.iso" | |
loopback loop $isofile | |
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash -- | |
initrd (loop)/casper/initrd.lz | |
} | |
menuentry "Linux Mint 17.2 x64" { | |
set isofile="$linuxPath/linuxmint-17.2-mate-64bit.iso" | |
loopback loop $isofile | |
linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=$isofile noeject noprompt splash -- | |
initrd (loop)/casper/initrd.lz | |
} | |
submenu "Fedora..." { | |
set isoPath="/ISOs" | |
set linuxPath="$isoPath/Linux" | |
# https://docs.fedoraproject.org/en-US/Fedora/19/html/Installation_Guide/ap-admin-options.html | |
menuentry 'Fedora Workstation Live 64-bit 25 (1.3)' { | |
set isofile="$linuxPath/Fedora-Workstation-Live-x86_64-25-1.3.iso" | |
loopback loop "$isofile" | |
linux (loop)/isolinux/vmlinuz root=live:CDLABEL=Fedora-WS-Live-25-1-3 iso-scan/filename="$isofile" rd.live.image quiet | |
initrd (loop)/isolinux/initrd.img | |
} | |
menuentry 'Fedora Server 64-bit 25 (1.3) Doesn"t Work' { | |
set isofile="$linuxPath/Fedora-Server-dvd-x86_64-25-1.3.iso" | |
loopback loop "$isofile" | |
linux (loop)/isolinux/vmlinuz inst.stage2=hd:LABEL=Fedora-S-dvd-x86_64-25 iso-scan/filename="$isofile" quiet | |
initrd (loop)/isolinux/initrd.img | |
} | |
menuentry 'Fedora Workstation Live 64-bit 25 (1.3)' { | |
set isofile="$linuxPath/Fedora-Workstation-Live-x86_64-25-1.3.iso" | |
loopback loop "$isofile" | |
linux (loop)/isolinux/vmlinuz inst.stage2=live:CDLABEL=Fedora-WS-Live-25-1-3 iso-scan/filename="$isofile" rd.live.image quiet | |
initrd (loop)/isolinux/initrd.img | |
} | |
} | |
submenu "(X/L)Ubuntu..." { | |
set isoPath="/ISOs" | |
set linuxPath="$isoPath/Linux" | |
menuentry "Ubuntu 16.10 Minimal" { | |
set isofile="$linuxPath/ubuntu-16.10-mini" | |
loopback loop $isofile | |
# linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8 | |
# linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile liveimg noprompt noeject quiet splash -- | |
linux (loop)/linux boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8 | |
# initrd (loop)/casper/initrd.lz | |
initrd (loop)/initrd.gz | |
} | |
menuentry "ubuntu-15.04-desktop-amd64" { | |
set isofile="$linuxPath/ubuntu-15.04-desktop-amd64.iso" | |
loopback loop $isofile | |
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8 | |
initrd (loop)/casper/initrd.lz | |
} | |
menuentry "ubuntu-16.10-server-amd64" { | |
set isofile="$linuxPath/ubuntu-16.10-server-amd64.iso" | |
loopback loop $isofile | |
linux (loop)/install/vmlinuz boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8 | |
initrd (loop)/install/initrd.gz | |
} | |
menuentry "Xbuntu 14.04 Beta - 64bit" { | |
set isofile="$linuxPath/xubuntu-15.04-desktop-amd64.iso" | |
loopback loop $isofile | |
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject splash -- | |
initrd (loop)/casper/initrd.lz | |
} | |
} | |
## Other desktop distros | |
# submenu "Debian..." { | |
# menuentry "Debian 7.0 Wheezy AMD64 Installer (netinst, firmware)" { | |
# set isofile="$linuxPath/debian-7.0.0-amd64-firmware-netinst.iso" | |
# loopback loop $iso | |
# linux (loop)/install.amd/vmlinuz | |
# initrd (loop)/install.amd/initrd.gz | |
# } | |
# | |
# menuentry "Debian 7.0 Wheezy AMD64 Live system (GNOME, firmware/non-free)" { | |
# set isofile="$linuxPath/debian-live-7.0.0-amd64-gnome-desktop+nonfree.iso" | |
# loopback loop $iso | |
# linux (loop)/live/vmlinuz boot=live | |
# initrd (loop)/live/initrd.img | |
# } | |
# } | |
## Minimal resource-focused distros | |
menuentry "CorePlus ISO" { | |
set isofile="$linuxPath/CorePlus-current.iso" | |
loopback loop $isofile | |
#linux (loop)/boot/bzImage -- | |
linux (loop)/boot/vmlinuz -- | |
# Add ' loglevel=3 cde showapps desktop=flwm_topside' ? | |
#initrd (loop)/boot/tinycore.gz | |
initrd (loop)/boot/core.gz | |
} | |
# menuentry "CorePlus (Variant 2)" { | |
# set isofile="$linuxPath/COREPLUS" | |
# loopback loop $isofile | |
# linux (loop)/boot/vmlinuz | |
# initrd (loop)/boot/core.gz | |
# } | |
# Will leave commented out and unused; Using CorePlus instead. | |
# menuentry "Tinycore" { | |
# set isofile="$linuxPath/TINYCORE" | |
# loopback loop $isofile | |
# linux (loop)/boot/vmlinuz | |
# #linux (loop)/boot/vmlinuz quiet cde iso=/mnt/sd[x]X$isofile | |
# #initrd (loop)/boot/tinycore.gz | |
# initrd (loop)/boot/core.gz | |
# } | |
# Source: https://wiki.archlinux.org/index.php/Multiboot_USB_drive#Arch_Linux_monthly_release | |
# Installing from USB: "You must specify the filesystem type for loop0" | |
# - https://bbs.archlinux.org/viewtopic.php?id=212871 | |
# ~ https://bbs.archlinux.org/viewtopic.php?id=226410 | |
# https://askubuntu.com/questions/143718/mount-you-must-specify-the-filesystem-type#comment172573_143723 | |
# https://bbs.archlinux.org/viewtopic.php?pid=1620387#p1620387 | |
menuentry 'Arch Linux x64 2017-06-01' { | |
set isofile="$linuxPath/archlinux-2017.06.01-x86_64.iso" | |
loopback loop "$isofile" | |
# Leftover, unused kernel boot options that may be helpful later on. | |
# video=efifb fbdev noefi single | |
# archisolabel=ARCH_201508 | |
# archisobasedir=arch | |
# archisodevice=/dev/loop0 | |
linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda1 img_loop=$isofile earlymodules=loop | |
initrd (loop)/arch/boot/x86_64/archiso.img | |
} | |
menuentry "CentOS 6 x86_64 minimal" { | |
set isofile="$linuxPath/CentOS-7-x86_64-Minimal-1503-01.iso" | |
loopback loop $isofile | |
linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:LABEL=UNJEB:/$isofile | |
initrd (loop)/isolinux/initrd.img | |
} | |
menuentry "CentOS 6 x86_64 minimal with basic video driver" { | |
set isofile="$linuxPath/CentOS-7-x86_64-Minimal-1503-01.iso" | |
loopback loop $iso | |
linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:LABEL=UNJEB:/$isofile xdriver=vesa nomodset askmethod | |
initrd (loop)/isolinux/initrd.img | |
} | |
menuentry "Damn Small Linux" { | |
echo "Doesn't work yet"'!'; | |
# Maybe try this instead later: https://gist.github.com/oxplot/2041319 | |
# set isofile="$linuxPath/..." | |
linux16 /boot/bootdistro/damnsmall/isolinux/linux24 knoppix_dir=damnsmall ramdisk_size=100000 lang=en apm=power-off nomce noapic quiet BOOT_IMAGE=knoppix | |
initrd16 /boot/bootdistro/damnsmall/isolinux/minirt24.gz | |
} | |
## Administrative- / Recovery- focused distros | |
# menuentry "Knoppix" { | |
# set isofile="$linuxPath/knoppix.iso" | |
# } | |
menuentry "Boot Finnix 109 (64-bit)" { | |
set isofile="$linuxPath/finnix-111.iso" | |
loopback loop $isofile | |
linux (loop)/boot/x86/linux64 findiso=$isofile vga=791 nomodeset quiet -- | |
initrd (loop)/boot/x86/initrd.xz | |
} | |
menuentry "Boot Finnix 109 (64-bit, text mode)" { | |
set isofile="$linuxPath/finnix-111.iso" | |
loopback loop $isofile | |
linux /boot/x86/linux64 findiso=$isofile vga=normal nomodeset quiet -- | |
initrd /boot/x86/initrd.xz | |
} | |
menuentry "GRML - the sysadmins best friend" { | |
set isofile="$linuxPath/grml96-full_2014.11.iso" | |
loopback loop "$isofile" | |
set root=(loop) | |
configfile /boot/grub/loopback.cfg | |
} | |
# https://github.com/grml/grml-live/blob/3ac646b41e6ce3aa58ff914bf2ba5d52d157d125/templates/boot/grub/%25SHORT_NAME%25_default.cfg | |
menuentry "grml64-full - copy Grml to RAM" { | |
set isofile="$linuxPath/grml96-full_2014.11.iso" | |
loopback loop "$isofile" | |
set root=(loop) | |
set gfxpayload=keep | |
echo 'Loading kernel...' | |
linux (loop)/boot/grml64full/vmlinuz apm=power-off boot=live nomce net.ifnames=0 "${loopback}" "${kernelopts}" toram=grml64-full.squashfs live-media-path="(loop)/live/grml64-full/" bootid=0fdfb62c-40af-40b9-9387-014232eb1f74 | |
echo 'Loading initrd...' | |
initrd (loop)/boot/grml64full/initrd.img | |
} | |
## Pentesting distros | |
menuentry "kali-linux-1.1.0a-amd64" { | |
set isofile="$linuxPath/kali-linux-1.1.0a-amd64.iso" | |
loopback loop $isofile | |
linux (loop)/live/vmlinuz boot=live findiso=$isofile noconfig=sudo username=root hostname=kali | |
initrd (loop)/live/initrd.img | |
} | |
# Will leave commented out and unusued, but still referenced; Using Kali instead. | |
# menuentry "BackTrack 5" { | |
# loopback loop /BT5-GNOME-64.iso | |
# linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/BT5-GNOME-64.iso noeject noprompt splash -- | |
# initrd (loop)/casper/initrd.lz | |
# } | |
## Anonymous distros | |
menuentry "TAILS - The Amnesic Incognito Live System" { | |
set isofile="$linuxPath/tails-i386-0.17.2.iso" | |
loopback loop $isofile | |
linux (loop)/live/vmlinuz boot=live config live-media=removable nopersistent noprompt quiet timezone=America/New_York block.events_dfl_poll_msecs=1000 splash nox11autologin module=Tails findiso=$isofile quiet_ | |
initrd (loop)/live/initrd.img | |
} | |
} | |
submenu "Utils..." { | |
set isoPath="/ISOs"; | |
set toolPath="$isoPath/Tools"; | |
set memdiskPath="/boot/memdisk"; | |
set oldMemtestPath="$toolPath/Memtest86-4.3.7.iso"; # I keep this around for some reason. Something about a major version difference. Compatibility maybe? MBR? | |
set memtestPath="$toolPath/Memtest86-7.3.iso"; | |
menuentry "Memtest 86+" { | |
set isofile="$memtestPath" | |
loopback loop "$isofile" | |
linux16 (loop)/isolinux/memtest iso-scan/filename="$isofile" | |
} | |
submenu "SpinRite..." { | |
set isoPath="/ISOs"; | |
set toolPath="$isoPath/Tools"; | |
set memdiskPath="/boot/memdisk"; | |
menuentry "SpinRite 6.0 (raw)" { | |
set isofile="$toolPath/SpinRite 6.0/SpinRite.img" | |
set gfxpayload=text | |
linux16 "$memdiskPath" raw | |
initrd16 "$isofile" | |
} | |
# Source: http://codeverge.com/grc.techtalk.linux/grub-booting-spinrite-image-got-it-working/1617093 | |
menuentry "SpinRite 6.0 (bigraw)" { | |
set isofile="$toolPath/SpinRite 6.0/SpinRite.img" | |
set gfxpayload=text | |
linux16 "$memdiskPath" bigraw | |
initrd16 "$isofile" | |
} | |
} | |
# If I want direct access to TestDisk/PhotoRec, maybe look into bundling FreeDOS to run them: http://www.cgsecurity.org/wiki/Create_a_TestDisk_FreeDos_LiveCD | |
# Source: https://help.ubuntu.com/community/Grub2/ISOBoot/Examples#Gparted | |
menuentry 'GParted 64-bit ISO' { | |
#set gfxpayload=text # ~= vga='normal' | |
# isofile_abspath is relative to LiveUSB root. | |
set isofile_abspath="$toolPath/gparted-live-0.28.1-1-amd64.iso" | |
# isofile_devpath is relative to (and begins with) '/dev' | |
set isofile_devpath="${devroot}${isofile_abspath}" | |
# "mount" the ISO | |
loopback loop "(${root})${isofile_abspath}" | |
# Following (single!) line adapted from https://wiki.archlinux.org/index.php/Multiboot_USB_drive#GParted_Live | |
linux '(loop)/live/vmlinuz' boot='live' union='overlay' username='user' config components noswap noeject toram='filesystem.squashfs' ip='' nosplash findiso="${isofile_abspath}" | |
# start RAMdisk from device=loop | |
initrd '(loop)/live/initrd.img' | |
} | |
#menuentry "Parted Magic" { | |
# set isofile="$toolPath/pmagic.iso" | |
# loopback loop $isofile | |
# linux (loop)/pmagic/bzImage iso_filename=$isofile edd=off load_ramdisk=1 prompt_ramdisk=0 rw gfxpayload=800x600x16 loglevel=9 max_loop=256 vmalloc=384MiB keymap=dvorak | |
# initrd (loop)/pmagic/initrd.img | |
#} | |
menuentry "SystemRescueCd" { | |
set isofile="$toolPath/systemrescuecd-x86-4.5.3.iso" | |
loopback loop "$isofile" | |
# linux (loop)/isolinux/rescuecd isoloop"=$isofile" setkmap=us docache dostartx | |
# Or linux (loop)/isolinux/rescue32 | |
# Or linux (loop)/isolinux/rescue64 | |
linux (loop)/isolinux/rescue64 isoloop="$isofile" setkmap=us docache dostartx | |
initrd (loop)/isolinux/initram.igz | |
} | |
menuentry "CloneZilla" { | |
set isofile="$toolPath/clonezilla-live-2.5.0-25-amd64.iso" | |
loopback loop "$isofile" | |
# linux (loop)/live/vmlinuz boot=live live-config union=aufs nolocales noprompt gfxpayload=800x600x16 ip=frommedia findiso="$isofile" | |
# initrd (loop)/live/initrd.img | |
# linux (loop)/live/vmlinuz initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 | |
linux (loop)/live/vmlinuz | |
initrd /live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" vga=788 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 | |
} | |
# Source: https://askubuntu.com/a/880484 | |
menuentry "clonezilla" { | |
set isofile="$toolPath/clonezilla-live-2.5.0-25-amd64.iso" | |
loopback loop "$isofile" | |
linux (loop)/live/vmlinuz boot=live components config findiso=$isofile ip=frommedia toram=filesystem.squashfs union=overlay username=user | |
initrd (loop)/live/initrd.img | |
} | |
#menuentry "Ophcrack No Tables" { | |
# set isofile="$toolPath/ophcrack-notables.iso" | |
# set gfxpayload=text | |
# loopback loop $isofile | |
# linux (loop)/boot/bzImage root=/dev/null rw lang=en_US kmap=dvorak autologin iso-scan/filename=$isofile | |
# initrd (loop)/boot/rootfs.gz | |
#} | |
#menuentry "Ophcrack Vista/7 Tables" { | |
# set isofile="$toolPath/ophcrack-vistatables.iso" | |
# set gfxpayload=text | |
# loopback loop $isofile | |
# linux (loop)/boot/bzImage root=/dev/null rw lang=en_US kmap=dvorak autologin iso-scan/filename=$isofile | |
# initrd (loop)/boot/rootfs.gz | |
#} | |
#menuentry "DBAN ISO" { | |
# set isofile="$toolPath/dban.iso" | |
# loopback loop $isofile | |
# linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=$isofile silent -- | |
#} | |
#menuentry "PC-Doctor" { | |
# loopback loop /boot/iso/pcdd1780.iso | |
# linux (loop)/[BOOT]/Bootable_2.88M.img | |
#} | |
#menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" { | |
# linux16 $memdiskPath iso | |
# initrd16 /customboot/hdt.iso | |
#} | |
#menuentry "Free Dos from iso using memdisk 4.05" { | |
# set isofile="/OS/fdbasecd.iso" | |
# linux16 $memdiskPath iso | |
# initrd16 (hd0,6)$isofile | |
#} | |
# Source: dann.com.br... | |
menuentry "Hiren's boot CD using grub.exe" { | |
set dosGRUBPath="$grub4dosPath"; | |
set hbcdPath="$toolPath/HBCD"; | |
set menuLstPath="$hbcdPath/menu.lst"; | |
set isofile="$toolPath/Hiren's.BootCD.15.2.iso" | |
linux16 "$dosGRUBPath" --config-file="find --set-root $menuLstPath; configfile $menuLstPath" | |
} | |
menuentry "Hiren's boot CD using memdisk 4.05" { | |
set isofile="$toolPath/Hiren's.BootCD.15.2.iso" | |
linux16 $memdiskPath iso | |
initrd16 (hd0,6)$isofile | |
} | |
menuentry "Ultimate Boot CD iso using memdisk 4.05" { | |
set isofile="$toolPath/UBCD4WinBuilder.iso" | |
linux16 $memdiskPath iso | |
initrd16 (hd0,6)$isofile | |
} | |
#menuentry "UBCD with MEMDISK" { | |
# set isofile="$toolPath/ubcd502.iso" | |
# linux16 $memdiskPath iso raw | |
# initrd $isofile | |
#} | |
#menuentry "UBCD with grub4dos" { | |
# set isofile="$toolPath/ubcd502.iso" | |
# linux16 "$grub4dosPath" --config-file="map (rd) (hd32); map --hook; root (hd32); chainloader (hd32);" | |
# initrd $isofile | |
#} | |
} | |
menuentry "Scan for OS on internal HDD (Untested)" { | |
insmod regexp | |
insmod ahci | |
insmod part_msdos | |
for x in (ahci0,*) ; do | |
if [ -f "$x/grub/grub.cfg" ] ; then | |
menuentry "Load Config from $x" $x { | |
root=$2 | |
configfile /grub/grub.cfg | |
} | |
fi | |
if [ -f "$x/boot/grub/grub.cfg" ] ; then | |
menuentry "Load Config from $x" $x { | |
root=$2 | |
configfile /boot/grub/grub.cfg | |
} | |
fi | |
done | |
} | |
submenu "DOS/Windows (Doesn't work)..." { | |
set isoPath="/ISOs"; | |
# menuentry "win7" { | |
# loopback loop "$isoPath/win7.iso" | |
# chainloader (loop) | |
# } | |
menuentry "Run Windows 7 Ultimate 64-bit Installer (Doesn't work)" { | |
#insmod part_msdos | |
#insmod ntfs | |
set root='(hd0,msdos5)' | |
#search --no-floppy --fs-uuid --set=root 01D0DC21970FC910 | |
#drivemap -s (hd0) ${root} | |
chainloader +1 | |
boot | |
} | |
menuentry "Microsoft Windows x86_64 UEFI-GPT Setup (Doesn't work)" { | |
insmod usbms | |
insmod part_gpt | |
insmod part_msdos | |
insmod fat | |
insmod search_fs_uuid | |
insmod chain | |
search --fs-uuid --no-floppy --set=root 01D0DC21970FC910 | |
#chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi | |
chainloader (${root})/efi/Microsoft/Boot/cdboot_noprompt.efi | |
} | |
menuentry "Windows 7 (loader) (on /dev/sda1) (Doesn't work)" { | |
insmod part_msdos | |
insmod ntfs | |
insmod ntldr | |
set root='hd0,msdos5' | |
ntldr /bootmgr | |
} | |
submenu "Windows PE..." { | |
menuentry "WinPE 1a" { | |
set root=(hd0,msdos5) | |
boot | |
} | |
menuentry "WinPE 1b" { | |
set root=(hd0,msdos5) | |
chainloader +1 | |
} | |
menuentry "WinPE 2" { | |
rootnoverify (hd0,msdos5) | |
chainloader +1 | |
} | |
} | |
submenu "MS-DOS..." { | |
set isoPath="/ISOs"; | |
set dosWinPath="$isoPath/Dos-Win"; | |
menuentry "MS-DOS" { | |
set isofile="$dosWinPath/DOS6.22_bootdisk.iso" | |
set gfxpayload=text | |
linux16 "$memdiskPath" raw | |
initrd16 "$isofile" | |
} | |
menuentry "MS-DOS 2" { | |
set isofile="$dosWinPath/DOS6.22_bootdisk.iso" | |
linux16 "$memdiskPath" bigraw | |
initrd16 "$isofile" | |
} | |
} | |
} | |
menuentry "Grub4dos (Untested)"{ | |
linux "$grub4dosPath" | |
} | |
menuentry 'System setup (Untested)' { | |
fwsetup | |
} | |
menuentry "System shutdown (Untested)" { | |
echo "System shutting down..." | |
halt | |
} | |
menuentry "System restart (Untested)" { | |
echo "System rebooting..." | |
reboot | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment