Grub。双启动 Windows XP 和 Lubuntu

Grub。双启动 Windows XP 和 Lubuntu

我知道已经有几个关于此问题的帖子了,但我无法通过阅读论坛来弄清楚如何修复我的引导加载程序。我尝试了 GRUB 和 GRUB2,但无法成功启动 Windows XP。文件系统仍然存在,但当我尝试从 GRUB 加载 Windows 时,我只得到一个空白屏幕,然后 GRUB 重新启动... 有什么想法我可以做什么吗?

编辑:

我尝试了超级 GRUB2 但是只列出了 Linux 内核......

我尝试使用 Super Grub 但仍然不行...

编辑:

我按照@wojox 的建议运行了 bash 脚本。结果显示核心。图片丢失了?:

    Boot Info Script 0.55    dated February 15th, 2010                    

============================= Boot Info Summary: ==============================

 => Syslinux is installed in the MBR of /dev/sda

sda1: _________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Grub 2
    Boot sector info:  Grub 2 is installed in the boot sector of sda1 and 
                       looks at sector 473985688 of the same hard drive for 
                       core.img, but core.img can not be found at this 
                       location. No errors found in the Boot Parameter Block.
    Operating System:  Windows XP
    Boot files/dirs:   /boot.ini /ntldr /NTDETECT.COM 
                       /ubuntu/winboot/wubildr.mbr /ubuntu/winboot/wubildr

sda2: _________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info:  

sda5: _________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info:  
    Operating System:  Ubuntu 10.10
    Boot files/dirs:   /boot/grub/menu.lst /boot/grub/grub.cfg /etc/fstab

sda6: _________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info:  

=========================== Drive/Partition Info: =============================

Drive: sda ___________________ _____________________________________________________

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders, total 488281250 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot         Start           End          Size  Id System

/dev/sda1    *             63   322,706,093   322,706,031   7 HPFS/NTFS
/dev/sda2         322,707,454   488,280,063   165,572,610   5 Extended
/dev/sda5         322,707,456   481,447,935   158,740,480  83 Linux
/dev/sda6         481,449,984   488,280,063     6,830,080  82 Linux swap / Solaris


blkid -c /dev/null: ____________________________________________________________

Device           UUID                                   TYPE       LABEL                         

/dev/loop0                                              squashfs                                 
/dev/sda1        A4F02D76F02D503A                       ntfs       OS                            
/dev/sda2: PTTYPE="dos" 
/dev/sda5        f16f8a16-93e2-4928-a21b-4a43f51913a7   ext4                                     
/dev/sda6        d2d9f632-3ec6-4a81-9781-11397345d694   swap                                     
/dev/sda: PTTYPE="dos" 

============================ "mount | grep ^/dev  output: ===========================

Device           Mount_Point              Type       Options

aufs             /                        aufs       (rw)
/dev/sr0         /cdrom                   iso9660    (ro,noatime)
/dev/loop0       /rofs                    squashfs   (ro,noatime)


================================ sda1/boot.ini: ================================

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

=========================== sda5/boot/grub/menu.lst: ===========================

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-legacy-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default        0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout        3

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
#title        Windows XP
#root        (hd0,0)
#makeactive
#chainloader    +1
#
# title        Linux
# root        (hd0,1)
# kernel    /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=f16f8a16-93e2-4928-a21b-4a43f51913a7

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
##      indomU=true
##      indomU=false
# indomU=detect

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title        Ubuntu 10.10, kernel 2.6.35-28-generic
uuid        f16f8a16-93e2-4928-a21b-4a43f51913a7
kernel        /boot/vmlinuz-2.6.35-28-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro quiet splash 
initrd        /boot/initrd.img-2.6.35-28-generic

title        Ubuntu 10.10, kernel 2.6.35-28-generic (recovery mode)
uuid        f16f8a16-93e2-4928-a21b-4a43f51913a7
kernel        /boot/vmlinuz-2.6.35-28-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro  single
initrd        /boot/initrd.img-2.6.35-28-generic

title        Ubuntu 10.10, kernel 2.6.35-22-generic
uuid        f16f8a16-93e2-4928-a21b-4a43f51913a7
kernel        /boot/vmlinuz-2.6.35-22-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro quiet splash 
initrd        /boot/initrd.img-2.6.35-22-generic

title        Ubuntu 10.10, kernel 2.6.35-22-generic (recovery mode)
uuid        f16f8a16-93e2-4928-a21b-4a43f51913a7
kernel        /boot/vmlinuz-2.6.35-22-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro  single
initrd        /boot/initrd.img-2.6.35-22-generic

title        Ubuntu 10.10, memtest86+
uuid        f16f8a16-93e2-4928-a21b-4a43f51913a7
kernel        /boot/memtest86+.bin

### END DEBIAN AUTOMAGIC KERNELS LIST

=========================== sda5/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
  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 part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
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
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.35-28-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
    linux    /boot/vmlinuz-2.6.35-28-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro   quiet splash
    initrd    /boot/initrd.img-2.6.35-28-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-28-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
    echo    'Loading Linux 2.6.35-28-generic ...'
    linux    /boot/vmlinuz-2.6.35-28-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro single 
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.35-28-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
    linux    /boot/vmlinuz-2.6.35-22-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro   quiet splash
    initrd    /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
    echo    'Loading Linux 2.6.35-22-generic ...'
    linux    /boot/vmlinuz-2.6.35-22-generic root=UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 ro single 
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.35-22-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,msdos5)'
    search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos5)'
    search --no-floppy --fs-uuid --set f16f8a16-93e2-4928-a21b-4a43f51913a7
    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)" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set a4f02d76f02d503a
    drivemap -s (hd0) ${root}
    chainloader +1
}
### 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 ###

=============================== sda5/etc/fstab: ===============================

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda5 during installation
UUID=f16f8a16-93e2-4928-a21b-4a43f51913a7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d2d9f632-3ec6-4a81-9781-11397345d694 none            swap    sw              0       0

=================== sda5: Location of files loaded by Grub: ===================


 197.6GB: boot/grub/grub.cfg
 242.7GB: boot/grub/menu.lst
 166.2GB: boot/initrd.img-2.6.35-22-generic
 166.3GB: boot/initrd.img-2.6.35-28-generic
 242.8GB: boot/vmlinuz-2.6.35-22-generic
 242.8GB: boot/vmlinuz-2.6.35-28-generic
 166.3GB: initrd.img
 166.2GB: initrd.img.old
 242.8GB: vmlinuz
 242.8GB: vmlinuz.old

答案1

你启动了 Ubuntu 并运行

sudo update-grub

尝试运行 Live CD 并下载并运行启动信息脚本

答案2

我认为我遇到的问题是,我在 Windows 分区的开头以及主驱动器上安装了 grub?此外,我还安装了 GRUB 1 和 2,根据我对 grub 的理解,我认为这不是一个好主意。我按照此说明进行操作论坛卸载 grub 和 GRUB2 并重新安装全新的 GRUB2。接下来我遇到的问题是 Windows 无法启动...我只会看到一个闪烁的光标。我使用 Windows cd 启动到控制台并使用 FIXBOOT 命令。我预计这会清除 GRUB,但它保留了 GRUB,现在我可以启动 Windows 和 Lubuntu。

答案3

如果你使用分区对磁盘进行分区,Windows 系统将出现需要chkdsk修复的错误。我用 XP 磁盘执行了此操作。什么磁盘都无所谓。我的上网本上有 Home Edition,并使用 XP Pro 磁盘运行命令提示符。在提示符下,键入chkdsk c: /f /r。选项将找到坏扇区并修复它们。

相关内容