
EFI 부트로더의 구체적인 이름이 없나요?
에서와 같이윈도우 BIOS MBR,NTLDR부트로더는 다음과 같습니다.리눅스 MBR그것은애벌레LINUX EFI의 경우 GRUB 2입니다.
UEFI 모드에서 프로세스는 어디에서 시작됩니까? EFI 부트로더를 먼저 수행하고 그 다음에는 ESP를 수행합니까? 그 사이에 GPT의 역할이 있나요?
답변1
EFI 부트로더에는 구체적인 이름이 없습니다. 그러한 부트로더는 실제로 존재하지 않기 때문입니다.
EFI의 부트스트래핑에는 다음과 같은 부팅 관리자가 포함됩니다.펌웨어에 내장. EFI 시스템은 부트 레코드(VBR 또는 MBR)에 저장된 부트스트랩 프로그램에 전혀 의존하지 않습니다. 펌웨어는 파티션 테이블을 읽는 방법을 알고 FAT 파일 시스템 형식을 이해합니다. IBM PC 호환 펌웨어는 이를 수행할 수 없고 이를 위한 프로그램을 로드해야 합니다.
FAT 파일 시스템 형식으로 포맷되고 잘 알려진 특정 파티션 유형으로 식별되는 지정된 파티션은 펌웨어가 찾는 방법을 알고 있는 EFI 시스템 파티션으로 알려져 있습니다.
EFI 시스템 파티션은 Microsoft의 시스템 예약 파티션처럼 추측할 필요 없이 파티션 테이블의 유형 코드로 식별되는 실제 시스템 볼륨입니다. 여기에는 EFI 부팅 관리자가 로드하고 실행하는 EFI 실행 프로그램인 특정 부팅 로더 프로그램이 포함되어 있습니다.
EFI 실행 프로그램은 시스템 펌웨어 서비스만 사용하고 실행을 위해 기본 운영 체제가 필요하지 않은 독립 실행형 프로그램입니다. 이는 운영 체제 부트 로더이거나 "부팅 전" 유지 관리/진단 프로그램일 수 있습니다. 관례적으로 모든 운영 체제에 대한 모든 부트 로더는 디렉토리의 공급업체별 하위 디렉토리에 있는 EFI 시스템 파티션에 저장됩니다 \EFI\
.
64비트 버전의 Windows NT 5.x의 경우 EFI 부트 로더는
\EFI\Microsoft\WINNT50\IA64LDR.EFI
이거나 때로는 입니다 \EFI\Microsoft\WINNT50C\IA64LDR.EFI
. 이는 Windows 부팅 볼륨의 파일에서 Windows NT 커널을 로드하고 실행하는 Windows NT 부팅 로더인 NTLDR로 구성됩니다.
Windows NT 6의 경우 EFI 부트 로더는 \EFI\Microsoft\Boot\Bootmgfw.efi
Microsoft 부팅 관리자로, 두 번째 부팅 옵션 메뉴를 다시 표시할 수 있는 두 번째 부팅 관리자로, 호출할 더 많은 부트 로더 프로그램과 전달할 옵션을 나열합니다.
64비트 버전의 Linux의 경우 EFI 부트 로더는 시스템 볼륨의 파일에서 Linux 커널을 로드하고 실행하는 Linux 부트 로더인 LILO의 수정된 버전인 \EFI\RedHat\elilo.efi
또는 입니다.\EFI\SuSE\elilo.efi
Microsoft 부팅 관리자와 마찬가지로 ELILO에는 elilo.conf
이러한 여러 부팅 옵션에 대한 지원을 EFI 부팅 로더 및 EFI 변수에 통합하는 대신 별도의 구성 파일에 보관되는 두 번째 수준의 부팅 옵션이 포함되어 있습니다.
Apple의 경우 펌웨어는 Intel Macintosh의 EFI 사양 대부분을 무시합니다. EFI 시스템 파티션은 비어 있고 사용되지 않으며 EFI 부팅 관리자는 이전에 실행되는 Apple 부트 로더에 의해 가려집니다.
자세한 내용은 다음을 참조하세요.
답변2
EFI 부트로더의 구체적인 이름이 없나요?
있다많은많은 BIOS 부트 로더가 있는 것처럼 EFI 부트 로더도 있습니다. 그러나 그들의 이름은 종종 정확히 동일합니다.
Windows Vista 이상:
부팅 메뉴를 표시하는 부팅 관리자를 "Windows 부팅 관리자"라고 합니다. 파일 이름은 BIOS(
BOOTMGR
)와 UEFI(Bootmgfw.efi
)마다 다르지만 두 경우 모두 Windows 부팅 관리자라고 합니다.부팅 메뉴에서 시작되어 실제로 Windows를 시작하는 부팅 로더를 "Windows 부팅 로더" 또는 WINLOAD.EXE라고 합니다. 두 모드 모두 결국 동일한 부트 로더에 도달합니다.
Windows XP(UEFI는 지원하지 않지만 Itanium EFI는 지원함):
- BIOS 부트로더/부트 관리자는 "NTLDR"이라고 불렸습니다.
- EFI 부트로더는 "IA64LDR.EFI" 파일에 저장되었습니다.
Linux에는 여러 가지 부팅 관리자와 부팅 로더를 사용할 수 있습니다.
GRUB 2.x는 BIOS와 UEFI 시스템을 모두 지원하며 두 경우 모두 "GRUB 2"라고 합니다.
Syslinux는 두 가지 모드도 모두 지원합니다. Syslinux의 UEFI 버전은 여전히 "Syslinux"라고 불립니다.
BIOS 전용 부팅 관리자/로더도 있고(예: LILO, GRUB 0.x) UEFI 전용 부팅 관리자/로더도 있습니다(예: systemd-boot, rEFInd, eLILO, efilinux).
UEFI 모드에서 프로세스는 어디에서 시작됩니까? EFI 부트로더를 먼저 수행하고 그 다음에는 ESP를 수행합니까? 그 사이에 GPT의 역할이 있나요?
"MBR"(마스터 부트 레코드)에는 처음 440바이트의 BIOS 부팅 코드와 나머지 72바이트의 파티션 테이블이라는 두 가지 항목이 동시에 들어 있습니다.
대조적으로, 부팅 코드는 GPT에 직접 보관되지 않습니다. GPT는오직파티션 테이블. 대신 EFI 시스템에는 부팅 코드가 일반 파일로 저장되는 지정된 시스템 파티션(ESP)이 있습니다.
따라서 GPT나 ESP는 실제로 스스로 아무것도 시작할 수 없습니다. 대신 EFI 펌웨어가 직접 시작됩니다.특정 파일ESP에서.