首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solus/Windows 10双引导停止工作,GRUB不会自动修复

Solus/Windows 10双引导停止工作,GRUB不会自动修复
EN

Unix & Linux用户
提问于 2022-09-17 20:46:08
回答 1查看 617关注 0票数 0

我使用Solus Linux进行了双引导Windows 10的系统设置;但是,在我的一个辅助驱动器(最后删除了它,Windows在没有它的情况下工作了一段时间)出了一些问题之后,尝试在GRUB中引导Windows产生了一个我不记得的错误,我不得不通过终端更新Solus,以便正确引导它(如果我记得正确的话)。现在,Solus的靴子很好,但是Windows根本没有出现在GRUB中,在研究和尝试了几个小时的解决方案之后,我觉得自己的头撞在了砖墙上。我见过的、推荐的和尝试过的东西,但都没有用:

  • Attempting通过运行 os-prober update-grub*来自动修复它。**开始时,我收到了一个声明WARNING: Failed to connect to lvmetad. Falling back to device scanning.的错误。一旦我通过重新启动lvmetad服务解决了这个问题,它就不会输出任何东西,GRUB会说它更新了它的配置,但仍然没有任何Windows。
  • Attempting手动添加一个Windows10Boot条目。主要遵循指南,我很难找到fs-uuid,但最终得到了它。但是,我始终无法让hints_string正常工作,总是收到错误grub-probe: warning: unknown device type nvme0n1.。此外,我无法在我的Windows安装中找到我应该拥有的/EFI/Microsoft/Boot/bootmgfw.efi,相反,当我试图访问另一个不存在的位置时,发现bootmgfw.efi位于/Windows/Boot/EFI/bootmgfw.efi并收到一个错误。尽管存在这些障碍,但我还是按下并添加了以下内容,作为/etc/grub.d/40_custom的手动条目,但却遇到了error: invalid signature和失望。
代码语言:javascript
复制
# Microsoft Windows 10
menuentry "Windows 10" {
  insmod part_gpt
  insmod ntfs
  insmod search_fs_uuid
  insmod chain
  search --no-floppy --fs-uuid --set=root 2E6E49286E48E9E3
  chainloader /Windows/Boot/EFI/bootmgfw.efi
}
  • Attempting从可引导的Windows10USB上运行启动修复程序。按照建议的答案,我引导到我的Windows 10安装程序USB,转到“修复您的计算机”,选择“启动修复”,并被告知Windows无法找出问题所在,只是被提示“关闭”。

现在,我累坏了。我觉得我在网上找到的东西在原地打转,我想不出还有什么能起作用的。我不是Linux方面的专家;我在终端方面有点过得去,但我对这些东西是如何工作的还不太了解,无法自己自己去尝试去修复它。尽管Solus很适合使用,但它仍然存在一些我遇到的问题(尽管这些问题与这里的大问题无关),而且我仍然希望有一台功能强大的桌面计算机能够运行Windows,所以我不想接受放弃我的Windows分区。任何事情都很感谢,谢谢你提前。

如果有用的话,下面是与我的引导驱动器相关的fdisk -l输出,以供参考:

代码语言:javascript
复制
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: INTEL SSDPEKNW512G8                     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x313ff715

Device         Boot     Start        End   Sectors   Size Id Type
/dev/nvme0n1p1           2048  499578836 499576789 238.2G  7 HPFS/NTFS/exFAT
/dev/nvme0n1p2      999153664 1000210431   1056768   516M 27 Hidden NTFS WinRE
/dev/nvme0n1p3      499578880  957210623 457631744 218.2G 83 Linux
/dev/nvme0n1p4      957210624  999153663  41943040    20G 82 Linux swap / Solari

Partition table entries are not in disk order.

此外,我非常肯定,在遵循setupact.log指南查找之后,Windows将根据在C28中找到的输出在遗留模式下启动。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-09-18 04:23:14

你所跟随的向导是用于UEFI系统的。Windows将引导方法的选择与分区系统的选择联系起来,因此,您的磁盘是分区MBR样式(由Disklabel type: dosfdisk -l输出中指示),这意味着您的Windows将以遗留的BIOS样式启动。

这基本上意味着您必须修复/etc/grub.d/40_custom条目中的三项内容:

  • insmod part_gpt替换为insmod part_msdos
  • 如果search行上的UUID引用/dev/nvme0n1p1分区,那么Windows就不在这里。现代Windows将其放置到具有分区id 27的"system“分区中--在您的示例中,它是/dev/nvme0n1p2。找出它的UUID (使用lsblk -o +UUIDblkid),然后将它放在search行上,而不是当前行。
  • chainloader /Windows/Boot/EFI/bootmgfw.efi替换为chainloader +1。(这意味着:加载由前一个search行选择的分区的第一个块,并执行它。)

进行这些更改后,以根用户身份运行update-grub,然后再次尝试引导Windows。

参考资料:Windows 10/11在MBR分区磁盘上的默认分区布局

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/717664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档