MBR 부트로더에 대해 알고 있는데, MBR 부트로더는 일반적으로 컴퓨터를 보호 모드로 전환하고 제어권을 OS 커널에 전달해야 합니다.여기. 그런데 UEFI 부트로더란 무엇입니까? 내가 읽은 대로 UEFI는 마이크로시스템입니다(BIOS와 유사하지만 더 많은 작업을 수행할 수 있음). 하지만 UEFI의 경우 부트로더는 무엇을 합니까?
나는 그것에 대해 읽으려고 노력한다운영 체제 개발 위키하지만 불행하게도 나는 거의 아무것도 얻지 못했습니다. 아마도 내 영어가 매우 서툴기 때문일 것입니다.
UEFI 부트로더가 운영 체제 커널을 로드하고 제어권을 전달하는 일반적인 단계를 누군가 나에게 설명해 줄 수 있습니까? 샘플을 찾을 수 없습니다.
폴리스티렌물론 모든 운영체제는 컴퓨터 아키텍처와 다르지만 64비트 또는 32비트 운영체제 커널을 갖고 있는 x86_64 아키텍처를 말하는 것이다.
답변1
UEFI는 펌웨어 자체가 부트 로더 역할을 하기 때문에 추가 부트 로더(또는 부트 관리자)를 가질 수 없습니다(적어도 다른 부트 로더/부팅 관리자 실행). 지금까지 본 것 중 대부분에는 부족합니다. bootmanager("Boot Menu:...")의 역할 - 또는 제대로 플레이되지 않았습니다.
부츠짐을 싣는 사람다음 단계 실행 파일을 로드하고 실행할 수 있습니다(다른 부트로더, 부팅 관리자, 커널 또는 예: memtest86). UEFI SecureBoot의 경우 펌웨어에서 바이너리의 서명 확인 후크를 실행하는 역할도 합니다.
부츠관리자사전 구성된 일부 메뉴를 읽거나 사용 가능한 파일 시스템 및 부팅 대상을 검색할 수 있습니다(또는 둘 다 수행 가능)다시 찾기) 사용자에게 선택할 메뉴를 제공합니다.
"사소한" 경우에는 UEFI 펌웨어에서 컴파일된 Linux 커널을 부팅하여 x86_64 시스템의 FAT32 EFI 시스템 파티션에 직접 배치할 수 있습니다 CONFIG_EFI_STUB=y
. \EFI\BOOT\bootx64.efi
하지만 배포판에서는 이를 지원하지 않는 것으로 보이며 대신 grub2를 사용하는 것이 좋습니다.
Artem이 거의 올바른 링크를 제공했습니다. 실제로 필요한 것은 Rod의 훌륭한 링크입니다.Linux용 EFI 부트로더 관리: 기본 원칙
추신: возможно, пригодится구조에 대한 대체 요법:)