요컨대 몇 가지 다른 이유로 그렇습니다. Windows가 GPT 디스크에서 부팅하는 경우 UEFI에서 부팅해야합니다. Windows 부팅 관리자 및 로더는 기본 UEFI 에서 MBR 디스크로 부팅 할 수 없습니다 . 그러나 UEFI가 레거시 BIOS 부팅 모드로 구성된 경우 MBR 디스크를 사용하여 부팅 할 수 있습니다. 이는 Windows 부팅 모드 (MBR이있는 BIOS 또는 GPT가있는 UEFI)가 호출 된 환경에 따라 달라집니다.
약간의 기술에 대해 읽어보십시오.
물리적 하드웨어 (또는 가상 하드웨어이지만 그럼에도 하드웨어) 펌웨어 (BIOS / UEFI)는 운영 체제 부팅 프로세스의 후속 단계에서 사용할 수있는 초기 운영 환경 (부팅 관련 데이터 구조 및 규칙) 및 펌웨어 서비스를 제공합니다.
BIOS / MBR
BIOS / MBR 부팅의 경우 첫 번째 부팅 디스크의 첫 번째 섹터 인 마스터 부팅 레코드 (LBA 0)에는 소수의 x86 (16 비트 8088) 어셈블리, 파티션 테이블, 서명이 포함됩니다. BIOS는이 섹터를 메모리에로드하고 실행을 시작합니다. BIOS는 MBR이 관여하자마자 자체 프로그램 코드 제어를 포기합니다.
http://mbr.adamsatoms.com/
http://www.ata-atapi.com/hiwmbr.html
MBR의 x86 어셈블리 (대부분의 MBR에서 Intel 8088)는 파티션 테이블을 구문 분석하고 활성 파티션을 검색 한 후 해당 파티션의 첫 번째 섹터 (볼륨 부팅 레코드)로 이동합니다. 볼륨 부팅 레코드에는 x86 어셈블리 jmp, BIOS 매개 변수 블록 (시스템 BIOS에서 전혀 사용하지 않으므로 혼동되는 이름) 및 궁극적으로 운영 체제의 부트 로더 (Windows 환경의 NTLDR 또는 BOOTMGR)를로드하는 x86 어셈블리가 포함됩니다. 부팅 볼륨 / 파티션 자체에서
NTLDR 또는 BOOTMGR은 CPU를 보호 모드로 전환하고 부팅 시간 구성 (부팅 볼륨 / 파티션에서 각각 boot.ini 또는 BCD)을 참조하고 나머지는 히스토리 인 NTOSKRNL을로드합니다.
http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx
http://en.wikipedia.org/wiki/Windows_NT_startup_process
http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html
UEFI / GPT
먼저 UEFI / GPT에 대한 경험이 많지 않다고 설명하겠습니다. 그러나 내가 그것을 사용하고 작동하는 것으로 이해하면 대화와 관련하여 큰 차이점은 실행 제어가 MBR로 전송되지 않는다는 것입니다.
대신 UEFI 펌웨어에는 자체 부팅 관리자가 포함되어 있습니다. 이 부팅 관리자는 디스크와 미디어를 검사합니다-GPT 포맷 디스크의 보호 MBR을 통해 광택을 내고 GPT 헤더에 도달 한 다음 EFI 시스템 파티션 (ESP)으로 들어가 EFI 실행 프로그램을 찾습니다. OS를 직접 부팅하는 운영 체제 부트 로더 이지만 최신 MS 및 Apple EFI 실행 파일에서 볼 수 있듯이 실제로 부트 관리자는 프로세스와 복잡성에 다른 계층을 추가합니다.
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html
http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443
결론 / TL; DR
이 문제를 해결하려면 운영 체제의 부트 관리자 및 부트 로더가 실행될 것으로 예상되는 환경이 있습니다. 사용 가능한 펌웨어 수준 서비스 (BIOS / UEFI 인터럽트), 데이터 구조 (변수, 스택 규칙 등), 심지어 디스크 포맷 규칙까지. 적어도 내가 이해하는 방식이 아닌 런타임에 변경할 수 없습니다.
당신의 옵션?
사전 설치 MBR이있는 레거시 BIOS 부팅에서 GPT가있는 UEFI 또는 BIOS / MBR 또는 UEFI를 사용하여 설치를 제어 할 수 있습니다.
설치 후-디스크 형식 (MBR에서 GPT로, GPT에서 MBR로)을 오프라인으로 변경 한 다음 복구 콘솔 (적절한 UEFI 또는 BIOS 모드에서)로 부팅하고 bcdboot 및 bcdedit를 사용하여 Windows를 가져 오는 흥미로운 가능성이있을 수 있습니다. 부팅 관리자가 똑바로 설정되었습니다.
2011.09.09 업데이트
Mi
내가 공식적으로 제안하는 것이 아니라 내가 이해할 수있는 옵션을 나열하십시오.
그럼에도 불구하고 UEFI에 대해 조금 더 연구 한 후 (내가 적극적으로 경험하지 않았다는 것을 기억하십시오) UEFI 부팅 관리자와 CD / DVD 부팅 지원에 대한 흥미로운 정보를 발견했습니다.
'95 년의 El Torito Boot Specification은 오늘날에도 여전히 사용되고 있으며 부팅 가능한 CD / DVD와 함께 사용됩니다. 단일 CD / DVD는 여러 아키텍처에서 부팅해야 할 수 있습니다. ISO 9660은 플랫폼과 무관하지만 실행 코드는 아닙니다. 따라서 El Torito Boot Specification은 여러 부팅 항목 / 이미지를 허용합니다.
이러한 항목 / 이미지에는 플랫폼의 ID가 포함되어 있습니다. 이는 아키텍처의 BIOS (또는 펌웨어)가 올바른 부팅 항목을 선택할 수 있도록 항목이 PC, PowerPC 및 기타 아키텍처를위한 것인지 나타냅니다.
BIOS가있는 표준 x86 PC의 El Torito 플랫폼 ID 는 0x00입니다. UEFI 가능 플랫폼 ID 는 0xEF이며 다소 독창적입니다.
표준 x86 PC BIOS는 0x00을 제외한 다른 모든 항목을 무시합니다. 레거시 BIOS를 지원하는 UEFI 펌웨어 (CSM (호환성 지원 모듈)라고 함)는 0x00으로 부팅 할 수 있지만 카탈로그에서 0xEF 기본 부팅 항목을 선호합니다.
Windows 2008, 2008 R2 및 7 DVD 매체에는 0x00 및 0xEF가 모두 포함 된 다중 이미지 El Torito 카탈로그가 포함되어 있습니다. 0x00이 기본값이지만 0xEF가 존재하는 경우 UEFI는 그 위에 광택을 내고 기본적으로 0xEF 항목을 선택합니다.
가능한 것은 -El Torito 부팅 카탈로그에 기본 플랫폼 ID 만 포함 된 미디어를 만드는 것 입니다. 다중 항목 카탈로그 대신 0x00 플랫폼 ID로 단일 항목 카탈로그를 작성하십시오. 실제로 UEFI 펌웨어가 레거시 BIOS 부팅을 지원하는 경우 0x00 플랫폼 ID를 선택하고 Windows 미디어에서 레거시 BIOS 부팅 항목을 부팅해야합니다.
어떻게합니까?
Oscdimg를 사용하면 가능합니다. 다음은 Apple UEFI 구현의 한계를 극복하기 위해 UEFI 전용 미디어를 만드는 사람들의 몇 가지 예입니다. 이것은 우리가하려는 것과 반대입니다. 우리는 카탈로그에서만 UEFI 부팅 항목을 남기지 않고 BIOS 만 만들려고합니다.
UEFI 만 (반대) 1
UEFI 만 (반대) 2
BIOS 전용 미디어를 작성하는 프로세스 는 다음에 대한 -b
및 -p
인수 변경과 유사 합니다.
-bC:\path\to\Etfsboot.com -p0x00
Windows 설치 미디어에서 Microsoft가 선택한 광기를 잘 보여주는 훌륭한 리소스는 Windows 운영 체제에 대한 UEFI 지원 및 요구 사항 문서입니다.