在 Linux 中从 Shell 脚本启动 Windows,无需等待 Grub 超时

在 Linux 中从 Shell 脚本启动 Windows,无需等待 Grub 超时

我想编写一个 shell 脚本来启动到 Windows,而无需等待正常的 grub 超时。
该命令不得更改 grub-timeout 的默认值,因为我仍然想在下次启动时选择 Linux 或 Windows。
就像是:

#!/bin/bash
sudo grub-reboot 2
# set timeout 0 temporarily
sudo reboot

答案1

对于任何未来的读者,解决方案如下:

#!/bin/bash
sudo efibootmgr -n [x]
sudo reboot

其中 [x] 是 Windows 启动管理器的索引(通常为 0),您可以通过运行找到它

efibootmgr -d -d

不幸的是,设置下次启动似乎需要 sudo,因此即使您在 .zshenv 或 .bash_profile 中设置了别名或函数,您仍然需要输入密码。

感谢@MarcusMüller 为我指明了正确的方向。

相关内容