我最初安装了 Windows 10
然后,我安装了双启动的 Linux,并grub
管理启动选择(Ubuntu、Windows 10)。
一切如预期。
有没有办法恢复 Windows 启动管理器,以便用它来决定启动选择(并默认启动 Windows)?然后我会考虑扩展它来启动 Ubuntu。
注意:我并不是想简单地将 Windows 10 设置为启动默认值grub
- 我最终想grub
与 Windows 启动管理器进行交换。
答案1
首先你需要了解一些事情。Windows 10 默认不使用主引导扇区。现代 Linux 发行版也不使用。在任何正常情况下,Grub 2 引导加载程序才不是覆盖 Windows 10 引导加载程序。它们可以在 EFI 分区上完美共存。在这种情况下,BIOS 的启动顺序决定启动哪个引导加载程序。
恐怕 Keltari 的回答假设您使用的是 MBR 分区表……这不太可能。公平地说,您的问题似乎做出了同样的假设。因此,在做其他任何事情之前,我建议您检查 BIOS 中的启动选项,看看 Windows 10 是否仍未列为选项。如果没有……那么是的……发生了糟糕的事情。
在某些情况下,Windows 10 引导加载程序的访问会被切断。
- 以 MBR 模式安装了 Windows 10。然后安装了 Linux。
- 如果您的计算机上安装的是制造商提供的 Windows 10,那么情况就不是这样。
- 这只能以两种方式合理地发生......
- 您安装 Windows 10 是为了升级之前的 Windows 安装,而之前的 Windows 安装又安装在之前的 Windows 安装之上,可以追溯到至少Windows Vista。如果您已经这样做了,您确实需要重新安装 Windows 10。
- 硬盘驱动器配置为 MBR/DOS 样式分区(而不是 GPT),并且您选择在安装 Windows 10 时不清除驱动器并重新开始。如果硬盘驱动器从旧计算机迁移到当前计算机,通常会发生这种情况。
- 您在 Linux 安装过程中删除/格式化了 EFI 分区。这是一个错误。这样做没有任何好处,而且您会丢失存储在那里的现有引导加载程序。
- 在安装 Linux 期间,分区方案已从 GPT 转换为 MBR。在这种情况下,您的 Windows 10 引导加载程序仍位于 EFI 分区上您将其保留的位置。
对于情况 #1 或 #2:
您需要从 Windows 10 安装盘恢复引导加载程序。如果您的计算机没有附带 Windows 10 安装盘,则需要获取一个。可以合法下载 Windows 10 ISO来自微软网站。然后,您可以使用 Linux 中的刻录实用程序将 ISO 映像应用到空白 DVD-R。如果您的计算机在保修期内,您可能能够从制造商处获得 Windows 10 安装 DVD……但请确保您清楚自己想要 Windows 10 安装磁盘不是系統恢復磁碟。
从 Windows 10 DVD 启动(通过“传统”启动或“UEFI”启动...分别用于 MBR 分区表或 GTP 分区表)。当您进入安装欢迎屏幕时,屏幕上会显示Install Now
继续并忽略Install Now
按钮,然后单击Repair your computer
。
- 从
Choose An Option
菜单中选择Troubleshoot
- 从
Troubleshoot
菜单中选择Advanced
- 从
Advanced
菜单中选择Startup Repair
然后,您可能会或可能不会被要求输入用户名和密码才能登录。如果它确实出现了,这是一件好事……这意味着 Windows 修复肯定找到了您的 Windows 10 安装。如果它没有出现,也没什么大不了的。无论哪种方式,它都应该开始尝试各种自动诊断和修复程序。在理想情况下,这将恢复 Windows 10 引导加载程序。
如果你的系统使用 MBR,那么它将取代 Grub 2 引导加载程序。如果你的系统仍在使用 EFI 引导,它将不是删除 Grub 2 引导加载程序...它将与其一起自行安装。在后一种情况下,您仍可能需要进入 BIOS 并更改启动顺序,以便 BIOS 启动 Windows 10 引导加载程序。
如果这不起作用,那么解决方案无疑会更加复杂。你可以将电脑交给专业技术人员,也可以将其清除并从头开始重新安装 Windows 10。
对于 #3 的情况:
在转换为 GPT 之前,您需要格外确定这是发生的事情。您还需要先备份所有重要数据,因为这是名为“数据丢失和损坏”的邪恶怪物的领域。请花点时间处理这个问题...只需两次错误的按键就能抹去你的数据。
首先,您需要识别磁盘驱动器的设备名称。找到并打开您的发行版的终端应用程序。它可能被称为 xTerm 或 gTerm。进入终端提示符后,输入 。lsblk
这将显示如下内容:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 28.3G 0 disk
├─sda1 8:1 0 953M 0 part /boot
├─sda2 8:2 0 1K 0 part
├─sda3 8:3 0 23.4G 0 part /
└─sda5 8:5 0 4G 0 part [SWAP]
sdb 8:16 0 149.1G 0 disk
└─sdb1 8:17 0 149.1G 0 part /mnt/storage
/
找到和/或的挂载点/boot
。挂载点对应于分区(或磁盘资源的某种其他形式的逻辑划分)。如果您查看每个挂载点的“名称”标题,您将看到该逻辑磁盘的device-name
。如果您按照连接线到上面带有“类型”的列表,disk
您将找到device-name
物理磁盘的 。device-name
物理磁盘的 就是我们需要的。它是什么或是否与上面的类似并不重要,只要记住它即可。
现在,在同一个终端上输入gdisk
/dev/device-name
你替换的地方device-name
lsblk
使用命令并在命令前键入来替换我们找到的命令/dev/
。根据上面的示例,您需要键入gdisk /dev/sda
。如果您收到有关权限或访问的错误,则需要以超级用户(可能是“root”)身份运行命令。如何执行此操作也因发行版而异……但您可以尝试在命令前面放置sudo
或。从这里开始,我假设您使用,但只需替换适合您发行版的工具即可。su
gdisk
sudo gdisk /dev/sda
sudo
运行 gdisk 后你应该看到以下内容:
GPT fdisk (gdisk) version 0.6.14
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help):
这是重要的。如果您没有看到有关无效 GTP 和有效 MBR 的消息停在这里。这不是适合您的指南。请重新考虑第 1 点和第 2 点。
如果您确实看到此消息并且确定 Windows 10 是在 UEFI 模式下安装的,请按下 键p,然后按下Enter打印出分区表。您正在寻找类型为 的分区EFI System
。
如果没有,那么……这很糟糕,事情就变得不那么简单了。您需要调整分区大小以腾出空间用于新的 EFI 分区,然后创建 EFI 分区,格式化它Fat32
,然后将分区类型设置为EFI System
。然后然后您还需要遵循上一节。我不会指导您使用 gdisk 之类的东西来调整分区大小……这在最好的情况下也是很可怕的事情,我希望成为键盘上的那个人。您可以使用 gui 工具gparted
轻松完成它,相对地但安全。
无论哪种方式,您首先需要将分区表转换回 GPT。按下w键,然后按下Enter键将更改写入硬盘。
已到达无可挽回的境地。您应该看到以下内容:
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed, possibly destroying your data? (Y/N):
按下y键,然后Enter重新写入分区表。您的数据不应该受到损害。如果您之前看到过 EFI 分区,那么此时您应该能够简单地重新启动进入 Windows。如果没有,您还有更多工作要做。
答案2
您可以通过启动 Windows 可启动媒体来重新安装 Windows 启动管理器。
- 开机时按 F8 进入 Windows 恢复菜单。与其他版本的 Windows 8 不同,恢复菜单采用 Metro UI 风格。
- 单击“疑难解答”。
- 单击高级选项进入自动修复菜单。
- 单击启动修复
这将返回 Windows 引导加载程序,但会删除启动 Linux 的功能。您可以按照以下步骤将 Linux 添加到启动菜单中方向。