Ubuntu 更新后 grub 中缺少 Windows 10

Ubuntu 更新后 grub 中缺少 Windows 10

因此,几天前我将 Ubuntu 更新到了 14.04,然后我发现 Windows 10 从 grub 菜单选项中消失了。我尝试了多种变体update-grub,也尝试使用启动修复,但没有任何解决办法。这是启动修复中的pastebin

我不知道下一步该尝试什么。有什么帮助吗?

编辑:在阅读其他地方的一些建议后,我尝试编辑/etc/grub.b/40_common,以下是其当前内容:

#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry "Windows 10" {
    set root='(hd0,msdos1)'
    chainloader +1
}
menuentry "Windows 102" {
    set root='(hd0,msdos2)'
    chainloader +1
}

但从“Windows 10x”选项启动均无效。

选项 1(set root='(hd0,msdos1)')显示此错误(imgur .com/AbymY1r.jpg),该错误会在屏幕上停留约半分钟或直到我ctrl+alt+del退出(重新启动计算机并返回到 grub)。

另一方面,选项 2 会发出此错误:

BOOTMGR is missing
Press Ctrl+Alt+Del do restart

我尝试通过 Windows 10 安装盘使用修复选项,以及其中的各种命令(例如bootrec /RebuildBcdbootrec /FixMbrbootrec /FixBoot),但所做的一切只是再次搞砸了 grub,最终我无法启动到 Ubuntu 或 Windows。我使用 Ubuntu Live CD 让 grub 回来了,现在我又回到了同样的问题,除了我手动添加到 grub 中的这些新的 Windows 10 条目。

这是以下的输出fsbkl -f

NAME   FSTYPE LABEL           MOUNTPOINT
sda                           
├─sda1 ntfs   System Reserved 
├─sda2 ntfs                   
├─sda3                        
├─sda5 swap                   [SWAP]
└─sda6 ext4                   /
sr0

编辑2:解决了!

所以,我按照 Christian_Sosa 的回答解决了这个问题微软支持,基本上chkdsk在Windows驱动器上运行,然后尝试启动修复。就我而言,chkdsk成功了。

答案1

我在将 Ubuntu 从 12.04 更新到 14.04 时也遇到了同样的问题。
从实时 USB/CD 启动 Ubuntu 并安装启动修复

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list
sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

如果启动修复没有自动修复它,那么您可以再试一次,并在过程结束时使用“高级选项”。

答案2

所以,我按照 Christian_Sosa 的回答解决了这个问题微软支持,基本上chkdsk在Windows驱动器上运行,然后尝试启动修复。就我而言,chkdsk成功了。

  1. 从 Windows 10 安装磁盘启动“修复”模式。
  2. 启动命令提示符
  3. 键入以下命令:

    • diskpart

      这将启动磁盘分区实用程序,我们需要知道操作系统所在位置的卷磁盘号。

    • list volume

      它应该列出您的硬盘及其驱动器号。请记住 HDD 中与存储容量最相似的驱动器号。文件描述可能会或可能不会说“启动”。

就我而言,我必须对C:D:驱动器重复此过程,尽管两者的尺寸非常不同。

  • exit

    为了运行下一个命令,我们需要退出磁盘分区实用程序。

  • chkdsk /f X:

    将 X 替换为我们之前确认的引导操作系统驱动器号。

    1. 重新引导系统回到恢复光盘。
    2. 选择启动修复并让它运行。

就我而言,启动修复从未真正运行过,但我还是尝试了。看来chkdsk只有他一个人成功了。郑重声明,在我的例子中,正确的 grub 菜单项是

menuentry "Windows 10" {
  set root='(hd0,msdos1)'
  chainloader +1
}

感谢您的回答和评论。

相关内容