当前位置:主页 > 系统教程 > 技术员详解win10系统ubuntu 12.04 xp双盘3系统grub配置的方案

技术员详解win10系统ubuntu 12.04 xp双盘3系统grub配置的方案

发布日期:2019-09-12      作者:小虾工作室      来源:http://www.winxpsp3.com

 win10系统是很多电脑用户首选的装机系统,然而有不少用户在使用过程中可能会碰到win10系统ubuntu 12.04 xp双盘3系统grub配置的情况。大部分用户电脑技术都是菜鸟水平,面对win10系统ubuntu 12.04 xp双盘3系统grub配置的问题,无法自行解决。不少用户都来咨询小编win10系统ubuntu 12.04 xp双盘3系统grub配置要怎么处理?其实可以根据以下步骤即在/boot/grub/grub.cfg中添加如下内容即可这样的方式进行电脑操作,就可以搞定了。下面就和小编一起看看解决win10系统ubuntu 12.04 xp双盘3系统grub配置问题详细的操作步骤:


 盘1: ubuntu12.04 win10

  盘2: xp

  sudo update-grub 的结果只有win10 和 ubuntu,点击win10进入系统,看到了win10和xp,win10可以启动,但是xp不能。于是在网上搜索找到了一个别人的xp和ubuntu共存的grub文件。

  发现我的少了一句话,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:盘,所以是第一个分区

  整个的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 ###

 

 

栏目专题推荐

系统下载推荐

系统教程推荐