blob: b6270af146b673f69267bc2a5e9120608eec78c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/bin/bash
# 使用 efibootmgr 列出当前的 EFI 启动项,并将输出保存到变量 boot_list 中
boot_list=$(efibootmgr)
# 使用 grep 命令查找包含 "Windows Boot Manager" 的启动项行,并提取其编号
boot_entry=$(echo "$boot_list" | grep -i "Windows Boot Manager" | grep -i "bootmgfw.efi" | awk '{print $1}' | head -n 1)
# 去掉启动项编号中的前缀 "Boot" 和后面的星号 "*",只保留编号部分
boot_entry=${boot_entry#Boot}
boot_entry=${boot_entry%\*}
echo "找到的 'Windows Boot Manager' 启动项编号为: $boot_entry"
# 检查是否找到了 "Windows Boot Manager" 启动项
if [ -n "$boot_entry" ]; then
# 找到了,使用 efibootmgr 将其设置为下一次启动项
sudo efibootmgr -n "$boot_entry"
echo "已将 'Windows Boot Manager' 设置为下一次启动项。"
# 在这里添加重启系统的命令,例如 sudo reboot
sudo reboot
else
# 没找到,报错并退出
echo "找不到 'Windows Boot Manager' 启动项。无法设置下一次启动项。" >&2
exit 1
fi
|