永发信息网

如何在XP下用grub引导12.04的grub2

答案:2  悬赏:30  手机版
解决时间 2021-03-22 21:06
  • 提问者网友:不爱我么
  • 2021-03-22 02:16
如何在XP下用grub引导12.04的grub2
最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-03-22 03:10
按F5跳过检索,建议开机后用百度卫士全面体检电脑
这个是硬盘读取问题,正常的,有时候电脑硬盘会出现
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-03-22 04:33
盘1: ubuntu12.04 win7 盘2: xp sudo update-grub 的结果只有win7 和 ubuntu,点击win7进入系统,看到了win7和xp,win7可以启动,但是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 ###
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