시스템이 grub을 건너뛰고 Windows(UEFI)로 로드됩니다.

시스템이 grub을 건너뛰고 Windows(UEFI)로 로드됩니다.

BIOS 대신 UEFI를 사용하여 컴퓨터에 Linux를 설치하는 것은 이번이 처음입니다(Debian 테스트). 저는 Windows를 먼저 설치한 다음 Debian을 설치했지만(항상 그렇듯이) 시스템이 Windows 10으로 직접 부팅되었습니다.

보안 부팅 비활성화, 여러 BIOS 설정 시도(CSM 지원 활성화 - 비활성화, UEFI 부팅만, UEFI 및 레거시 등), Windows 빠른 부팅 비활성화, rEFInd 설치 시도, Windows 셸에서 bcdedit 사용 시도 등 다양한 솔루션을 시도했습니다. 시스템을 완전히 다시 설치해 보세요..

GRUB(설치되어 작동 중)로 부팅하는 유일한 방법은 rEFInd USB를 사용하는 것입니다. 이런 식으로 efibootmgr EFI/debian/grubx64.efi 명령을 사용하여 GRUB를 EFI(누락)에 추가했지만 여전히 작동하지 않습니다.

내 컴퓨터는 Thinkpad T470입니다.

답변1

이미 언급한 시도 외에도 시스템 펌웨어와 관련된 두 가지 가능성이 있습니다.

  1. \EFI\Microsoft\Boot\bootmgfw.efi펌웨어는 실제로 UEFI를 올바르게 구현하지 않으며, 다양한 UEFI 부팅 변수를 무시하고 있는 경우 무조건 로드합니다 . 이 경우 Windows를 제외하고 시스템에서 듀얼 부팅을 제대로 수행하기 위해 할 수 있는 일은 실제로 없습니다. 많은 구형 Gigabyte 마더보드는 이 문제로 악명 높지만 Lenovo는 Thinkpad에서 이 작업을 수행한 적이 없다고 생각합니다.
  2. UEFI 부트로더 변수는 읽기 전용이지만 해당 구현이 UEFI 사양과 일치하지 않습니다. 나는 적어도 일부 THinkpad(예: 내가 한때 소유했던 L540)에는 사용자가 이러한 변수를 "잠그어" 변경할 수 없도록 하는 펌웨어가 있다는 것을 알고 있습니다. 이는 아마도 부팅 시 악성 코드로부터 시스템을 보호하기 위한 것입니다. Windows가 이 트릭을 알아낼 때까지 오랫동안 부팅 순서를 다시 작성하는 것을 방지하기 위해 bcdedit).

실제로 두 상황을 구별하는 것은 어렵지 않습니다. 두 번째 사례가 발생하는지 확인하려면 다음을 수행하세요.

  1. 리눅스로 부팅합니다.
  2. efibootmgr가상 시작 항목을 추가하거나 시작 순서를 변경하려면 이 명령을 사용하십시오 .
  3. 시스템을 완전히 종료합니다(재부팅하지 말고 실제로 시스템을 종료합니다).
  4. 다시 Linux로 부팅합니다.

2단계에서 변경한 내용이 여전히 존재하는 경우 첫 번째 시나리오가 문제일 수 있으며 시스템을 Windows 및 Linux 이중 부팅으로 만들기 위해 아무것도 변경하지 못할 수도 있습니다. 그렇지 않은 경우 두 번째 경우입니다. 펌웨어 설정에서 이 동작을 비활성화하는 옵션을 찾을 수 있습니다(내 L540에 옵션이 무엇인지 기억나지 않지만 시작 또는 보안 탭에 있어야 합니다).

답변2

ideapad 330 (Arch Linux)에서도 같은 문제가 발생했습니다. 내 시스템을 이중 부팅 가능하게 만드는 가장 간단하고 효과적인 방법은 Windows efi 파일의 경로를 변경하는 것입니다. grub을 복원한 후 "Microsoft" 디렉터리의 이름을 바꾸고 /boot/grub/grub.cfg 파일에서도 동일하게 변경하면 됩니다. 이제 펌웨어는 Windows를 찾을 수 없으며 grub을 부팅해야 합니다. 유일한 문제는 커널을 업그레이드하려는 경우입니다. grub은 자동으로 재구성되므로 업그레이드하기 전에 원래 디렉터리 이름으로 다시 변경해야 합니다. 다른 경우에는 os-prober가 창을 찾을 수 없습니다.

관련 정보