[problem help] 全新安装后,Windows硬盘在bois的引导丢失
Tofloor
poster avatar
能吃善睡
deepin
2024-09-14 18:54
Author

我的台式机是华硕的B760-A主板,有两块固态硬盘,分别是安装Windows的致态和安装Deepin的三星

原先安装Deepin 20.9版本的时候,Windows和Deepin都能正确引导

后来全新安装Deepin V23 Beta2 版本就遇到了这个问题,在bios的基本信息中能看到两块硬盘都检测到

但是在bios的引导信息中只看到V23的,完全看不到Windows的

昨晚全新安装V23,这个问题依然存在

进入安装好的Deepin系统以后,在 设备管理器 的 硬件信息 的 存储设备 显示信息中能看到两块硬盘

在grub显示信息只看得到 Deepin

我在论坛搜过类似问题,有帖子讲解,但没说清楚是不是bios里面也看不到引导信息,所以我新发这个求助帖子

请问该怎样操作才能重新引导Windows呢?

谢谢!

Reply Favorite View the author
All Replies
neko
deepin
Ecological co-builder
2024-09-14 19:31
#1

终端执行sudo update-grub看看能不能检测到Windows引导。

Reply View the author
xclimbing
deepin
2024-09-14 19:34
#2

你那个Windows的盘上肯定也有一个UEFI的启动分区,直接将Windows boot manager的启动项添加进BIOS的启动项也是可以的,在Windows下用bootice、EasyUEFI这一类的软件,在Linux下貌似只有efibootmgr这一个命令行程序。

另外,华硕主板开机按F8还是F11,可以跳出BIOS的启动设备选择菜单,我觉得选择你的Windows硬盘启动也是可以的,最好截图看一下。

另外,也可以将Windows Boot Manger添加进deepin的grub2启动菜单,类似这样的菜单项:

menuentry "Boot Microsoft Windows 8/10" {
search -s -f /EFI/Microsoft/Boot/bootmgfw.efi;
chainloader -t /EFI/Microsoft/Boot/bootmgfw.efi;
}
Reply View the author
jjcui8595
deepin
2024-09-14 20:19
#3

最简单的方法是断开deepin硬盘的电源,用WinPE引导并修复Windows引导

Reply View the author
能吃善睡
deepin
2024-09-15 00:00
#4
neko

终端执行sudo update-grub看看能不能检测到Windows引导。

这个操作不行

Reply View the author
能吃善睡
deepin
2024-09-15 00:03
#5
xclimbing

你那个Windows的盘上肯定也有一个UEFI的启动分区,直接将Windows boot manager的启动项添加进BIOS的启动项也是可以的,在Windows下用bootice、EasyUEFI这一类的软件,在Linux下貌似只有efibootmgr这一个命令行程序。

另外,华硕主板开机按F8还是F11,可以跳出BIOS的启动设备选择菜单,我觉得选择你的Windows硬盘启动也是可以的,最好截图看一下。

另外,也可以将Windows Boot Manger添加进deepin的grub2启动菜单,类似这样的菜单项:

menuentry "Boot Microsoft Windows 8/10" {
search -s -f /EFI/Microsoft/Boot/bootmgfw.efi;
chainloader -t /EFI/Microsoft/Boot/bootmgfw.efi;
}

8fc7e4ee8d1a5b3935a2d459f1acf88.jpg

9e7ec8f4101d5c0a57fc39c27acbe5f.jpg

Reply View the author
能吃善睡
deepin
2024-09-15 01:46
#6
jjcui8595

最简单的方法是断开deepin硬盘的电源,用WinPE引导并修复Windows引导

谢谢。我明天搜一下,看看有没有讲操作步骤的文章

Reply View the author
能吃善睡
deepin
2024-09-15 01:55
#7
xclimbing

你那个Windows的盘上肯定也有一个UEFI的启动分区,直接将Windows boot manager的启动项添加进BIOS的启动项也是可以的,在Windows下用bootice、EasyUEFI这一类的软件,在Linux下貌似只有efibootmgr这一个命令行程序。

