Grub 시간 초과를 기다리지 않고 Linux의 셸 스크립트에서 Windows 부팅

Grub 시간 초과를 기다리지 않고 Linux의 셸 스크립트에서 Windows 부팅

일반적인 grub 시간 초과를 기다리지 않고 Windows로 부팅하는 쉘 스크립트를 작성하고 싶습니다.
다음 부팅 시 여전히 Linux 또는 Windows를 선택하고 싶기 때문에 이 명령은 grub-timeout의 기본값을 변경해서는 안 됩니다.
그것은 다음과 같습니다:

#!/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에게 감사드립니다.

관련 정보