网站地图    收藏   

主页 > 系统 > windows >

win7 ubuntu 12.04 xp双盘3系统grub配置 - Windows操作系统

来源:自学PHP网    时间:2015-04-17 17:13 作者: 阅读:

[导读] win7 ubuntu 12.04 xp双盘3系统grub配置盘1: ubuntu12.04 win7盘2: xpsudo update-grub 的结果只有win7 和 ubuntu,点击win7进入系统,看到了win7和xp,win7可以启动,但是xp不能。于是在网上搜索找......

win7 ubuntu 12.04 xp双盘3系统grub配置
 
盘1: ubuntu12.04 win7
盘2: xp
sudo update-grub  的结果只有win7 和 ubuntu,点击win7进入系统,看到了win7和xp,win7可以启动,但是xp不能。于是在网上搜索找到了一个别人的xp和ubuntu共存的grub文件。  www.2cto.com  
发现我的少了一句话,drivemap -s (hd0) ${root},于是加上就ok了。
即在/boot/grub/grub.cfg中添加如下内容即可
menuentry "Windows xp" --class windows --class os {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set=root 4C844B34844B2036
    drivemap -s (hd0) ${root} 
    chainloader +1
}
set root=(hd0,1),代表第0块磁盘的第一个分区,其中硬盘号是从0开始,分区号是从1开始。我的xp是在第0个分区。我的xp和ubuntu不再同一个磁盘,grub中ubuntu显示在hd1所以xp必然在hd0,而系统在c:盘,所以是第一个分区
  www.2cto.com  
整个的grub文件如下:
 
#
# 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 video_bochs
  insmod video_cirrus
}
 
insmod part_msdos
insmod ext2
set root='(hd1,msdos6)'
search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd1,msdos6)'
  search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c
  set locale_dir=($root)/boot/grub/locale
  set lang=zh_CN
  insmod gettext
fi
terminal_output gfxterm
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
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###
 
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="$1"
    if [ "$1" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu,Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos6)'
    search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c
    linux    /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=2636856c-62cc-4195-8995-148eb8cfb30c ro   quiet splash $vt_handoff
    initrd    /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu,Linux 3.2.0-23-generic-pae (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos6)'
    search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c
    echo    '载入 Linux 3.2.0-23-generic-pae ...'
    linux    /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=2636856c-62cc-4195-8995-148eb8cfb30c ro recovery nomodeset 
    echo    '载入初始化内存盘...'
    initrd    /boot/initrd.img-3.2.0-23-generic-pae
}
### END /etc/grub.d/10_linux ###
 
### 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='(hd1,msdos6)'
    search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos6)'
    search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c
    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)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 4C844B34844B2036
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###
menuentry "Windows xp" --class windows --class os {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set=root 4C844B34844B2036
    drivemap -s (hd0) ${root} 
    chainloader +1
}
### 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 ###
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论