安装 Ubuntu 后无法启动到 Windows,如何解决?

Vis*_*ala 44 boot grub2 windows

我在我的电脑上安装了 Windows,然后安装了 Ubuntu。但是,现在我无法启动到我的 Windows 安装。

我能做些什么来解决这个问题?

kar*_*rel 31

不出现 GRUB 菜单

如果计算机在完全不显示 GRUB 菜单的情况下自动启动到 Ubuntu,有时您可以在启动时按制造商的 BIOS/UEFI 键,而在 UEFI 或 BIOS 模式下,从固件菜单中选择您需要的操作系统。常用的键有 Esc、Delete、F1、F2、F10、F11 或 F12。在平板电脑上,常用按钮是增大音量或减小音量。在启动过程中,经常有一个屏幕提到了关键。如果没有,或者屏幕过快而无法看到,请查看制造商的网站。*

如果在启动时不出现 GRUB 菜单时这不起作用,则在启动过程中的 BIOS/UEFI 闪屏后立即使用 BIOS,快速按住该Shift键,这将调出 GNU GRUB 菜单屏幕。使用 UEFI 按下(可能多次)Esc进入 GNU GRUB 菜单屏幕的键。有时制造商的启动画面是 Windows 引导加载程序的一部分,因此当您启动机器时,它会直接进入 GNU GRUB 菜单屏幕,然后Shift无需按下。

如果在引导时 GRUB 菜单未出现时这不起作用,请尝试以下答案:


开机修复

从 Ubuntu 打开终端并输入:

sudo add-apt-repository ppa:yannubuntu/boot-repair  
sudo apt update  
sudo apt install -y boot-repair
sudo boot-repair  
Run Code Online (Sandbox Code Playgroud)

打开启动修复应用程序并选择高级选项->其他选项选项卡 ->修复 Windows 启动文件。引导标志应放置在安装 Ubuntu 的同一分区上。安装 Ubuntu 的分区可以从 Ubuntu 内置的磁盘应用程序中识别出来。

在此处输入图片说明

如果您无法选择修复 Windows 启动文件选项,因为它是灰色的,请参阅此答案


瑞斯卡图

Rescatux是一个免费的可引导 live CD/USB,可以修复 GRUB 和 Windows 引导加载程序。Rescatux 有一个带有操作系统救援任务菜单的图形界面。如果您的硬盘具有 MBR 分区格式,您可以选择“还原 Windows MBR (BETA)”选项来修复 Windows 引导加载程序。如果您的计算机具有 UEFI 固件,您可以在 UEFI 引导选项中进行选择。

启动选项:

  • (>=0.41 beta 1) 更新 UEFI 顺序
  • (>=0.41 beta 1) 创建一个新的 UEFI 启动项
  • (>=0.41 beta 1) UEFI 分区状态
  • (>=0.41 beta 1) 假微软 Windows UEFI
  • (>=0.41 beta 1) 隐藏 Microsoft Windows UEFI
  • (>=0.41 beta 1) 重新安装 Microsoft Windows EFI
  • (>=0.41 beta 1) 检查 UEFI 启动

GRUB 选项:

  • (>=0.40 beta 11) 简单的 GNU/Linux 引导修复
  • 恢复 GRUB 和 GRUB2
  • (>=0.31 beta 4) 更新任何 GRUB2 菜单
  • 更新 Debian/Ubuntu GRUB 菜单

窗口选项:

  • 还原 Windows MBR(测试版)
  • 清除 Windows 密码
  • (>=0.31 beta 4) 将 Windows 用户提升为管理员角色
  • (>=0.41 beta 1) 重新安装 Microsoft Windows EFI
  • (>=0.31 beta 4) 解锁 Windows 用户

密码选项:

  • 更改 GNU/Linux 密码
  • 重新生成 sudoers 文件
  • 清除 Windows 密码

专家工具:

  • 引导修复
  • GParted
  • 操作系统卸载程序
  • 清洁无处不在
  • 照片记录
  • 测试盘

在此处输入图片说明
Rescapp 是一个很好的向导,它将指导您完成救援任务。


