Windows 无法通过 grub 启动

Windows 无法通过 grub 启动

我有一个 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
}

现在运行得很好!

相关内容