BIOS 업데이트 후 Linux 부트로더가 감지되지 않음

BIOS 업데이트 후 Linux 부트로더가 감지되지 않음

저는 Lenovo y500을 사용하고 있는데 250GB 삼성 SSD를 구매한 후 Arch Linux와 Windows 8.1로 구성된 듀얼 운영체제를 사용하기로 결정했습니다. 시작 문제를 방지하기 위해 나중에 Arch를 설치했습니다. UEFI를 사용하고 설치를 위해 systemd-boot를 선택했습니다. Linux 부트로더가 제대로 작동합니다. 그러나 어떤 이유로 부팅 화면이 내 화면과 제대로 정렬되지 않았고 내 검색에 따르면 문제가 펌웨어 관련이었기 때문에 BIOS를 업데이트하기로 결정했습니다(문제를 해결하지 못했기 때문에 후회합니다).

그 후에는 부팅 옵션에서 Linux 부트 로더를 볼 수 없습니다. Windows 부트로더에만 해당됩니다. EFI 파티션을 확인한 결과 systemd-boot 파일이 변경 사항 없이 존재하는 것으로 나타났습니다.

내 컴퓨터가 Linux 부트로더를 볼 수 없는 이유를 이해할 수 없습니다. 인터넷에도 이에 대한 정보가 없습니다. 그래서 내 질문은 다음과 같습니다

  • BIOS 업데이트가 EFI 부팅에 어떤 영향을 미치나요?
  • 실제로 업데이트에 문제가 있는 경우 롤백을 시도해야 합니까?
  • 내 질문에 대해서는 Arch Linux 라이브 USB를 사용하여 EFI를 수정할 수 있습니까? 그렇다면 어떻게?

BIOS 업데이트가 보안 부팅을 다시 활성화한다고 말할 필요가 있다고 생각합니다. 비활성화했지만 작동하지 않습니다. 보안 부팅이 다시 활성화되면 업데이트가 EFI에 약간의 영향을 미칠 수 있지만 확실하지 않습니다.

답변1

systemd-boot에도 동일한 문제가 있습니다. 최근 BIOS 패치 이후 msi gs40, systemd 부트로더가 BIOS 옵션에서 사라졌습니다. 그러나 grub2(Ubuntu용 로더) 및 ms-boot(Windows용)는 여전히 정상적으로 감지됩니다. systemd-boot 업데이트, 보안 부팅 전환 또는 BIOS의 기타 임의 클릭도 도움이 되지 않았습니다. 귀하의 질문에 관해서는:

  1. BIOS 업데이트가 EFI 부팅에 어떤 영향을 미치나요? 이 문제는 새로운 EFI BIOS 버전에 대한 systemd-boot 지원과 관련된 것 같습니다. 버그 추적기에는 아직 문제가 없으며 너무 게으르기 때문에 문제를 만들 수 없습니다.
  2. 실제로 업데이트에 문제가 있는 경우 롤백을 시도해야 합니까? 아니요, 제가 경험한 바에 따르면 이전 BIOS 버전을 업데이트하면 노트북이 벽돌처럼 변할 수 있습니다. 특별한 방법 없이는 BIOS 펌웨어를 복원할 수 없습니다.프로그램 제작자. 항상 그런 것은 아니지만 위험을 감수하지는 않을 것입니다.
  3. 내 질문에 대해서는 Arch Linux 라이브 USB를 사용하여 EFI를 수정할 수 있습니까? 그렇다면 어떻게? grub2 또는 다른 것으로 전환하십시오.부트 로더. Archlinux usb livecd는 여전히 UEFI 모드로 부팅되어야 합니다. @younes의 답변이 좋을 것입니다. 자세한 내용은 다음을 참조하세요.위키피디아

편집하다:

글쎄, 마침내 systemd-boot에서 부팅할 수 있었습니다. 나에게는 efi 구조를 다시 만드는 것이 어떤 마법적인 이유로 도움이 되었습니다. 수정 단계는 다음과 같습니다.

  1. 모든 Linux livecd에서 부팅합니다(archlinux가 수행함).
  2. 부팅 파티션을 마운트하고 그 안에 있는 모든 데이터를 어딘가에 백업하세요.
  3. 부팅 파티션의 모든 파일 삭제(파일만 삭제, 파티션에 아무 작업도 수행할 필요 없음)
  4. bootctl installefi 모드로 부팅하고 부팅 파티션이 마운트되었으므로 systemd 부팅을 다시 설치하십시오.
  5. sync캐시를 새로 고치고 BIOS로 재부팅하는 명령을 실행하십시오 . systemd 시작이 UEFI 로더에 나타나야 합니다. 첫 번째로 표시하세요. 이제 재부팅 후 시스템 시작을 사용할 수 있습니다!
  6. livecd에서 이전 UEFI 구조를 복원합니다. (백업된 /boot를 파티션에 새로 설치된 파일에 복사하여 덮어씁니다.)
  7. 다시 재부팅하고 시스템에서 부팅합니다.

이것이 당신에게 도움이 되기를 바랍니다.

답변2

관리자 권한 명령 프롬프트를 열고(누르기 Windows Key> 유형 CMD> 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭 > 선택 Run as administrator) 다음을 입력합니다.

bcdedit /set {bootmgr} path \EFI\<<LINUX OS>>\grubx64.efi 

(위 명령에서 <<LINUX OS>> debianDebian 운영 체제 및 ubuntuUbuntu 운영 체제 에 적용 가능합니다 . 예: bcdedit /set {bootmgr} path \EFI\debian\grubx64.efi)

답변3

더 쉬운 방법이 있습니다. Windows 부팅 옵션에서 UEFI 펌웨어 설정을 입력하기만 하면 됩니다. 부팅 순서를 변경하고 Linux가 먼저 부팅되도록 하세요. 변경 사항을 저장하고 종료합니다. 재부팅하면 grub이 로드되고 두 운영 체제 중 하나로 부팅할 수 있습니다.

답변4

라이브 CD 또는 USB를 사용하고 하드 드라이브에서 Archlinux에 chroot를 update-grub실행할 수도 있습니다 grub-install /dev/sda && update-grub.

하드 드라이브(파티션 테이블, 유형 및 부품 구성표...) lsblk및 표준 출력에 대한 추가 정보를 제공할 수 있다면sudo fdisk -l

관련 정보