|

楼主 |
发表于 2009-2-13 10:14:36
|
显示全部楼层
第二天我还发现可以把dos下的grub2装在mbr, win, linux, macosx的引导均无问题,只是grub2的chainloader在同一个分区内只能引导一个扇区,为了在以防万一时启动winpe,可以在grub2里调用grub4dos, 例如grub.cfg文件加入如下内容:
menuentry "Grub4dos"
{
set root=(hd0,1)
linux /loadbin.bin
initrd /grldr
}
来引导grub4dos, 然后引导winpe。
装了grub2,可以随心所欲地把漂亮的jpeg和png图片放进来作为开机画面。注意dos下grub2和linux下的grub2因版本不同,grub.cfg在调用font和gfxterm上略有不同,我把我两个grub.cfg贴在此供大家参考,这个是Dos下的(/boot/grub/grub.cfg):
# This is a grub.cfg example
set default=1
set timeout=10
set root=(hd0,1)
# function gfx
# {
insmod video
insmod vbe
insmod gfxterm
insmod png
insmod jpeg
loadfont hd(0,1)/boot/grub/unifont.pf2
# if font /unifont.pff; then
set gfxmode="640x480"
terminal_output gfxterm
background_image (hd0,1)/boot/grub/1.jpg
# fi
# }
set menu_color_normal=green/black
set menu_color_highlight=blue/yellow
# set timeout=10
# gfx
menuentry "Grub4dos"
{
set root=(hd0,1)
linux /loadbin.bin
initrd /grldr
}
menuentry "Windows 2008"
{
set root=(hd0,1)
chainloader +1
}
menuentry "Fedora 11"
{
set root=(hd0,3)
linux /boot/vmlinuz-2.6.29-0.110.rc4.git3.fc11.x86_64 ro root=LABEL=/ rootfstype=ext4 rhgb quiet vga=0x318
initrd /boot/initrd-2.6.29-0.110.rc4.git3.fc11.x86_64.img
}
menuentry "Mac Os X Leopard 10.5.6"
{
set root=(hd0,1)
multiboot /boot/boot_v9
}
menuentry "Microsoft Dos 7.1"
{
set root=(hd0,1)
linux /loadbin.bin
initrd /ntldr
}
# menuentry "Graphic Mode"
# {
# gfx
# }
menuentry "Halt"
{
halt
}
下面是linux下的(/etc/grub2.cfg)
#
# This is automatically generated by /usr/sbin/update-grub2 using templates
# from /etc/grub.d and settings from /etc/default/grub
#
# If you want your changes to persist across updates, add them
# to 90_persistent section
#
### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=5
set root=(hd0,3)
search --fs-uuid --set 4dbe7d17-326c-410a-a214-a7f062e728e0
insmod video
insmod vbe
insmod gfxterm
insmod png
insmod jpeg
font (hd0,3)/boot/grub2/unifont.pff
set gfxmode=1440x900
terminal gfxterm
background_image (hd0,3)/boot/grub2/Dune.jpg
### END /etc/grub.d/00_header ###
set menu_color_normal=green/black
set menu_color_highlight=blue/yellow
### BEGIN /etc/grub.d/10_hurd ###
### END /etc/grub.d/10_hurd ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Fedora, linux 2.6.29-0.110.rc4.git3.fc11.x86_64" {
set root=(hd0,3)
search --fs-uuid --set 4dbe7d17-326c-410a-a214-a7f062e728e0
linux /boot/vmlinuz-2.6.29-0.110.rc4.git3.fc11.x86_64 root=UUID=4dbe7d17-326c-410a-a214-a7f062e728e0 ro rootfstype=ext4 quiet rhgb vga=0x318
initrd /boot/initrd-2.6.29-0.110.rc4.git3.fc11.x86_64.img
}
menuentry "Fedora, linux 2.6.29-0.110.rc4.git3.fc11.x86_64 (single-user mode)" {
set root=(hd0,3)
search --fs-uuid --set 4dbe7d17-326c-410a-a214-a7f062e728e0
linux /boot/vmlinuz-2.6.29-0.110.rc4.git3.fc11.x86_64 root=UUID=4dbe7d17-326c-410a-a214-a7f062e728e0 ro single quiet rhgb
initrd /boot/initrd-2.6.29-0.110.rc4.git3.fc11.x86_64.img
}
menuentry "Wndows Vista x64"{
set root=(hd0,4)
chainloader +1
}
menuentry "Halt"
{
halt
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ### |
|