# Config file for GRUB2 - The GNU GRand Unified Bootloader
# /boot/grub/grub.cfg
# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/sda (hd0)
# /dev/sdb2 (hd1,2)
# /dev/sda3 (hd0,3)
#
# Timeout for menu
set timeout=5
# Set default boot entry as Entry 0
set default=3
#insmod lvm
insmod part_msdos
insmod ext2
insmod font
search -n -f /boot/grub/grub.cfg --set=boot_part
if [ -e ($boot_part)/boot/grub/unicode.pf2 ] ; then
loadfont ($boot_part)/boot/grub/unicode.pf2
fi
#loadfont (hd0,1)/grub/unicode.pf2
#loadfont (hd0,1)/boot/grub/unicode.pf2
#search -n -f /boot/grub/fonts/unicode.pf2 --set=font_part
#loadfont ($font_part)/boot/fonts/grub/unicode.pf2
#insmod jpeg
#background_image (hd0,9)/grub/oxygen_1024x768.jpg
#background_image (hd0,9)/boot/grub/lxde_blue.jpg
#-----------------------
# ok
#insmod png
#background_image (hd0,9)/boot/grub/lxde_blue.png
#-----------------------
#insmod png
#background_image /boot/grub/gentoo.png
#if loadfont (hd0,9)/usr/share/grub/unicode.pf2 ; then
#if loadfont (hd0,9)/grub/unicode.pf2 ; then
set gfxmode="1024x768x32"
set gfxpayload=keep
#insmod font
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# # For backward compatibility with versions of terminal.mod that don't
# # understand terminal_output
terminal gfxterm
fi
set menu_color_normal=light-blue/black
set menu_color_highlight=light-cyan/blue
menuentry "Arch Linux 硬盘系统 x86_64" {
#set root=(hd0,8)
#/dev/disk/by-label/usb_arch_64
set root_label=arch64
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
#linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootdelay=5 liveusb archlive init=/bin/systemd
#linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootwait liveusb archlive init=/bin/systemd
linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label rw rootfstype=ext4 rootwait liveusb archlive init=/usr/lib/systemd/systemd
#systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M
initrd /boot/initramfs-linux-fallback.img
}
menuentry "Arch Linux 硬盘系统 x86_64 LTS" {
#set root=(hd0,8)
#/dev/disk/by-label/usb_arch_64
set root_label=arch64
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
#linux /boot/vmlinuz-linux-lts root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootdelay=5 liveusb archlive
linux /boot/vmlinuz-linux-lts root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootwait liveusb archlive
initrd /boot/initramfs-linux-lts-fallback.img
}
menuentry "Arch Linux 硬盘系统 i686" {
#set root=(hd0,8)
set root_label=ubuntu
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
#linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootdelay=3 liveusb archlive
linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootwait liveusb archlive
initrd /boot/initramfs-linux-fallback.img
}
## (3) Windows
menuentry "进入Windows7系统" {
insmod part_msdos
#drivemap -s (hd0) (hd1)
set root=(hd0)
chainloader (hd0,msdos1)+1
}
menuentry "进入Windows server 2003系统" {
insmod part_msdos
#drivemap -s (hd0) (hd1)
set root=(hd0)
chainloader (hd0,msdos2)+1
}
## (1) Windows
menuentry "进入Windows系统" {
insmod part_msdos
#drivemap -s (hd0) (hd1)
set root=(hd0)
chainloader (hd0,msdos1)+1
#chainloader (hd1,msdos1)+1
}
menuentry "Windows next hard driver" {
insmod part_msdos
drivemap -s (hd0) (hd1)
set root=(hd0)
chainloader (hd1,msdos1)+1
}
menuentry "Arch Linux 烧卡系统 " {
#set root=(hd0,8)
set root_label=usb_root
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
#linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootdelay=3 liveusb archlive
linux /boot/vmlinuz-linux root=/dev/disk/by-label/$root_label ro rootfstype=ext4 rootwait liveusb archlive
initrd /boot/initramfs-linux-fallback.img
}
menuentry "安装ubuntu 11.04 amd64" {
#set root=(hd0,8)
set root_label=usb_develop
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
linux /vmlinuz iso-scan/filename=/ubuntu-11.04-desktop-amd64+mac.iso boot=casper ro splash locale=zh_CN.UTF-8
initrd /initrd.lz
}
menuentry 'LinuxMint 3.2.0-4-amd64' --class ubuntu --class gnu-linux --class gnu --class os {
#recordfail
#set gfxpayload=$linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
#set root='(hd0,msdos9)'
#search --no-floppy --fs-uuid --set=root 7d497b79-c45b-41f2-aa2b-ac1c20518d11
set kernel_version='3.2.0-4-amd64'
set root_label=mint64
search --label --no-floppy --set=root $root_label
linux /boot/vmlinuz-$kernel_version root=/dev/disk/by-label/$root_label ro quiet splash vt.handoff=7
initrd /boot/initrd.img-$kernel_version
}
menuentry 'LinuxMint Linux 3.2.0-4-amd64(恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
#recordfail
insmod gzio
insmod part_msdos
insmod ext2
set kernel_version='3.2.0-4-amd64'
set root='(hd0,msdos9)'
set root_label=mint64
search --label --no-floppy --set=root $root_label
#search --no-floppy --fs-uuid --set=root 7d497b79-c45b-41f2-aa2b-ac1c20518d11
echo "载入 Linux ${kernel_version}"
#linux /boot/vmlinuz-3.2.0-18-generic root=UUID=7d497b79-c45b-41f2-aa2b-ac1c20518d11 ro recovery nomodeset
linux /boot/vmlinuz-$kernel_version root=/dev/disk/by-label/$root_label ro recovery nomodeset
echo '载入初始化内存盘...'
initrd /boot/initrd.img-$kernel_version
}
menuentry "live ubuntu-12.04-desktop-amd64.iso" {
insmod loopback
insmod ext2
insmod iso9660
set root_label=data_2t
search --label --no-floppy --set=root $root_label
loopback loop ($root)/linux_iso/ubuntu-12.04-beta1-desktop-amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linux_iso/ubuntu-12.04-beta1-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (loop)/casper/initrd.lz
}
menuentry "live ubuntu-11.10-desktop-amd64.iso" {
insmod loopback
insmod ext2
insmod iso9660
set root_label=data_2t
search --label --no-floppy --set=root $root_label
loopback loop ($root)/linux_iso/ubuntu-11.10-desktop-amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linux_iso/ubuntu-11.10-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (loop)/casper/initrd.lz
}
menuentry "live ubuntu-12.04-desktop-amd64.iso from C by iso" {
insmod loopback
insmod ext2
insmod iso9660
#set root='(hd0,msdos1)'
set root_label=data_2t
search --label --no-floppy --set=root $root_label
loopback loop ($root)/linux_iso/ubuntu-12.04-beta1-desktop-amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linux_iso/ubuntu-12.04-beta1-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (loop)/casper/initrd.lz
#linux ($root)/vmlinuz boot=casper iso-scan/filename=/linux_iso/ubuntu-12.04-beta1-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
#initrd ($root)/initrd.lz
#initrd (loop)/casper/initrd.lz
}
menuentry "winpe" --class windows --class os {
#pacman -S syslinux
insmod part_msdos
set root_label=arch64
search --label --no-floppy --set=root $root_label
#insmod memdisk
#set root='(hd0,msdos6)'
#search --no-floppy --fs-uuid --set=root B6E87D85E87D4521
#set isofile="/Iso/Microsoft_Windows_XP_Professional_x86_with_SP3_CD.iso"
set iso_file_name="/WINDOWS_iso/Win7PE-CN.iso"
search --file --set=isopart $iso_file_name
set isofile="($isopart)${iso_file_name}"
set memdisk_file="(${root})/usr/lib/syslinux/memdisk"
#set memdisk_file="/usr/lib/syslinux/memdisk" #use root
#linux16 (hd0,msdos7)/boot/memdisk iso
linux16 $memdisk_file iso
initrd16 $isofile
}
menuentry "Archlinux in loop x86_64 (on loop 自动搜索方式)" {
insmod part_msdos
insmod reiserfs
insmod loopback
#set img_label=winxp #固定label时使用,此处屏蔽
set img_file=Arch/Arch-x86_64.img
search --file --no-floppy --set=img_root /$img_file #搜索指定文件
#search --label --no-floppy --set=img_root $img_label #固定label方式
#loopback loop0 (hd0,msdos9)/$img_file
probe $img_root -l --set=img_label #探测label ,目标label 不能有中文等无法识别的字符
#probe $img_root -u --set=img_root_uuid #探测uuid 但测试发现因为大小写问题导致linux的by-uuid值不匹配
loopback loop0 ($img_root)/$img_file
set root=(loop0)
linux /boot/vmlinuz-linux real_root=loop=/dev/disk/by-label/$img_label loopfile=$img_file rootwait
#linux /boot/vmlinuz26 real_root=loop=/dev/disk/by-uuid/$img_root_uuid loopfile=$img_file quiet
initrd /boot/initramfs-linux-fallback.img
}
menuentry "Archlinux in loop x86_64 (on loop 自动搜索方式 systemd)" {
insmod part_msdos
insmod reiserfs
insmod loopback
#set img_label=winxp #固定label时使用,此处屏蔽
set img_file=Arch/Arch-x86_64.img
search --file --no-floppy --set=img_root /$img_file #搜索指定文件
#search --label --no-floppy --set=img_root $img_label #固定label方式
#loopback loop0 (hd0,msdos9)/$img_file
probe $img_root -l --set=img_label #探测label ,目标label 不能有中文等无法识别的字符
#probe $img_root -u --set=img_root_uuid #探测uuid 但测试发现因为大小写问题导致linux的by-uuid值不匹配
loopback loop0 ($img_root)/$img_file
set root=(loop0)
linux /boot/vmlinuz-linux real_root=loop=/dev/disk/by-label/$img_label loopfile=$img_file init=/bin/systemd rootwait
#linux /boot/vmlinuz26 real_root=loop=/dev/disk/by-uuid/$img_root_uuid loopfile=$img_file quiet
initrd /boot/initramfs-linux-fallback.img
}
menuentry "archiso_zfs-改进自动搜索功能x86_64" {
set iso_file=archlinux-2013.06.26-dual.iso
set arch_label=ARCH_201306
set img_file=$iso_file
search --file --no-floppy --set=img_root /$img_file #搜索指定文件
#search --label --no-floppy --set=img_root $img_label #固定label方式
probe $img_root -l --set=img_label #探测label ,目标label 不能有中文等无法识别的字符
#probe $img_root -u --set=img_root_uuid #探测uuid 但测试发现因为大小写问题导致linux的by-uuid值不匹配
loopback loop0 ($img_root)/$img_file
set root=(loop0)
linux /arch/boot/x86_64/vmlinuz img_dev=/dev/disk/by-label/$img_label img_loop=$iso_file archisolabel=$arch_label ramdisk_size=75%
initrd /arch/boot/x86_64/archiso.img
}
menuentry "LMDE 2013.03 amd64" {
#set root=(hd0,8)
set root_label=backup_2t
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
linux /develop/class_by_os/linux/linuxmint/vmlinuz iso-scan/filename=/develop/class_by_os/linux/linuxmint/linuxmint-201303-cinnamon-dvd-64bit.iso boot=casper ro splash locale=zh_CN.UTF-8
initrd /develop/class_by_os/linux/linuxmint/initrd.lz
}
menuentry "LMDE 2013.03 amd64 222" {
#set root=(hd0,8)
set root_label=backup_2t
search --label --no-floppy --set=root $root_label
set gfxpayload=keep
linux /develop/class_by_os/linux/linuxmint/vmlinuz iso-scan/filename=/develop/class_by_os/linux/linuxmint/linuxmint-201303-cinnamon-dvd-64bit.iso locale=zh_CN.UTF-8 boot=live live-media-path=/casper
initrd /develop/class_by_os/linux/linuxmint/initrd.lz
}
menuentry "Linux Mint Debian" {
set root_label=backup_2t
set iso_file_name=/develop/class_by_os/linux/linuxmint/linuxmint-201303-cinnamon-dvd-64bit.iso
search -n --file $iso_file_name --set=root_label
#search -n -f /boot/grub/grub.cfg --set=boot_part
search --label --no-floppy --set=root $root_label
#set root='(hd0,msdos2)'
loopback loop $iso_file_name
linux (loop)/casper/vmlinuz isofrom=/dev/disk/by-label/$root_label/$iso_file_name boot=live live-media-path=/casper noeject nopromt --
initrd (loop)/casper/initrd.lz
}