感谢您的时间阅读本文,情况如下:
我从 11.10 升级到了 12.04,一切都很顺利,直到我重新启动,我成功地将 11.10 与 Windows Vista 进行了双启动。当我重新启动时,我的 GRUB 就崩溃了,无论我选择什么选项,它都说找不到分区或类似的东西...启动到拇指驱动器上的实时版本并从那里运行 bootrepair 解决了这个问题...但仅适用于 ubuntu,当我尝试启动到 Windows 时,它只会返回到 GRUB。我不在家,这是我随身携带的东西的清单...
- 1 个 4GB 的 U 盘,空的
- 1 个 8GB 拇指驱动器,可启动 Windows Vista 安装程序
- 1 台旧笔记本电脑,我试图保存的那台,光驱不存在
- 2 Mbps 互联网连接
您能帮助我重新回到我的 Windows 而不用重新安装 Windows 吗?或者至少告诉我如何通过虚拟机等使用我的 Illustrator?
这是我的 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 video_bochs
insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
set locale_dir=($root)/boot/grub/locale
set lang=de_DE
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, mit Linux 3.2.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
linux /boot/vmlinuz-3.2.0-24-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-24-generic
}
menuentry 'Ubuntu, mit Linux 3.2.0-24-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
echo 'Linux 3.2.0-24-generic wird geladen …'
linux /boot/vmlinuz-3.2.0-24-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro recovery nomodeset
echo 'Initiale Ramdisk wird geladen …'
initrd /boot/initrd.img-3.2.0-24-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, mit Linux 3.0.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
linux /boot/vmlinuz-3.0.0-19-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.0.0-19-generic
}
menuentry 'Ubuntu, mit Linux 3.0.0-19-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
echo 'Linux 3.0.0-19-generic wird geladen …'
linux /boot/vmlinuz-3.0.0-19-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro recovery nomodeset
echo 'Initiale Ramdisk wird geladen …'
initrd /boot/initrd.img-3.0.0-19-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,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Vista (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 2C9E66B39E6674EC
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 ###
答案1
根据 Boot Info Script 输出,您意外地将 grub 的引导扇区安装到了 Windows 分区(grub 的引导扇区应始终安装到 MBR,而不是分区)。如果您从未亲自运行过 grub-install,那么可能是 Boot Repair 造成了这种情况,在这种情况下,您应该针对 Boot Repar 提交错误报告。要修复此问题,您需要恢复 Windows PBR。您可以按照以下指南进行操作:http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:Boot_Sector。
答案2
尝试将 UEFI 加载程序更改为其他可用的加载程序。这解决了我的问题。
答案3
sudo gedit /boot/grub/grub.cfg
以超级用户身份打开文件,以便可以写入- 转至
### 开始 /etc/grub.d/30_os-prober ### 菜单项“Windows Vista (加载器) (在 /dev/sda1 上)”--class windows --class os { 修改 part_msdos 修改ntfs 设置根目录='(hd0,msdos1)' 搜索--no-floppy--fs-uuid--set = root 2C9E66B39E6674EC 链式装载机 +1 }
### END /etc/grub.d/30_os-prober
### - 在该行之前
chainloader +1
添加以下行:驱动器映射 -s (hd0) ${root}
那么该部分应该看起来像### 开始 /etc/grub.d/30_os-prober ### 菜单项“Windows Vista (加载器) (在 /dev/sda1 上)”--class windows --class os { 修改 part_msdos 修改ntfs 设置根目录='(hd0,msdos1)' 搜索--no-floppy--fs-uuid--set = root 2C9E66B39E6674EC 驱动器映射 -s (hd0) ${root} 链式装载机 +1 }
### END /etc/grub.d/30_os-prober
### - 保存文件并退出。
- 重新启动系统并启动至 Windows Vista。
答案4
我同意乔丹的观点,你需要修复 sda1 的引导扇区。
有关信息 Boot-Repair 默认在 MBR 中安装 GRUB,并且它没有任何选项可以在 Windows 分区的 PBR 中安装 GRUB,所以这不可能是 BR 的错误。