我有一个 Kubuntu 14.04 和 Windows 7 的双启动系统,在很长一段时间没有使用 Windows 后,我尝试启动它,但得到的只是一声蜂鸣声和黑屏,然后计算机死机了。我尝试过使用 Windows 7 修复工具,但没有成功。后记 我尝试重新安装 Windows 7,然后 Windows 出现了,效果很好,但是当我恢复 grub 以便我能够启动到 ubuntu 时,它也遇到了同样的问题。我在网上查看并重新安装了 grub 好几次,尝试将 Windows grub 设置更改为 ntldr 但没有任何效果,而且我总是得到相同的行为。最后我尝试安装Windows 8.1。安装后,它就像 win7 一样工作,但是当我修复 grub 来启动 Ubuntu 时,它就停止工作了。我也尝试过启动修复,这是它给出的输出 http://paste.ubuntu.com/8881166/
我现在正在努力解决这个问题几天,任何帮助将不胜感激。
答案1
所以最后我所做的是进入 grub 命令提示符并从 /boot/grub/grub.cfg 逐行运行 Windows 的启动命令。这是grub.cfg中的菜单项代码
menuentry 'Windows 8 (loader) (on /dev/sda3)' --class windows --class os
$menuentry_id_option 'osprober-chain-A6A4F8AFA4F882DB' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 A6A4F8AFA4F882DB
else
search --no-floppy --fs-uuid --set=root A6A4F8AFA4F882DB
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
我跑的线路是:
insmod part_msdos
insmod ntfs
set root='hd0,msdos3'
parttool ${root} hidden- # Causes the beep and the computer freeze...
# There are more commands before you can boot
所以我决定跳过这个命令。应该做的是修改分区表条目(从GRUB 手册)或者在这种特定情况下,将分区“隐藏”条目设置为 false。我不知道为什么会发生这种情况,我还没有检查过。
我得到的是以下内容
menuentry 'Windows 8 (loader) (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-chain-A6A4F8AFA4F882DB' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 A6A4F8AFA4F882DB
else
search --no-floppy --fs-uuid --set=root A6A4F8AFA4F882DB
fi
drivemap -s (hd0) ${root}
chainloader +1
}
现在运行得很好!