如何从 Ubuntu 制作 Rescatux live USB

  1. 插入 USB 闪存驱动器并使用 GParted 应用程序检查闪存驱动器上是否已启用引导标志。卸载 USB 闪存驱动器。打开 GParted 并从驱动器菜单列表中选择 USB 闪存驱动器。从 GParted 菜单中选择:Partition -> Manage Flags -> check boot

  2. 这是非常重要的,以验证您所安装的Rescatux现场USB的设备确实是您的闪存驱动器,这样你就不会覆盖任何系统或个人文件,这可能会使您的操作系统无法启动的。在 Ubuntu 中,您可以使用磁盘应用程序找到闪存驱动器的设备名称。

  3. 卸载 USB 分区设备。假设 USB 分区设备是/dev/sdc1

     sudo umount /dev/sdc1 # replace sdc1 with the partition name of your USB drive
    
    Run Code Online (Sandbox Code Playgroud)
  4. 使用cd您下载的 Rescatux iso 文件所在目录的路径更改目录。

  5. 将 Rescatux iso 文件写入 U 盘。在以下命令中,替换rescatux_0.xxxx.iso为您下载的 Rescatux iso 文件的名称。

     sudo dd if=rescatux_0.xxxx.iso of=/dev/sdc # this command also works in Windows Subsystem for Linux 2 
     sudo sync  
    
    Run Code Online (Sandbox Code Playgroud)

我还能够使用内置的 Startup Disk Creator 应用程序制作 Rescatux live USB。

Windows 10 恢复出厂设置修复 Windows 引导加载程序

来源

打开设置

单击“开始”菜单并选择左下方的齿轮图标以打开“设置”窗口。您还可以从应用程序列表中选择设置应用程序。在设置下,单击更新和安全以继续。

选择恢复选项

单击“恢复”选项卡,然后在“重置此 PC”下选择“开始”。

保存或删除文件

此时,您有两个选择。您可以选择保留个人文件并仅删除下载的应用程序和设置,也可以擦除所有内容并从头开始。每个选择还将为您提供一个额外的设置来更改。

如果您选择保留我的文件,应用程序和设置将默认为 PC 全新时的状态。可以通过单击更改设置链接并将其关闭来关闭此设置。如果您选择删除所有内容,还有一种方法可以在保存应用程序和设置的同时删除您的个人文件。单击更改设置链接并将数据擦除选项切换为开启。

重置您的计算机

一旦您决定应从计算机中删除哪些内容,请点击下一步,Windows 将在您做出最终决定之前告诉您将删除哪些内容。如果您选择保留我的文件,您可以查看将在重置时删除的应用程序列表。

最后,单击重置以实际提交。您的计算机将重新启动,几分钟后,它将再次启动。当您返回到 Windows 10 时,您会看到您选择要删除的任何内容都已从机器中擦除。如果您备份了文件,它们现在可以恢复到机器上。

  • 应该注意的是,最近版本的 grub 由于某种原因禁用了 os_prober (我认为是为了安全?)。所以它不会检测到 Windows 引导加载程序。我必须在“/etc/default/grub”中通过添加以下行来启用此功能:“GRUB_DISABLE_OS_PROBER=false”,然后我必须运行“sudo update-grub”并重新启动。现在,我有一个 grub 菜单,其中包含启动 Windows 的选项。超级简单的修复。 (2认同)

Jor*_*gla 18

我要做一些假设:

  1. 该 Windows 已安装并配置为通过 UEFI 启动。
  2. Ubuntu 已安装并配置为通过 UEFI 启动。
  3. 您当前正在启动时看到 grub 菜单。

如果这些假设中的任何一个是错误的,那么以下建议将无济于事(尽管它也不会伤害任何东西):

创建一个包含以下内容的文件/boot/grub/custom.cfg(通过运行sudo -H gedit /boot/grub/custom.cfg):

#This entry should work for any version of Windows installed for UEFI booting

