내 Windows 8에는 UEFI BIOS 메뉴가 함께 제공됩니다. Windows를 Lubuntu 17.04로 교체했습니다. 이제 배포판을 변경하고 싶지만 더 이상 BIOS 메뉴에 액세스하여 부팅 순서를 변경할 수 없습니다.
부팅 중 F1/ F8/ F12/ esc또는 기타 작업을 누르면 UEFI가 작동하지 않습니다. 이전에는 Windows에서만 액세스할 수 있었습니다.
부팅 순서를 변경할 수 있는 방법이 있나요? 아니면 제가 실수로 노트북을 영구 루분투 장치로 만들었나요?
답변1
systemctl reboot --firmware-setup
그것은 이루어져야합니다.
systemd를 사용하지 않으면 상황이 더 복잡해지고 부트로더에 따라 달라집니다.
GRUB 2를 부트로더로 사용한 경우(Ubuntu와 친구들은 여전히 사용하고 있다고 생각합니다)
fwsetup
GRUB의 부팅 메뉴에서 "c"를 누르고 명령 프롬프트가 나타날 때 해당 명령을 사용하여 펌웨어 설정으로 들어갈 수 있습니다.다른 부트로더인 경우 이
efibootmgr
명령을 사용하여 시스템에 펌웨어 설정으로 재부팅하도록 지시할 수 있습니다. 단, 이는 일부 시스템에서만 작동합니다./sys/firmware/efi/vars
다른 모든 방법이 실패하면 이론적으로는 해당 변수의 이름이 무엇인지 잘 모르겠지만 적절한 EFI 변수를 설정하여 직접 수행할 수 있습니다 .
답변2
UEFI에서 운영 체제에는 다음에 시스템을 재부팅할 때 사용자가 펌웨어 설정에 액세스하려고 함을 나타내는 표준 방법이 있습니다. Windows는 내부적으로 이 표준 방법을 사용합니다. Austin Hemmelgarn이 답변에서 말했듯이 이는 EFI 변수를 사용하여 수행됩니다.
몇 년 전에 나는 이 표준 메서드를 호출하는 스크립트를 작성했습니다.
#!/bin/sh
EFIVARFS=/sys/firmware/efi/efivars
EFI_OSINDSUPP=OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
EFI_OSIND=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
if [ ! -d $EFIVARFS ]
then
echo "ERROR: no efivarfs present"
exit 72 # EX_OSFILE
fi
cd $EFIVARFS
if [ ! -f $EFI_OSINDSUPP ]
then
echo "ERROR: no support for EFI OsIndications"
exit 72 # EX_OSFILE
fi
FWSUP=$(od -An -t x4 $EFI_OSINDSUPP | cut -c 18)
case $FWSUP in
[02468ace])
echo "ERROR: no support for boot-to-fw-ui OsIndication" >&2
exit 69 # EX_UNAVAILABLE
;;
esac
# grab OsIndications header (4 bytes)
EFI_OSINDHDR=$(head -c 4 $EFI_OSIND)
printf '%s\x01\x00\x00\x00\x00\x00\x00\x00' "$EFI_OSINDHDR" > $EFI_OSIND
if [ $? -eq 0 ]
then
echo "Success. The system will boot to UEFI setup at next reboot."
exit 0 # EX_OK
else
echo "FAIL: could not update the OsIndications UEFI variable."
exit 69 # EX_UNAVAILABLE
fi
답변3
- BIOS에서 OsInspirationSupported가 활성화되어 있는지 확인하십시오(데이터 값은 1이어야 함). 이는 필수입니다.
그런 다음 다음을 수행하십시오.
rm /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
printf '\7\0\0\0' '\1\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
첫 번째 단계는 이전 OsInductions 파일을 삭제하는 것입니다. 두 번째 단계에서 "\1"을 사용하면 재부팅 후 BIOS 설정으로 부팅할 수 있습니다.
필요한 경우 efivars 권한 변경을 사용하십시오 chattr -i /sys/firmware/efi/efivars/*
. 일부 파일은 UEFI 설정에서만 읽을 수 있으므로 모든 파일에 대해 작동하지 않습니다.
답변4
설정에 액세스할 수 있나요? 그렇지 않은 경우 일부 BIOS 문제가 있을 수 있습니다. OEM SO를 통해서만 액세스할 수 있는 설정이 포함된 버그가 마더보드에 포함된 것을 여러 번 본 적이 있습니다. 예를 들어, WIN 8을 OEM으로 사용하고 다른 WIN 8로 포맷하는 경우 이 새 창에서도 BIOS로 이동할 수 없기 때문에 설정을 입력할 수 없습니다. BIOS와 해결책은 마더보드의 BIOS를 새로 고치는 것입니다. 어떤 버전도 아닌 CLEAN ME 버전을 플래시해야 한다는 점을 기억하세요...인텔 관리 엔진 버그일 수 있다고 생각합니다...따라서 다음이 필요합니다. CLEAN ME 버전... 마더보드에 이미 있는 BIOS를 청소해본 적은 없지만, 내 직감이 맞다면 그것도 가능할 수도 있습니다... 아, 마지막으로 참고할 점... 이 버그는 대부분 다음 위치에 존재합니다. 일부 삼성 노트북 모델도 있지만 일부 Sony, Asus, 심지어 Lenovo에서도 본 적이 있습니다.