无忧启动论坛

标题: 新人使用GRUB4DOS引导LINUX的疑惑 [打印本页]

作者: Hcxp    时间: 2011-2-16 05:01
标题: 新人使用GRUB4DOS引导LINUX的疑惑
想通过GURB4DOS引导LINUX,老是不成功,大虾帮我看看那里出了问题呢,先谢谢咯。
分区情况:第一个主分区Win7 第二个主分区装LINUX,第三主分区装的Win xp.
下面的分别是GRUB.CFG和MENU.LST内容。

__________________________这个是GRUB.CFG的内容________________________________
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
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 {
  insmod vbe
  insmod vga
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
set locale_dir=($root)/boot/grub/locale
set lang=zh
insmod gettext
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/06_deepin_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
insmod png
if background_image /boot/grub/linuxdeepin.png ; then
  set color_normal=white/black
  set color_highlight=white/light-gray
else
  set menu_color_normal=white/black
  set menu_color_highlight=white/light-gray
fi
### END /etc/grub.d/06_deepin_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Linux Deepin 10.12, 2.6.35-23-generic (/dev/sda2)' --class deepin --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
linux /boot/vmlinuz-2.6.35-23-generic root=UUID=d4d9fdb6-d241-47f0-8057-ca87f0559467 ro   quiet splash
initrd /boot/initrd.img-2.6.35-23-generic
}

menuentry 'Linux Deepin 10.12, 2.6.35-23-generic (/dev/sda2) -- recovery mode' --class deepin --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
echo 'Loading Linux 2.6.35-23-generic ...'
linux /boot/vmlinuz-2.6.35-23-generic root=UUID=d4d9fdb6-d241-47f0-8057-ca87f0559467 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-23-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set d4d9fdb6-d241-47f0-8057-ca87f0559467
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set ea249bdf249bacd7
chainloader +1
}
menuentry "Windows NT/2000/XP (loader) (on /dev/sda4)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos4)'
search --no-floppy --fs-uuid --set 5e9c303b9c30104f
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
___________________________这个是menu.lst内容______________________________
# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.
color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default

title deepin
root (hd0,2)
kernel /boot/vmlinuz-2.6.35-23-generic root=UUID=d4d9fdb6-d241-47f0-8057-ca87f0559467 ro   quiet splash
initrd /boot/initrd.img-2.6.35-23-generic
boot


title Windows XP
fallback 1
find --set-root --ignore-floppies /ntldr
chainloader /ntldr
savedefault --wait=2

title Windows 7
fallback 2
find --set-root --ignore-floppies /bootmgr
chainloader /bootmgr
savedefault --wait=2

[ 本帖最后由 2011hcxp 于 2011-2-16 05:37 编辑 ]
作者: Hcxp    时间: 2011-2-16 05:39
刚才试了下下边这个还是不行。
title [1] LinuxDeepin  
root  (hd0,2)
kernel /boot/vmlinuz-2.6.35-23-generic root=/dev/sda2 ro quiet splash
initrd /boot/initrd.img-2.6.35-23-generic
boot
作者: deddey    时间: 2011-2-16 10:49
安装默认是grub2为启动器的发行版,我个人觉得最简单的方法就是安装linux时将brub2安装在linux所在的分区,比如楼主的 (hd0,2)分区,在g4d中用
title Deepin linux
chainloader  (hd0,2)+1
boot
跳转到该发行版自己的grub2菜单,这样在linux升级内核好也不用修改g4d的菜单
作者: sgw888    时间: 2011-2-16 17:21
grub4dos 引导第二主分区应该是 (hd0,1)这样吧?

title 引导第二主分区
chainloader (hd0,1)+1

????
作者: Hcxp    时间: 2011-2-17 00:23
标题: 回复 #3 deddey 的帖子
谢谢你的解答,我等会试下。
作者: Hcxp    时间: 2011-2-17 00:28
标题: 回复 #3 deddey 的帖子
我是想通过4DOS直接加载linux内核不知道可以不。?
作者: deddey    时间: 2011-2-17 16:13
当然可以,就如sgw888说的,你的g4d的菜单中(hd0,2)应该改为(hd0,1),试试如下的
title deepin
root (hd0,1)
kernel /boot/vmlinuz-2.6.35-23-generic root=UUID=d4d9fdb6-d241-47f0-8057-ca87f0559467 ro   quiet splash
initrd /boot/initrd.img-2.6.35-23-generic
boot

grub2中的硬盘号从0开始,(hd0)是第一硬盘,(hd1)是第二硬盘,这个和grub及grub4dos是一样的
但分区号是从1开始,如(hd0,1)是第一硬盘的第一分区,(hd0,2)是第一硬盘的第二分区,这和grub及grub4dos就不一样,grub及grub4dos的分区号也是从0开始,如(hd0,0)才是第一硬盘的第一分区,(hd0,1)才是第一硬盘的第二分区




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3