menuentry "Windows (UEFI)" {
 search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Run Code Online (Sandbox Code Playgroud)

(将以上内容复制粘贴到出现的Gedit窗口中,然后保存退出Gedit)

重新启动,您应该会看到一个标题为“Windows (UEFI)”的条目,如果您选择它,那么 Windows 应该会启动。如果这不起作用,请运行引导信息脚本(http://bootinfoscript.sourceforge.net/)并发布RESULTS.txt它产生的信息,以便我获得所需的信息来为您提供适当的建议。

  • 我有 Mint19 和 Windows 10 双引导系统。那工作得很好。出于某种原因,我决定用ubuntu 18替换mint19。安装后,我只能启动Ubuntu。我的 win 10 无法启动了。执行脚本后,我得到了 result.txt。我的 Google Drive 中的 RESULTS.txt:- https://drive.google.com/file/d/1JAOcZaEGZZbV4q96ADw9cqDnaK_bNLwI/view?usp=sharing (2认同)

Eme*_*ieh 12

无法撤消对 Windows 的分区更改。您必须重新安装或恢复 Windows,然后重新安装 Ubuntu。

首先,尝试运行 Boot-Repair( info ) 看看这是否有帮助。要运行这个:

  1. 从 Ubuntu live DVD 或 USB 启动。

  2. 一次一行地在终端中键入这些行。

    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt-get update
    sudo apt-get install boot-repair
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在 Dash 中搜索 Boot-Repair 并启动它。

    在此处输入图片说明

要使用引导修复修复您的计算机,只需单击“推荐修复”按钮。如果它有效,你就完成了。


如果启动修复不起作用,请使用 Windows 恢复 CD 运行修复(向您的 PC 制造商索要一张)。

  1. 从恢复 CD 启动。你应该看到这个。

  2. 打开命令提示符应用程序并键入bootrec /fixmbr.


    (图片来自HowtoGeek

  3. 这次关闭窗口并选择“启动修复”。等待该过程完成。通常需要大约 30 分钟到 2 小时。

如果 Windows 成功修复,您就完成了。如果不是,则必须使用 Windows 安装 CD 重新安装 Windows。

如果您没有 Windows 安装 CD,您可以启动 Ubuntu live DVD/USB 并安装具有与 Windows 引导加载程序等效功能的引导加载程序。

sudo apt-get update   
sudo apt-get install lilo  
sudo lilo -M /dev/sda mbr  
Run Code Online (Sandbox Code Playgroud)

Lilo 在安装后会给你一个警告,但你可以忽略它,因为 lilo 在用作 Windows 风格的引导加载程序时工作正常。


接下来,在安装或恢复 Windows 后,您必须删除 Ubuntu 分区。识别它们并使用 Windows 中的磁盘管理实用程序将其删除。

在此处输入图片说明

之后,以同样的方式重新安装 Ubuntu。

  • 启动修复表示,当您在安装 Ubuntu 后无法启动 Windows 时,其推荐的修复应该可以解决问题 (3认同)

小智 10

如果操作系统安装在不同的模式下,Windows 和 Ubuntu 双启动将无法工作。如果你的 Windows 是在 BIOS 模式下安装的,建议你在 BIOS 模式下安装你的 Ubuntu,但如果它是在 UEFI 模式下安装的,那么在 Ubuntu 上也这样做。确定您运行的是 UEFI 还是 BIOS 的最简单方法是查找名为/sys/firmware/efi. 如果您的系统使用 BIOS,则该文件夹将丢失。

在此处输入图片说明
          BIOS 与 UEFI

如果您在具有 GPT 分区的同一驱动器上以旧模式安装了 Ubuntu,您可以使用引导修复的高级选项卸载 grub-pc 并安装 grub-efi-amd64。这将 Ubuntu 安装从 BIOS 引导转换为 UEFI 引导,与最近制造的预装 Windows 的笔记本电脑具有相同的固件。

将 Ubuntu 转换为 UEFI 模式

  1. 启动引导修复,然后选择高级选项-> GRUB 位置选项卡。
  2. 如果您没有看到单独的 /boot/efi 分区选项,这意味着您的 PC 没有任何 UEFI 分区。
  3. 如果您看到单独的 /boot/efi 分区选项,请在其左侧的复选框中打勾,然后单击右下角的应用按钮。

    在此处输入图片说明

  4. 设置您的 BIOS,使其在 UEFI 模式下启动硬盘驱动器。调整此设置的方式取决于计算机的特定型号,但通常此设置位于BIOS/UEFI 设置实用程序的Boot选项卡下的引导优先级设置中。

有关将 Ubuntu 转换为 UEFI 模式的更多信息,请查看https://help.ubuntu.com/community/UEFI中关于将 Ubuntu 转换为 UEFI 模式的部分

grub 引导加载程序也可以从 UEFI 以相反的方向转换为 BIOS。Linux 可以在 BIOS 模式下从 GPT 磁盘正常启动。看到这个问题:Convert from EFI to BIOS boot mode


Vis*_*ala 6

Boot-Repair 会处理这个问题。

首先打开一个新的终端,然后输入:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair
Run Code Online (Sandbox Code Playgroud)

引导修复

另请参阅此工具的参考和操作方法


小智 6

安装 Ubuntu 时未检测到已安装的 Windows 操作系统。os-prober从默认的 Ubuntu 存储库检测系统上可用的其他操作系统,并在终端中输出结果。如果os-prober不起作用,请检查命令sudo fdisk -l是否能够找到 Windows 分区。

如果您找到了 Windows 分区,则键入sudo update-grub. sudo update-grub更新 GRUB 引导加载程序并更正不正确的条目。此命令解决了我的问题,如下所示。

sudo update-grub && sudo reboot 更新 GRUB 引导加载程序并重新启动。

我在 Windows 10 旁边安装了 Ubuntu。现在我在 GRUB 启动菜单中看不到启动 Windows 的选项。

注意:分区仍然存在。

在此处输入图片说明