另外,华硕主板开机按F8还是F11,可以跳出BIOS的启动设备选择菜单,我觉得选择你的Windows硬盘启动也是可以的,最好截图看一下。

另外,也可以将Windows Boot Manger添加进deepin的grub2启动菜单,类似这样的菜单项:

menuentry "Boot Microsoft Windows 8/10" {
search -s -f /EFI/Microsoft/Boot/bootmgfw.efi;
chainloader -t /EFI/Microsoft/Boot/bootmgfw.efi;
}

我参考这篇的说法 https://www.zhihu.com/question/646857352

“因为你的系统是Legacy方式安装的,所以在默认只支持UEFI启动的情况下,是不会被当做启动设备的。如果你有机器有独显,在BIOS-BOOT-CSM(Compatibility Support Module)设置下,将Launch CSM设置为开启,保存退出后,就可以把你的硬盘识别为启动设备。”

打开bios的CSM后,在启动项里能看到致态的那块Windows硬盘了

然后选中该Windows硬盘,手工重新启动,屏幕黑屏,只打印了以下字符串:

Reboot and Select proper Boot device

or Insert Boot Media in selected Boot device and press a key_

Reply View the author
xclimbing
deepin
2024-09-15 10:05
#8
能吃善睡

8fc7e4ee8d1a5b3935a2d459f1acf88.jpg

9e7ec8f4101d5c0a57fc39c27acbe5f.jpg

你这个截图是UEFI BIOS设置界面,并不是启动设备选择界面,你开机按F8会进入启动设备选择界面,然后再拍照。

另外,我也说了,将Windows启动程序加入deepin grub启动菜单的方法,你都可以尝试一下。

Reply View the author
132******94
deepin
2024-09-15 10:34
#9
能吃善睡

这个操作不行

想办法进入你的windows看下是不是启用的磁盘加密——BITLOCKER,加密后grub就读不到windows系统,无法加入到deepin启动菜单了

如果是的话建议关闭磁盘加密,一方面的方便双系统切换,一方面是避免以后彻底无法进入系统的话系统里的数据被加密无法恢复

Reply View the author
麻烦告诉我小浣熊哪里有
deepin
2024-09-15 20:06
#10

applaud

Reply View the author
能吃善睡
deepin
2024-09-16 00:00
#11
jjcui8595

最简单的方法是断开deepin硬盘的电源,用WinPE引导并修复Windows引导

我用 fdisk -l 命令看了看硬盘分区情况


Disk /dev/nvme1n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: ZHITAI TiPro7000 2TB
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: gpt
Disk identifier: FA00F9AF-7A1C-4E0B-BAE2-5A3E160CE5E7

Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 34815 32768 16M Microsoft reserved
/dev/nvme1n1p2 34816 1952796671 1952761856 931.1G Microsoft basic data
/dev/nvme1n1p3 1952796672 4000796671 2048000000 976.6G Microsoft basic data

Disk /dev/nvme0n1: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 990 PRO 2TB
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: gpt
Disk identifier: D587A6B7-0C96-4B69-858A-4DAF495B3C39

Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 616447 614400 300M EFI System
/dev/nvme0n1p2 616448 6907903 6291456 3G Linux filesystem
/dev/nvme0n1p3 6907904 216623103 209715200 100G Linux filesystem
/dev/nvme0n1p4 216623104 3907026943 3690403840 1.7T Linux filesystem


从致钛硬盘的信息来看,丢了 EFI 分区,这个可能是重启机器后打印

Reboot and Select proper Boot device

or Insert Boot Media in selected Boot device and press a key_

的原因?

此外,我看了看 /boot/efi/EFI ,显示的只有

boot deepin

这两个目录,没有看到 windows 或者 microsoft 目录


Reply View the author
能吃善睡
deepin
2024-09-16 00:01
#12
132******94

想办法进入你的windows看下是不是启用的磁盘加密——BITLOCKER,加密后grub就读不到windows系统,无法加入到deepin启动菜单了

