我有一个可以正常工作的双启动系统,并决定引入一个 M.2 驱动器。我将我的 Gentoo 安装迁移到驱动器,并扩大了我的 Windows 分区以占用所有以前的 Linux。Gentoo 可以正常启动,但要启动 Windows,我必须移除 M.2 驱动器。使用 M.2 驱动器,BIOS 中的 Windows 引导加载程序可以找到,但它不会加载操作系统。
我需要做什么才能告诉 Windows 使用系统中的第二个驱动器?
0 blaze:0.0 /root # lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT
NAME FSTYPE LABEL MOUNTPOINT
sda
|-sda1 swap [SWAP]
`-sda2 ext4 /
sdb
|-sdb1 ntfs Recovery
|-sdb2 vfat /boot/efi
|-sdb3
`-sdb4 ntfs
sdc
`-sdc1 linux_raid_member blaze:0
`-md0 ext4 /home
sdd linux_raid_member
`-sdd1 linux_raid_member blaze:0
`-md0 ext4 /home
sde
`-sde1 linux_raid_member blaze:0
`-md0 ext4 /home
sda
是 M.2,并且sdb
是固态硬盘。
答案1
这就是我更喜欢使用 grub 来处理多重引导系统的原因。无论如何,以下是修复 Windows 10 引导分区的方法:
原始来源:使用 Diskpart 修复 Windows 10/8/7 中的 UEFI 启动错误这不是我的解决方案。这是从一个销售分区工具的商业网站复制而来的。我和他们没什么关系。我强烈建议你备份你的硬盘:距离我上次在 Windows 上这样做已经过去很久了,虽然命令看起来不错,但它们可能把事情搞砸了。
方法 1. 使用 Diskpart 修复 Windows 10/8/7 中的 UEFI 启动错误
可能你只需要执行“步骤 1:输入以下命令并每次按 Enter 键:”“3 - 修复引导记录”和“4 - 重建 BDC 存储”如果你是 Windows 10 或 8 用户,并且你更喜欢使用免费方法来修复 UEFI 启动错误,你可以按照以下两种解决方案立即解决此问题:1 - 从高级选项中输入命令提示符
步骤 1:将 Windows 10/8/7 安装盘或安装 USB 插入 PC > 从磁盘或 USB 启动。
第 2 步:单击“修复您的计算机”或在“立即安装”屏幕上按 F8。
步骤 3:单击“疑难解答”>“高级选项”>“命令提示符”。2 - 运行 Diskpart 以设置分区 ID 并分配驱动器号
步骤 1:输入以下命令并每次按 Enter:
diskpart
list disk
sel disk 0
第 2 步:当出现消息“磁盘 0 现在是选定的磁盘”时,键入:list vol 并按 Enter。
Diskpart 现在将显示您电脑上的完整卷列表,从列表中找到 UEFI 卷:UEFI 分区将位于卷 2 上。
步骤 3:仅当您的磁盘没有 ID 时才执行此操作:键入以下命令并每次按 Enter:
sel vol 2
set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Or SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
步骤 4:仅当您的启动盘没有字母时才执行此操作:通过键入以下命令分配驱动器号并单击 Enter:
assign letter=G:
(注意:G 必须是唯一的驱动器号,不能是已使用的。)
3 - 修复引导记录
步骤 1:以管理员身份打开命令提示符,输入以下命令:
cd /d G:\EFI\Microsoft\Boot\
注意:G 是您签名给 UEFI 分区的驱动器号,请记住将 G 替换为 UEFI 的分区号。
Enter: exit when the process completes.
第 2 步:要修复引导记录,打开 CMD 并输入以下命令行:
bootrec /fixboot
Enter: exit when the repair process completes.
4 - 重建 BDC 商店
步骤 1:键入每个命令行并每次按 Enter:
ren BCD BCD.old
bcdboot C:\Windows /l en-us /s G: /f ALL (Note: c:\ is the drive where Windows 10/8.1/8 is installed on.)
第 2 步:当该过程完成后,在命令提示符中键入:exit,然后重新启动您的电脑。
现在 UEFI 启动已修复,Windows 10/8/7 可以在您的 PC 上再次启动。
方法 2. 使用自动修复修复 Windows 10/8/7 UEFI
Windows 自动修复是一个内置工具,供用户应用并尝试修复 Windows PC 上的一些常见错误。您也可以尝试此方法来修复 Windows 10、8 或 7 UEFI/EFI 启动错误:
1-从安装介质启动 Windows
步骤 1:将 Windows 10/8/7 安装盘或 USB 插入您的电脑。
第 2 步:重新启动 PC 并从磁盘或 USB 启动。
2 - 启用自动修复选项
步骤 1:在“立即安装”屏幕上单击“修复您的计算机”。
步骤2:在“选择选项”屏幕上单击“疑难解答”>单击“自动修复”。
步骤3:从列表中选择一个帐户,继续在自动修复屏幕并等待该过程完成。
当该过程完成后,您可以重新启动您的电脑,然后您就可以再次无问题地使用您的计算机。
答案2
您认为的 BIOS 实际上是 UEFI 启动。由于您更改了磁盘编号,Windows 现在位于sdb
以前所在的位置sda
。我不知道您是如何迁移磁盘的,但有可能启动期间显示的 Windows 安装是新 上不再存在的幻影安装sda
。
此过程将有助于检测正确的 Windows 安装:
启动 Ubuntu 并挂载 Windows 分区 (就像在 Nautilus 上打开磁盘一样)
运行以下命令:
sudo os-prober
如果找到了你的 Windows 安装,你可以运行:
sudo update-grub
注意第 2 步只是为了提前知道探测是否成功。您也可以跳过此步骤,只需挂载 Windows 分区并直接运行sudo update-grub
。