我知道已经有几个关于此问题的帖子了,但我无法通过阅读论坛来弄清楚如何修复我的引导加载程序。我尝试了 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
答案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
。选项将找到坏扇区并修复它们。