Windows Server 2008에서 EFI 대신 레거시 BIOS 부트 로더를 사용하도록 설정


12

우리는 UEFI 서버를 보유하고 있으며 UEFI 대신 레거시 BIOS 방법을 통해 Windows Server 2008을 강제로 부팅해야하는 상황에 직면했습니다.

Windows Server 2008 (설치 또는 설치 중)이 EFI 컴퓨터에 설치되고 있다는 사실을 무시하고 대신 기존 BIOS 부트 로더를 설치하여 사용하도록 지시하는 방법이 있습니까?


도움이되지 않은 몇 가지 제안을 시도했습니다.

  • Windows를 설치하기 전에 디스크를 MBR 파티션으로 포맷

    아니요, Windows는 다음을 설치하지 않습니다.EFI 시스템에서 Windows는 GPT 디스크에만 설치할 수 있습니다

  • Windows 설치, 파티션을 MBR 디스크로 마이그레이션, 시스템 복구

    아니요, 시스템 복구 콘솔의로드를 거부합니다. 복구하려는 Windows 버전을 인식하지 못한다고 불평합니다.

  • UEFI 비활성화

    UEFI를 비활성화하고 시스템을 레거시 전용으로 만들 수 있다면 가능합니다. 그러나 내가 사용하는 특정 시스템 (IBM HS22, x3690X5)은 레거시 지원이있는 UEFI 전용입니다. UEFI를 비활성화 할 수는 없습니다. 완전한 BIOS 구현이 필요합니다.


해결책!

JdeBP가 지적했듯이 Windows가 EFI / GPT 또는 BIOS / MBR 부트 로더 사용 여부를 결정하는 유일한 방법은 설치 CD를 부팅하는 데 사용 된 방법입니다.

이것을 0xEF 부트 카탈로그 항목없이 .iso 이미지를 만들 겠다는 Weaver의 제안과 결합하면 (이미지를 리마스터링하는 대신 16 진 편집으로 수행하기가 훨씬 쉽습니다) 우리는 훌륭하고 간결한 답변을 얻습니다.

UEFI가 아닌 BIOS를 통해 설치 미디어를 강제로 부팅하십시오. 이는 Windows Installer가 사용할 부팅 구성표를 결정하는 데 유일한 차별화 요소이기 때문입니다.


이것은 하드웨어마다 다릅니다. 장비와 모델을 언급하면 ​​도움이 될 수 있습니다. 일부 공급 업체는 설정 화면에서 또는 부팅 옵션으로 BIOS 호환 모드 옵션을 제공합니다.
Tom Willwerth

문제에서 하드웨어를 언급하지 않은 이유는 신중한 선택이었습니다. 다른 부트 로더를 사용하도록 Windows 측에서 변경하고 싶습니다. IBM x3690X5의 BIOS 호환성이 이미 설정되어 있으므로 모든 BIOS 로더가 작동합니다. 문제는 W2K8에게 UEFI 부트 로더를 사용 하지 않도록 지시 하는 것입니다.
MikeyB

2
@MikeyB : 왜 그냥 GPT를 사용하지 않습니까?
tegbains

@tegbains : $ BIGCUSTOMER에는 GPT를 제대로 지원하지 않는 제품을 사용하는 이미징 환경이 있습니다.
MikeyB

1
이 중요한 정보를 당신에게서 빼내는 데 2 ​​주가 걸리지 않았다면, 위버에게 많은 슬픔을 구할 수 있었을 것입니다. 제목에있는 것은 작업 할 수없는 단계 X 이고 질문이 오도 되기 때문에 실제 목표를 반영하도록 질문을 편집하는 것이 좋습니다 .
JdeBP

답변:


6

Microsoft는 귀하의 발걸음을 이룰 수 없습니다. 대신 목표를 정하십시오.

Microsoft 가 EFI 펌웨어 가있는 EFI 파티션 된 하드 디스크 를 잘못 설치했습니다 . 물론 이것은 분명 잘못입니다. 오래된 비 EFI 펌웨어가있는 시스템에 EFI 파티션 디스크를 갖는 것이 가능할뿐만 아니라 요즘에는 더욱 더 바람직 해지고 있습니다. 실제로 사람들은 단계가 아니라 목표를 짜기 위해 2 주가 걸렸지 만 대화를 원합니다. EFI 펌웨어가있는 머신에 이전 PC / AT 스타일 MBR 파티션 디스크를 갖고 싶습니다. EFI 펌웨어 자체는 파티션 테이블 형식에 문제가 없으며 실제로 EFI 사양에서 두 가지를 모두 이해하는 데 필요합니다.이 오류를 발생시키는 것은 Microsoft입니다.

Microsoft의 오류로 인한 몇 가지 결과 중 하나는 Windows NT 6.1을 디스크에 설치한다는 아이디어를 받아들이 기 위해 이전 PC98 펌웨어에서 부트 스트랩 된 설치 매체에서 Windows NT 6.1 설치 프로그램을 호출해야한다는 것입니다 이전 PC / AT MBR 파티셔닝 구성표로 파티셔닝되었습니다. 불행히도 Windows NT 설치 디스크가 새로운 EFI 방식으로 부트 스트랩되면 설치 프로그램은 EFI 펌웨어가 있다고 생각하므로 EFI 파티션되지 않은 하드 디스크에는 설치할 수 없다고 선언합니다.