如果是的话建议关闭磁盘加密,一方面的方便双系统切换,一方面是避免以后彻底无法进入系统的话系统里的数据被加密无法恢复

怎么想办法在这种情况下进入windows呢?

Reply View the author
jjcui8595
deepin
2024-09-16 14:47
#13
能吃善睡

我用 fdisk -l 命令看了看硬盘分区情况


Disk /dev/nvme1n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: ZHITAI TiPro7000 2TB
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: gpt
Disk identifier: FA00F9AF-7A1C-4E0B-BAE2-5A3E160CE5E7

Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 34815 32768 16M Microsoft reserved
/dev/nvme1n1p2 34816 1952796671 1952761856 931.1G Microsoft basic data
/dev/nvme1n1p3 1952796672 4000796671 2048000000 976.6G Microsoft basic data

Disk /dev/nvme0n1: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 990 PRO 2TB
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: gpt
Disk identifier: D587A6B7-0C96-4B69-858A-4DAF495B3C39

Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 616447 614400 300M EFI System
/dev/nvme0n1p2 616448 6907903 6291456 3G Linux filesystem
/dev/nvme0n1p3 6907904 216623103 209715200 100G Linux filesystem
/dev/nvme0n1p4 216623104 3907026943 3690403840 1.7T Linux filesystem


从致钛硬盘的信息来看,丢了 EFI 分区,这个可能是重启机器后打印

Reboot and Select proper Boot device

or Insert Boot Media in selected Boot device and press a key_

的原因?

此外,我看了看 /boot/efi/EFI ,显示的只有

boot deepin

这两个目录,没有看到 windows 或者 microsoft 目录


Windows deepin安装在两块硬盘上,所以每块硬盘上的EFI分区中不会有另外系统的引导信息。断开deepin所在硬盘,用PE引导后修复Windows引导

Reply View the author
能吃善睡
deepin
2024-09-16 17:33
#14
jjcui8595

Windows deepin安装在两块硬盘上,所以每块硬盘上的EFI分区中不会有另外系统的引导信息。断开deepin所在硬盘,用PE引导后修复Windows引导

谢谢!

我按此操作一下看看

Reply View the author
能吃善睡
deepin
2024-09-17 15:06
#15

问题解决,记录一下方便以后再遇到

这个问题是因为装windows的致钛硬盘丢失了efi分区造成的

通过fdisk -l命令确认致钛硬盘的分区结构确实没有efi分区以后,参考这篇

https://www.disktool.cn/content-center/system-reserved-partition-missing-2111.html

的 “方法2”

在另一台笔记本windows机器下载了傲梅分区助手,并安装到一个新的u盘上,作为启动盘

用该u盘启动台式机,进入bios时通过F8键盘进入启动选项,选中该u盘的分区,等待一分钟后傲梅分区助手就加载好了

能看到致钛的硬盘和三星的硬盘,选中致钛盘,把D分区缩小一点空间,留出不小于500M的存储容量,我留了790M,作为空白存储,用于下一步的efi分区创建

在傲梅的gui界面提交操作后,再在其菜单中使用打开命令行的选项,进入windows命令行

  1. 输入diskpart,回车。
  2. 输入list disk,可以看到硬盘编号,0,1,2,3…
  3. 输入select disk x(x是硬盘编号)选中要分区的硬盘。我的就是刚刚上一步那个790M的空白分区。因为我的致钛盘已经是GPT分区表,所以不需要做clean和convert gpt的操作,直接做接下来的创建。
  4. 输入create partition efi size=xxx(xxx是分区大小,以MB为单位),我设置为512。因为我的致钛盘已经有windows的msr保留分区,所以也不需要再创建,直接做接下来的格式化和设置卷号,后面要用到这个卷号。
  5. format quick fs=fat32 label="System"
    assign letter="V"
  6. list vol
  7. 重新启动计算机,选择从UEFI设备引导启动,进行后续安装操作。

 (没写完,晚上接着写)

https://www.disktool.cn/content-center/repair-windows-11-uefi-bootloader-2111.html

最后,感谢上面各楼朋友的回复和帮助!

Reply View the author