好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

win7 ubuntu 12.04 xp双盘3 系统 grub配置

 

盘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)'

    drivemap -s (hd0) ${root} 

}

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 {

  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

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

  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

else

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

    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

    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

    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

    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

    set root='(hd1,msdos6)'

    search --no-floppy --fs-uuid --set=root 2636856c-62cc-4195-8995-148eb8cfb30c

}

### 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_ms dos

    insmod ntfs

    set root='(hd0,msdos1)'

}

### END /etc/grub.d/30_os-prober ###

menuentry "Windows xp" --class windows --class os {

    insmod ntfs

    set root='(hd0,1)'

    drivemap -s (hd0) ${root} 

}

### 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 ###

 

查看更多关于win7 ubuntu 12.04 xp双盘3系统grub配置 - Windows操作系统的详细内容...

  阅读:43次