windows10恢复之路

虽然linux系统以及生态逐步完善,但Windows上的Office等办公软件还是无可替代

作为fedora的骨灰级爱好者,每次版本更新,都会体验其中,但不幸的事情发生了,这次升级到fedora28之后,发现grub2启动项里面的Windows 10选项没有了,于是乎开始了系统的捣鼓,windows10恢复之路正式开始。

现在的 Windows 10 大多是在 UEFI 模式下安装的,安装时会自动创建一个 EFI 系统分区(ESP)

首先,进入fedora28系统,使用root用户登录,查看/boot/efi分区里面是否有bootmgfw.efi文件:

find /boot -name bootmgfw.efi

(1)如果存在,引导文件一般位于路径( /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi ),可以尝试使用grub2-mkconfig来修复引导:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

(2)如果没有,说明Window 10引导已经被破坏,需要找到引导信息;

如果知道Windows分区是哪个,可以使用mount命令加载后,进行查找,看看是否有引导文件bootmgfw.efi

mount /dev/sda1 /mnt

find /mnt -name bootmgfw.efi

(1)如果存在,引导文件位于路径(/EFI/Microsoft/Boot/bootmgfw.efi),需要在/boot/efi/EFI/centos/grub.cfg文件中手工添加:

menuentry 'Windows 10 (loader) (on /dev/nvme0n1p3)' --class windows --class os $menuentry_id_option 'osprober-chain-F1FAC47EFAC44328' {
insmod part_msdos
insmod part_gpt
insmod ntfs
set root='(hd0,gpt3)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

里面的UUID是如何得到呢?通过在linux中root执行命令 blkid 获得;

root的对应值是如何知晓的呢?是根据在grub2选项中目录查找得来,具体操作是,重启电脑,进入grub2启动选项,按"c"进行命令项:

ls

ls (hd0,gpt3)

根据当时划分的情况,知道Windows安装在哪个GPT分区,并进入看看目录是否正常:

set root=(hd0,gpt3)

ls /

(2)如果没有,说明Window10引导彻底损坏,需要修复;

Window10引导修复,需要用到Windows 10安装盘,可以使用光盘或U盘引导进行Windows安装,选择Windows修复,并进入命令提示符(或在安装界面按 Shift + F10 启动命令行),使用 diskpart 给 ESP 分配一个盘符,然后用 bcdboot 修复启动文件并添加 Windows Boot Manager 到 Boot Menu。(ESP 是 FAT32 文件系统,大小数百 MB 的那个 volume)

diskpart
list disk
select disk 0
list volume
select volume 5
assign letter=H:
exit

bootrec /fixmbr
bootrec /fixboot
bcdboot C:\Windows /l zh-cn /s H: /f ALL

这样子有个坏处,就是把fedora28的启动项弄丢了,又需要修复fedora28启动,建议的方式在windows区建立引导项,然后通过把引导文件添加到grub2的引导文件即可,命令如下:

bootrec /fixmbr
bootrec /fixboot
bcdboot C:\Windows /f UEFI /s C: /l zh-cn

这样会在windows分区下,生成了引导文件(/EFI/Microsoft/Boot/bootmgfw.efi),然后按照上面的方式,添加到grub.cfg即可。

注意:在fedora32之后,需要将在C盘生成的/EFI/Microsoft目录拷贝到fedora系统上的/boot/efi/EFI目录下,并通过命令

grub2-mkconfig -o /boot/grub2/grub.cfg

重新生成grub配置文件,重启计算机之后,在grub菜单里面选择刚刚生成的window10菜单即可进入Win10.

Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Entry

This page contains a single entry by Cnangel published on May 26, 2018 10:50 AM.

fedora28 发布 was the previous entry in this blog.

亲人之殇 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.