Weaver가 지적했듯이 Microsoft 설명서에서 설명 하듯 이 설치 CD-ROM은 실제로 이중 부팅입니다. Rod Smith가 추가로 설명 하듯 이 이전 PC98 방식으로 부트 스트랩하는 Windows NT 6.1 설치 디스크를 수동으로 구성 할 수 있습니다. 그런 다음 Windows NT 6.1 설치 프로그램은 이전 PC / AT MBR 파티션 된 하드 디스크에 설치를 허용합니다.

그러나 호환성 지원 모듈 이없는 시스템에서는 시스템이 말한 것처럼 도움이되지 않습니다 . 펌웨어가 운영 체제를 부트 스트랩하는 방식이기 때문에 시스템에 EFI 시스템 파티션에 설치된 EFI 버전의 Microsoft 부팅 관리자가 필요합니다. 그러나 비 EFI 펌웨어에서 Windows NT 6.1 설치 관리자를 시작하면 EFI 이외 버전의 Microsoft Boot Manager가 설치되고 EFI 시스템 파티션이 생성되지 않습니다. 이러한 설치는 실제로 시스템에서 부트 스트랩되지 않으며 설치 절차를 완료 할 수도 없습니다. 실제로 CSM이 없기 때문에 시작할 수조차 없습니다.이전 PC98 방식으로 설치 디스크를 부트 스트랩 할 수 없기 때문에 설치 절차. Microsoft는 귀하의 발걸음을 두 번 이상 달성하지 못하게합니다.

대신 목표에 집중하십시오. 목표는 고객이 시스템 이미지에서 EFI 펌웨어가있는 시스템에 Windows Server 2008을 배포 할 수 있도록하는 것입니다. 따라서 소프트웨어 공급 업체에 문의해야 할 올바른 질문은 EFI 파티션 테이블에 문제가 없도록 이전 / 깨진 디스크 이미징 소프트웨어를 수정하는 방법입니다.


오, 내 시스템에는 호환성 모드가 없으며 문제가되지 않습니다. Windows 설치 프로그램이 시스템이 EFI인지 여부를 감지하는 유일한 방법은 부트 스트랩에 사용 된 방법을 사용하는 것입니까? 그것은 새롭고 중요한 정보입니다-나는 그것을 시험해 볼 것입니다.
MikeyB

아 아! 효과가있다! "
MikeyB

@JdeBP +1 당신에게 훌륭한 답변을 제공합니다.
위버

7

요컨대 몇 가지 다른 이유로 그렇습니다. 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 지원 및 요구 사항 문서입니다.


1
"사전 설치에서는 MBR이있는 레거시 BIOS 부팅에서 GPT가있는 UEFI 또는 BIOS / MBR 또는 UEFI를 사용하여 설치를 제어 할 수 있습니다." 그렇다면 Windows에 "MSDOS 스타일 파티션 테이블에 설치"를 어떻게 지시합니까?
MikeyB

@MikeyB 기존 BIOS가있는 컴퓨터 시스템에서 Windows 설치 미디어를 부팅합니다. 또는-레거시 BIOS 부팅 모드에서 UEFI가 설정된 컴퓨터 시스템에서 Windows 설치 미디어를 부팅합니다. UEFI는 레거시 BIOS 부팅 모드를 지원해야합니다.
위버

완전히 다른 컴퓨터에 Windows를 설치 한 다음 디스크를 옮겨 놓으라고 제안하십니까? 전혀 좋은 생각이 아닙니다. 또한 UEFI 컴퓨터를 '레거시 BIOS 모드'로 설정하면 레거시 MBR 디스크 부팅을 위해 레거시 BIOS 후크 만 활성화됩니다. 그것은 UEFI 꺼지지 않습니다 Windows가 여전히 말한다, 그래서 "이것은 UEFI 시스템인가? 그래."
MikeyB

@MikeyB 원래 답변에 업데이트를 추가했습니다.
위버

1
BIOS 및 MBR 디스크 크기 제한에 대해 배우는 과정에서 server 2008과 비슷한 것을 보았습니다. 2008 R2로 서버를 구축하고 USB 미디어 (MS 버그)와 함께 설치하지 않기 때문에 레거시 BIOS 모드를 활성화했지만 BIOS에서 GPT를로드 할 수 없기 때문에 GPT 대신 MBR을 사용했습니다. 부트 로더가 있습니다). 간단히 말해서 레거시 모드로 전환하면 레거시 모드로 확실히 설치됩니다. 증거는 디스크 관리자에 있으며 GPT 디스크가 아닌 MBR이 표시됩니다.
Alex Berry

3

간단한 방법 중 하나는 EFI를 지원하지 않는 컴퓨터에서 Windows의 기본 설치를 간단히 수행하고 이미지 소프트웨어로이를 캡처하여 실제 하드웨어로 복원하는 것입니다.

VM에서 기본 설치를 빌드하는 것이 좋습니다. 이전 버전 (<6 미만)의 Windows는 한 유형의 하드웨어에서 다른 유형의 하드웨어로 이동하기에 적합하지 않았습니다. 스토리지 컨트롤러가 이미지에서 지원되는 한 최신 버전의 Windows에서는 Windows가 새 하드웨어에 적응하는 데 상당히 효과적입니다.

Windows 설치 (ver> = 6) 디스크에는 기본적으로 운영 체제 이미지 인 wim 파일이 포함 됩니다.


그것이 제가 제안하려고하는 바로 그 것입니다. 다른 (BIOS / MBR) 시스템에서 Windows 설정을 실행 한 다음 디스크 또는 이미지를 대상 서버로 이동하십시오. 경우 부팅 될 때, 다음의 PnP는 계속 될 것이고, 그것은 행복하게 다른 하드웨어에서 실행됩니다.
Massimo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.