求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
luhailiang
帖子: 9
注册时间: 2011-02-20 0:47

求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#1

帖子 luhailiang » 2014-06-19 16:54

本人电脑是08年买的华硕笔记本电脑,一块硬盘,前段时间安装了ubuntu 14.04 ,安装顺利完成了,但是在grub界面,选择xp系统选项回车后,却只是滴的一声响,然后一个闪烁的光标就在那不停的闪,进入不了系统。
使用过 sudo update-grub2 这个命令,修复后依旧不能进入xp。
在grub界面,使用如下命令:
set root=(hd0,1)
chainloader +1
boot
之后能进入xp系统,不知道问题出在哪里,请大家指点一二,谢谢!
头像
onshoestring
论坛版主
帖子: 4666
注册时间: 2009-09-06 5:53

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#2

帖子 onshoestring » 2014-06-19 18:01

说明自动生成的grub.cfg有问题。
把grub.cfg贴出来,再把sudo blkid结果贴出来看看有什么问题。

或者
1.
menuentry "Microsoft Windows XP Professional" {
insmod ntfs
set root=(hd0,1)
chainloader +1
}
复制到/etc/grub.d/40_custom文件中
2.

代码: 全选

sudo chmod -x /etc/grub.d/30_os-prober
3.

代码: 全选

sudo update-grub
luhailiang
帖子: 9
注册时间: 2011-02-20 0:47

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#3

帖子 luhailiang » 2014-06-19 18:27

onshoestring 写了:说明自动生成的grub.cfg有问题。
把grub.cfg贴出来,再把sudo blkid结果贴出来看看有什么问题。

或者
1.
menuentry "Microsoft Windows XP Professional" {
insmod ntfs
set root=(hd0,1)
chainloader +1
}
复制到/etc/grub.d/40_custom文件中
2.

代码: 全选

sudo chmod -x /etc/grub.d/30_os-prober
3.

代码: 全选

sudo update-grub
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
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

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 {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=zh_CN
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=10
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=10
fi
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
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
linux /boot/vmlinuz-3.13.0-29-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.13.0-29-generic
}
submenu 'Ubuntu 高级选项' $menuentry_id_option 'gnulinux-advanced-3bafeadb-065e-445d-8780-1c851dbc7939' {
menuentry 'Ubuntu,Linux 3.13.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-29-generic-advanced-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
echo '载入 Linux 3.13.0-29-generic ...'
linux /boot/vmlinuz-3.13.0-29-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro quiet splash $vt_handoff
echo '载入初始化内存盘...'
initrd /boot/initrd.img-3.13.0-29-generic
}
menuentry 'Ubuntu, with Linux 3.13.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-29-generic-recovery-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
echo '载入 Linux 3.13.0-29-generic ...'
linux /boot/vmlinuz-3.13.0-29-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro recovery nomodeset
echo '载入初始化内存盘...'
initrd /boot/initrd.img-3.13.0-29-generic
}
menuentry 'Ubuntu,Linux 3.13.0-27-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-27-generic-advanced-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
echo '载入 Linux 3.13.0-27-generic ...'
linux /boot/vmlinuz-3.13.0-27-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro quiet splash $vt_handoff
echo '载入初始化内存盘...'
initrd /boot/initrd.img-3.13.0-27-generic
}
menuentry 'Ubuntu, with Linux 3.13.0-27-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-27-generic-recovery-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
echo '载入 Linux 3.13.0-27-generic ...'
linux /boot/vmlinuz-3.13.0-27-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro recovery nomodeset
echo '载入初始化内存盘...'
initrd /boot/initrd.img-3.13.0-27-generic
}
menuentry 'Ubuntu,Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
echo '载入 Linux 3.13.0-24-generic ...'
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro quiet splash $vt_handoff
echo '载入初始化内存盘...'
initrd /boot/initrd.img-3.13.0-24-generic
}
menuentry 'Ubuntu, with Linux 3.13.0-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-recovery-3bafeadb-065e-445d-8780-1c851dbc7939' {
recordfail
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
echo '载入 Linux 3.13.0-24-generic ...'
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=3bafeadb-065e-445d-8780-1c851dbc7939 ro recovery nomodeset
echo '载入初始化内存盘...'
initrd /boot/initrd.img-3.13.0-24-generic
}
}

