双启动 Windows XP/debian,我无法启动 Windows

双启动 Windows XP/debian,我无法启动 Windows

我尝试设置 Windows xp/debian 双启动。我在windows之后安装了Debian,现在无法启动windows xp。我有grub2。

我尝试直接修改 /boot/grub/grub.cfg

menuentry 'WinXP'  {
    insmod part_msdos
    set root='(hd0,msdos4)'
    insmod chain
    chainloader +1
}

但我无法做到这一点。当我在 grub 菜单中选择 winXP 时,出现黑屏并且系统重新启动。

请问,有什么提示吗?


输出df -h

Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                   30G  8.3G   20G  30% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   177M  628K  177M   1% /run
/dev/disk/by-uuid/4eba1bb8-14f7-4920-a9c3-2fb8894626d3   30G  8.3G   20G  30% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   764M  232K  764M   1% /run/shm
/dev/sda6                                                92G  2.3G   85G   3% /data
/dev/sda5                                               9.9G  258M  9.1G   3% /home

的输出sudo fdisk -l

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00089f15

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *   204796620   267710463    31456922   83  Linux
/dev/sda2       267710464   271904767     2097152   82  Linux swap / Solaris
/dev/sda3       271906814   488397167   108245177    5  Extended
/dev/sda4           16128   204796619   102390246    7  HPFS/NTFS/exFAT
/dev/sda5       271906816   292878335    10485760   83  Linux
/dev/sda6       292880384   488397167    97758392   83  Linux

Partition table entries are not in disk order

输出/boot/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
  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 load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 4eba1bb8-14f7-4920-a9c3-2fb8894626d3
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos1)'
  search --no-floppy --fs-uuid --set=root 4eba1bb8-14f7-4920-a9c3-2fb8894626d3
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 4eba1bb8-14f7-4920-a9c3-2fb8894626d3
insmod png
if background_image /usr/share/images/desktop-base/joy-grub.png; then
  set color_normal=white/black
  set color_highlight=black/white
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-686-pae' --class debian --class gnu-linux --class gnu --class os {
    load_video
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 4eba1bb8-14f7-4920-a9c3-2fb8894626d3
    echo    'Loading Linux 3.2.0-4-686-pae ...'
    linux   /boot/vmlinuz-3.2.0-4-686-pae root=UUID=4eba1bb8-14f7-4920-a9c3-2fb8894626d3 ro  noapic nolapic
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-4-686-pae
}
menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-686-pae (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
    load_video
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 4eba1bb8-14f7-4920-a9c3-2fb8894626d3
    echo    'Loading Linux 3.2.0-4-686-pae ...'
    linux   /boot/vmlinuz-3.2.0-4-686-pae root=UUID=4eba1bb8-14f7-4920-a9c3-2fb8894626d3 ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.2.0-4-686-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/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

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

答案1

如果我理解的话微软文档正确(我应该对你投反对票,只是为了让我读到它;)),XP 无法从 GPT 磁盘加载:

问:Windows XP x64 可以从 GPT 磁盘读取、写入和启动吗?

答:Windows XP x64 版本只能使用 GPT 磁盘存储数据。

问:32 位版本的 Windows XP 可以从 GPT 磁盘读取、写入和启动吗?

答:不能。32 位版本只能看到保护性 MBR。 EE 分区不会被安装或以其他方式暴露给应用程序软件。

所以,看起来即使你可以使用 grub 来查看 Windows 安装,您仍然无法从 GPT 磁盘启动它。

相关内容