linux下修复windows10引导,ubuntu下 修复win10引导

本文转自:http://blog.csdn.net/aaazz47/article/details/78643355

不得不感叹一下,双系统下不能轻易升级更新啊 TT !继上次更新win10 1709导致引导问题之后《修复GRUB:win10 1709 秋季创意者更新导致Linux双系统无法引导》今天又出现了因为更新 Linux 内核导致了GRUB 引导选择中的 Windows 启动项消失不见了…

哎~开始折腾吧。一条命令修复启动项

我的硬盘分区是 gpt 分区,包括 win10 1709 秋季更新版和 Manjaro Linux 系统。

其实就修复之后的情况来看,造成启动项丢失主要是 GRUB 的启动配置文件发生的变动,而解决办法很简单重新生成配置文件就好了,命令如下:

sudo grub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg

# 或者下面这条命令,具体根据grub.cfg文件的位置来确定就好

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

1

2

3

4

一般情况下系统会自动找到之前的 Windows 分区,然后全部重新创建启动项。

手动创建 Windows 启动项

博主我开始不知道一条命令就好,所以还尝试手动编辑了 Windows 启动配置信息,详情记录如下

1. 编辑 Windows 启动配置文件

/etc/grub.d/40_custom 增加下面的内容 (注意不要删除 exec tail 行的内容)

menuentry “启动 Windows 10” {

echo “正在启动 Windows 10…”

insmod part_gpt

insmod fat

insmod search_fs_uuid

insmod chain

search —fs-uuid —no-floppy —set=root —hint-bios=hd0,gpt2 —hint-efi=hd0,gpt2 —hint-baremetal=ahci0,gpt2 913B-D0CD

chainloader /EFI/Microsoft/Boot/bootmgfw.efi

}

1

2

3

4

5

6

7

8

9

其中 —hint-bios=hd0,gpt2 —hint-efi=hd0,gpt2 —hint-baremetal=ahci0,gpt2 和 913B-D0CD 需要根据本地具体情况获取。方法如下

获取uuid

sudo grub-probe —target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

# bootmgfw.efi 的路径根据具体情况填写,获得uuid:

913B-D0CD

1

2

3

获取hint-string

sudo grub-probe —target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

# 路径同上,得到的信息如下:

—hint-bios=hd0,gpt2 —hint-efi=hd0,gpt2 —hint-baremetal=ahci0,gpt2

1

2

3

2. 重新生成配置文件

sudo grub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg

# 或者下面这条命令,具体根据grub.cfg文件的位置来确定就好

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

1

2

3

4

不得不感叹一下,双系统下不能轻易升级更新啊 TT !继上次更新win10 1709导致引导问题之后《修复GRUB:win10 1709 秋季创意者更新导致Linux双系统无法引导》今天又出现了因为更新 Linux 内核导致了GRUB 引导选择中的 Windows 启动项消失不见了…

哎~开始折腾吧。

我的硬盘分区是 gpt 分区,包括 win10 1709 秋季更新版和 Manjaro Linux 系统。

其实就修复之后的情况来看,造成启动项丢失主要是 GRUB 的启动配置文件发生的变动,而解决办法很简单重新生成配置文件就好了,命令如下:

sudogrub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg

# 或者下面这条命令,具体根据grub.cfg文件的位置来确定就好

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

1

2

3

4

一般情况下系统会自动找到之前的 Windows 分区,然后全部重新创建启动项。

博主我开始不知道一条命令就好,所以还尝试手动编辑了 Windows 启动配置信息,详情记录如下

1. 编辑 Windows 启动配置文件

/etc/grub.d/40_custom 增加下面的内容 (注意不要删除 exec tail 行的内容)

menuentry“启动 Windows 10”{

echo“正在启动 Windows 10…”

insmod part_gpt

insmod fat

insmod search_fs_uuid

insmod chain

search —fs-uuid —no-floppy —set=root —hint-bios=hd0,gpt2 —hint-efi=hd0,gpt2 —hint-baremetal=ahci0,gpt2913B-D0CD

chainloader /EFI/Microsoft/Boot/bootmgfw.efi

}

1

2

3

4

5

6

7

8

9

其中 —hint-bios=hd0,gpt2 —hint-efi=hd0,gpt2 —hint-baremetal=ahci0,gpt2 和 913B-D0CD 需要根据本地具体情况获取。方法如下

获取uuid

sudogrub-probe —target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

# bootmgfw.efi 的路径根据具体情况填写,获得uuid:

913B-D0CD

1

2

3

获取hint-string

sudogrub-probe —target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

# 路径同上,得到的信息如下:

—hint-bios=hd0,gpt2 —hint-efi=hd0,gpt2 —hint-baremetal=ahci0,gpt2

1

2

3

2. 重新生成配置文件

sudogrub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg

# 或者下面这条命令,具体根据grub.cfg文件的位置来确定就好

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

1

2

3

4

全文完,参考资料:

(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)” rel=”nofollow” target=”

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值