### 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='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
knetbsd /boot/memtest86+.elf
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 3bafeadb-065e-445d-8780-1c851dbc7939
else
search --no-floppy --fs-uuid --set=root 3bafeadb-065e-445d-8780-1c851dbc7939
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Microsoft Windows XP Professional (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-C0D6-A5B8' {
insmod part_msdos
insmod fat
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 C0D6-A5B8
else
search --no-floppy --fs-uuid --set=root C0D6-A5B8
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### 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 ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###


sudo blkid

luhailiang@luhailiang:~$ sudo blkid
[sudo] password for luhailiang:
/dev/sda1: LABEL="OS" UUID="C0D6-A5B8" TYPE="vfat"
/dev/sda5: LABEL="Data" UUID="0004E7980009946C" TYPE="ntfs"
/dev/sda6: UUID="3bafeadb-065e-445d-8780-1c851dbc7939" TYPE="ext4"
/dev/sda7: UUID="0de6b544-5aab-4e74-9164-2da6d7bdc868" TYPE="swap"
luhailiang@luhailiang:~$
头像
onshoestring
论坛版主
帖子: 4666
注册时间: 2009-09-06 5:53

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#4

帖子 onshoestring » 2014-06-19 19:07

insmod fat
/dev/sda1: LABEL="OS" UUID="C0D6-A5B8" TYPE="vfat"
看不出什么问题,确定是fat文件系统?
luhailiang
帖子: 9
注册时间: 2011-02-20 0:47

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#5

帖子 luhailiang » 2014-06-19 19:11

onshoestring 写了:说明自动生成的grub.cfg有问题。
把grub.cfg贴出来,再把sudo blkid结果贴出来看看有什么问题。

或者
1.
menuentry "Microsoft Windows XP Professional" {
insmod ntfs
set root=(hd0,1)
chainloader +1
}
复制到/etc/grub.d/40_custom文件中
2.

代码: 全选

sudo chmod -x /etc/grub.d/30_os-prober
3.

代码: 全选

sudo update-grub
非常感谢您的指点,按照您的方法,已经成功引导进入。谢谢!
luhailiang
帖子: 9
注册时间: 2011-02-20 0:47

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#6

帖子 luhailiang » 2014-06-19 19:13

onshoestring 写了:insmod fat
/dev/sda1: LABEL="OS" UUID="C0D6-A5B8" TYPE="vfat"
看不出什么问题,确定是fat文件系统?

对的,我C盘是FAT32的格式,D盘是NTFS的。
头像
onshoestring
论坛版主
帖子: 4666
注册时间: 2009-09-06 5:53

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#7

帖子 onshoestring » 2014-06-19 19:18

luhailiang 写了:
onshoestring 写了:insmod fat
/dev/sda1: LABEL="OS" UUID="C0D6-A5B8" TYPE="vfat"
看不出什么问题,确定是fat文件系统?

对的,我C盘是FAT32的格式,D盘是NTFS的。
那就把/etc/grub.d/40_custom中一行改成红字,再sudo update-grub。

menuentry "Microsoft Windows XP Professional" {
insmod fat
set root=(hd0,1)
chainloader +1
}

水平太低,看不出来系统生成的grub.cfg有什么问题。
头像
TeliuTe
论坛版主
帖子: 7675
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#8

帖子 TeliuTe » 2014-06-19 19:38

XP下用grldr+menu.lst来引导Ubuntu也挺方便,grub2的配置文件看得眼花
淡如水
帖子: 2
注册时间: 2014-07-09 13:35
系统: XP

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#9

帖子 淡如水 » 2014-07-15 17:29

onshoestring, 你好,我也出现的同样的毛病,不过我安装的是Ubuntu12.04,并且在grub界面,使用如下命令:
set root=(hd0,1)
chainloader +1
boot后还是进不去XP系统,不知道怎么回事
zbs
帖子: 9
注册时间: 2014-01-28 23:04

Re: 求助,ubuntu 14.04 能进入ubuntu,进入xp系统出现问题。

#10

帖子 zbs » 2015-02-06 19:20

还有一种方法,直接让grub 引导 windows 的启动镜像 bootmgr
方法就是把grub.cfg 关于win8 的地方改为下
menuentry 'Microsoft Windows 8'{
insmod ntfs
insmod ntldr
set root=(hd0,1) ##前提是你的win 8 安装在hd(0,1)盘下
search --set -f /bootmgr
ntldr /bootmgr

}


亲测可用,最新的 ubuntu 14.04 lts & windows 8 ,grub引导双系统。
重点是不管有没有 win8 完全关机,都可以进入grub 引导菜单 !!!
唯一不足就是,在这种情况下, 在ubuntu下无法打开c盘。。。
还是可以接受的。。。
回复