멀티부팅 사양
Multiboot specification멀티부팅 사양은 부트 로더가 x86 운영 체제 [1][2]커널을 로드하는 방법을 설명하는 개방형 표준입니다.이 사양에 따라 모든 준거 부트 로더 구현에서 모든 준거 운영 체제 커널을 부팅할 수 있습니다.따라서 운영체제 고유의 부트 로더 없이 서로 다른 운영체제와 부트 로더가 연계하여 상호 운용할 수 있습니다.그 결과, 1대의 컴퓨터상에서 다른 operating system의 공존을 용이하게 할 수 있습니다.이것은 멀티 부트라고도 불립니다.
이 사양은 1995년에 처음 작성되었으며 Free Software Foundation에 의해 개발되었습니다.GNU Hurd, VMware ESXi, Xen 및 L4 마이크로커널은 모두 이 방법을 사용하여 부팅해야 합니다.GNU GRUB는 GNU 운영 체제 및 기타 운영 [3]체제에서 사용되는 참조 구현입니다.2019년 7월[update] 현재 멀티부트 사양의 최신 버전은 [2]2009년에 정의된 0.6.96입니다.UEFI 지원과의 호환되지 않는 두 번째 반복인 Multiboot2 사양이 나중에 도입되었습니다.2019년 4월[update] 현재 Multiboot2의 최신 버전은 2.[4]0이며 2016년에 정의되었습니다.
기술 개요
멀티부트는 이미지 파일 전체에 존재해야 하는 구조체로 헤더를 정의하지만 멀티부트2에서는 필드 또는 필드 그룹에 유형 태그가 있어 멀티부트2 헤더에서 제외할 수 있습니다.
OS 이미지 파일 내에서 헤더는 Multiboot의 경우 처음 8192 (213)바이트, Multiboot2의 경우 32768 (215)바이트여야 합니다.로더가 0x1B인 매직 번호를 검색하여 헤더를 찾습니다.ADB002(멀티부팅의 경우), 0xE85250D6(멀티부팅2의 경우).
머리글에entry_addr
제어가 OS로 넘어가는 코드를 가리킵니다.따라서 다양한 실행 파일 형식을 사용할 수 있습니다(실행 파일 형식 비교 참조).OS 커널이 Linux 커널용 ELF 파일(Executable and Linkable Format)인 경우 Multiboot2에서는 생략할 수 있습니다.ELF 형식은 오픈소스 세계에서 매우 일반적이며 자체 필드가 있습니다.e_entry
)에 인트루먼트 포인트가 포함됩니다.
OS 엔트리 포인트로 이동하기 전에 부트 로더는 부트 정보 구조를 제공하여 OS에 시스템을 어떻게 떠났는지를 알려야 합니다.멀티부트의 경우 이는 구조체이며 멀티부트2의 경우 모든 필드(그룹)에는 유형 태그와 크기가 있습니다.
「 」를 참조해 주세요.
- El Torito(CD-ROM 표준), CD-ROM 디스크 부팅용
- 라이브 USB 시스템 생성 도구 목록
- 라이브 USB
- 멀티부팅
레퍼런스
- ^ 를 클릭합니다Merino Vidal, Julio M. (March 1, 2007), "Making NetBSD Multiboot-Compatible", ONLamp.com, O'Reilly Media, retrieved October 2, 2012.
- ^ a b c Ford, Bryan; Boleyn, Erich Stefan; FSF (2009). "Multiboot specification" (0.6.96 ed.). GNU. Retrieved 2013-10-11.
- ^ "Booting with GRUB". OSDEV. June 25, 2006. Archived from the original on December 28, 2008.
- ^ a b "Multiboot2 Specification version 2.0". www.gnu.org. Retrieved 7 April 2019.
외부 링크
- "Multiboot". OSDev Wiki.