GPT에서 BIOS를 사용하여 Windows 7/8을 부팅하는 방법이 있습니까?


21

기존 IBM PC BIOS 설정에서 GPT 디스크에 Windows 7 또는 Windows 8 Developer Preview를 설치하는 방법이 있는지 알고 싶습니다. 물론 Windows 7은 UEFI가 없기 때문에 GPT 파티션을 거부합니다. 글쎄, 데비안과 Grub 2는 잘 작동하는 것 같습니다 ... 그래서 Windows가 제대로 작동하도록하는 방법이 있는지 알고 싶습니다.

그것은 아주 깨지기 쉬운 그리고 Feel로는 hackish 때문에 심각하게, 하이브리드 MBR / GPT을 피하고 선호 싶지만, 그것은 하지 작업. 주요 차단제는 Microsoft가 단순히 GPT에 대한 BIOS 부트 로더에 대한 지원을 추가하지 않는다고 가정합니다. 이해할 수 있습니다. 어떤 의지가 있습니까?

내가 보는 방식에는 몇 가지 가능한 해결책이 있습니다.

  1. Windows 커널 용 대체 부트 로더가 있습니다. 체인 로더가 아닙니다. 내가 아는 한 아무것도 존재하지 않습니다. 부끄러운 일입니다.
  2. 대체 MBR 기반 디스크에 가능한 적은 저장. 이 아이디어를 좋아하지는 않지만 가능합니다. 해결 방법만큼 문제에 대한 해결책이라고 생각하지 않습니다.
  3. EFI 부트 로더가 작동하도록 충분히 EFI를 에뮬레이트합니다. UEFI-on-BIOS 에뮬레이터에 대해 조금은 들었지만 지금은 아무것도 찾을 수 없습니다. 나는 이것이 가능하다고 가정하지만, 아직 수요가 많지 않을 수도 있고, 설정하는 것이 전혀 재미 없을 것입니다. GRUB 2는 필요한 EFI 에뮬레이션으로 해킨토시를 부팅 할 수있는 것 같지만 관심이없는 것 같습니다 / UEFI 2가 접근하기가 더 어렵다고 생각합니다.
  4. TainoCore를 사용한 Coreboot. Coreboot는 (내가 아는 한) 내 마더 보드에서 작동하지 않으며 GSoC 중에이 작업을 수행하기위한 마지막 노력이 실패했음을 확신합니다. 그래도이 솔루션이 효과가 있다면이 솔루션을 정말 좋아합니다.

아무것도 빠졌습니까?


1
좀 빠지는. 하이브리드 MBR / GPT에서 실행할 수 있으며 사용하는 것을 두려워하지 않습니다. 더구나, 나는 그 해결책에 불만을 가지고 다른 더 좋은 방법이 있는지 알고 싶다. 그래도 여전히이 문제를 해결하고 있으며 내 솔루션을 찾을 수 있습니다.
존 채드윅

1
나는 질문이 2 년의 불일치를 감안할 때이 질문과 중복 된다고 확신 합니다. 그 외에는 실제로 거기에있는 질문에 대한 답이 없거나 최소한 직접적인 질문은 없지만이 질문에는 직접적인 대답이 있습니다.
John Chadwick

내 대답을 확인 했습니까? 새롭고 아무도 그렇게하지 않았습니다. 그것에 대한 테스트를 원하십니까. 해킹되지 않은 보장.
Milind R

그러나 실제로 랩톱에서는 작동하지 않습니다. 그러나 다시 한 번,이 질문을하기 2 년 전에 충분히 대답 한 후에이 질문을 복제물로 표시하는 것은 끔찍한 일입니다. UEFI 구현을 해킹하는 것을 찾지 못했습니다. 외면적이지만 추가 디스크 드라이브가 필요하지 않다는 이점이 있습니다.
존 채드윅

작품에는 단일 디스크 구현이 있으며 테스트 할 때 업데이트됩니다 ... 또한 시스템에 대한 창에 누워 있다는 의미에서 하이브리드 MBR, 파티션 유형에 대한 거짓말, DUET, 펌웨어에 대한 거짓말.
Milind R

답변:


8

글쎄, 내가 처음이 질문을 한 이후 상황이 바뀌 었습니다. 하나, 내 PC는 이제 UEFI 기반이므로 더 이상이 문제가 없습니다. 글쎄요. 랩톱에서 유사한 설정 (GPT 파티션 등)을 가져 오는 데 관심이 있었지만 마침내 작동하는 Tianocore UEFI DUET 설정을 얻을 수있었습니다.

이것은 모든 반짝이고 새로운 설정을 원한다고 가정합니다. 이전 설정을 실제로 변환하려면 행운을 빈다 . 실제로 어떤 상황에서도 드문 작업이므로 행운을 빕니다.

경고의 말 : 빠른 부팅 시간의 팬이라면 이 결정을 다시 생각할 수 있습니다 . UEFI DUET은 느리지 않지만 부팅 프로세스에 또 다른 단계를 추가하므로 BIOS / POST가 빠르지 않으면이 방식이 마음에 들지 않을 수 있습니다.

더 이상 고민하지 않고 :

  1. Linux 설정이 필요합니다. 나는 USB 스틱 (UNetBootin 포함)에서 Fedora 16을 사용했으며 실제로 사용하기 때문에 권장합니다. 어쨌든 USB 드라이브가 필요하므로 USB 드라이브가 없으면 계속하지 마십시오.

  2. UEFI DUET 빌드를 가져옵니다. 의심의 여지없이, 이것을 얻을 수있는 가장 좋은 곳은 여기 입니다. 실제 빌드 타르볼은 여기 에서 첫 번째 저장소의 마스터 브랜치 아래에 있습니다 . 오래된 것을 줘 tar -xf.

  3. 파티션을 설정하십시오. 디스크 어딘가에 200MB를 예약해야합니다 (아주 시작 부분과 첫 번째 파티션). FAT32로 포맷 할 수는 있지만 나중에 다시 포맷하는 중입니다. 파티션으로 표시되는지 확인하십시오. 여기서 GPT를 사용해야합니다.

  4. 이제 필요한 추가 소프트웨어를 설치하십시오. Fedora Live 배포판에서 필자가 필요하다는 것을 알았습니다 yum install gdisk. 그게 다인 것 같아

  5. 이제 추출 된 빌드 디렉토리로 이동하십시오. chmod +x ./duet-install./duet-install -64 -F -m /dev/sda1(여기서 /dev/sda1원하는 EFI 시스템 파티션입니다.)

  6. 손가락을 쥐고 다시 부팅하십시오. 운이 좋으면 잠시 후 TianoCore 로고가 표시됩니다. 그렇다면 당신은 아마 좋을 것입니다! USB 드라이브에 OS 설치 파일을 설정해야합니다. Tianocore는 CD-ROM / DVD-ROM 드라이브를 기본적으로 지원 하지 않습니다 (드라이버도 모릅니다).

일부 UEFI 셸 바이너리를 가지고 놀 수도 있습니다. 나는 여기 에서 일부를 발견 했다 . 그러나 아직 Tianocore로 테스트하지 않았습니다.

어쨌든 도와 주신 모든 분들께 감사드립니다.


이것은 Windows 설치에서 작동합니까?
Moab

2012 년에 Windows 8에서 성공적으로 사용하고있었습니다. 지난 몇 년 동안 만들어진 모든 것이 UEFI를 사용하기 때문에 더 이상 필요하지 않습니다. Windows 8 이상에서는 하드웨어 제조업체가이를 지원해야하기 때문입니다. 아마 오늘날에도 여전히 효과가있을 것이지만, 내가 추천 할 지 모르겠습니다.
존 채드윅

2
UEFI DUET 링크는 이제 여기 에 있지만 더 이상 유지되지 않습니다. 이 사이트는 대신 Clover EFI 를 사용하라고 말합니다 .
kirbyfan64sos

1
당신은 할 수 HDD에 클로버를 설치 별도의 드라이브의 필요성 제거
phuclv

6

두 번째 MBR 디스크없이 BIOS 설정으로 GPT 디스크에서 Windows 8.1을 부팅 할 수있었습니다.

내 노트북은 아치 리눅스 만 설치된 상태에서 BIOS + GPT 설정 상태였습니다. 최근에 가상 머신이 할 수없는 Windows에서 일부 작업을 수행해야하므로 기존 BIOS + GPT 설정에서 Windows를 설치하는 데 어려움을 겪고 있습니다. Milind의 답변 에 따르면 Windows 부팅 파일 (Boot, bootmgr 등)을 (작은) MBR USB 드라이브에 설치했습니다. USB 드라이브가 연결된 노트북을 켤 때마다 Windows 8.1로 부팅 한 다음 드라이브를 안전하게 꽂을 수 있습니다.

단점은 분명합니다. Windows를 부팅하려면 USB 드라이브를 가지고 다녀야합니다. 그래서 나는 항상 그것을 없애려고 노력했습니다.

다른 방법으로 시도한 후 마침내 syslinux 프로젝트의 memdisk 모듈이 작동하는 것을 발견했습니다.

  • Windows 부팅 관리자를 포기해야합니다.
  • syslinux를 설치할 필요가 없습니다. 만 memdisk 모듈 (26 킬로바이트 파일)이 필요하다.
  • 많은 부트 로더를 사용하여이 모듈을로드 할 수 있습니다. 제 경우에는 제가 좋아하는 부트 로더 GRUB (버전 2)입니다.

방법에 대한 개요는 다음과 같습니다.

  • GRUB의 요구, 즉 core.img를 포함하는 작은 파티션을 충족시키기 위해 GPT 디스크를 분할하십시오. 상세 링크
  • 작은 파티션에 GRUB을 설치하십시오.
  • 로 Windows를 설치하십시오 imagex.그리고 사용 bootsect하고 bcdboot작은 MBR의 USB 디스크에 Windows 부팅 파일을 설치합니다..
  • 사용 dd또는 dd_rescue디스크 이미지로 작은 USB 디스크를 복제합니다. (USB 디스크의 작업이 완료되었습니다.) 이미지가 너무 커서 memdisk를로드 할 수 없을 수 있습니다. 이미지를 마운트하고 파일 시스템 / 파티션을 축소 할 수 있습니다.
  • 내 테스트에 따르면 Windows 부팅 파일을 설치하기 위해 실제 MBR 디스크가 필요하지 않습니다. vhd 파일을 만들어 실제 디스크로 취급 할 수 있습니다.vhd에 Windows 부팅 파일을 설치 한 후 VirtualBox 또는 QEUM에서 제공하는 도구를 사용하여 원시 (dd 스타일) 디스크 이미지로 변환 할 수 있습니다.type=fixed만들면 vhd 파일은 512 바이트 바닥 글이있는 일반 원시 디스크 이미지 (dd 스타일)입니다. 바닥 글은 "분할되지 않은 공간"으로 인식되어 무시되므로 type=fixedvhd 파일을 변환하지 않고 MEMDISK에 직접 공급하여 Windows를 부팅 할 수 있습니다.
  • memdisk를 사용하여이 디스크 이미지를로드하도록 GRUB을 구성하십시오.
  • Windows가 부팅됩니다.

reboot.pro 에서 Milind의 스레드에 대한 자세한 답변 을 찾을 수 있습니다 .


1
@ wzboy 나는 아치 리눅스를 사용하고 있으며 창을 설치 한 후 (wimlib-imagex로) 관리했습니다. 이제 계속하는 방법을 잘 모르겠습니다. 리눅스 배포판에서 vhd 파일을 만드는 방법에 대해 자세히 설명해 주시겠습니까?
Mihai Bişog

@ MihaiBişog 해당 vhd를 만들려면 Windows PE가 필요합니다. Windows PE로 부팅하는 방법에는 여러 가지가 있습니다. 예를 들어 GRUB 및 syslinux는 iso 파일로 부팅 할 수 있습니다.
Zhuoyun Wei

이것이 Windows 업데이트를 중단하지 않습니까? 즉, Microsoft가 가상 디스크 이미지에 넣은 부팅 / 부트 관리자 파일을 수정해야하는 업데이트를 릴리스 할 경우 업데이트되지 않으며이 사실을 전혀 알지 못합니다. 또한 이것이 일부 Windows 복구 작업을 중단 할 수 있다고 생각합니다. 다른 단점이 있습니까?
Powerman

실제로 BCD / Bootmgr은 플로피 / 디스크 이미지 안에 있기 때문에 Windows에서는 찾을 수 없습니다. 따라서 자동 업데이트에 대한 의문의 여지가 없습니다. 자동 복구가 작동하지 않습니다. 부팅과 관련된 Microsoft 도구와 관련된 것은 작동하지 않을 수 있습니다.
Milind R

1
그렇습니다. bootmgr과 관련된 것은 Windows 부팅을 도와 준 후에 "사라졌기"때문에 작동하지 않습니다. 실제로 cmd.exe에서 "bcdedit"를 실행하면 부팅 파일을 찾을 수 없다는 메시지가 나타납니다. :-)
Zhuoyun Wei

5

작은 예비 드라이브 가있는 경우 BIOS의 GPT에서 Windows (32 또는 64 비트)를 부팅 할 수 있습니다. 플로피가 할 것입니다.

Windows 설치 / 복구 디스크로 부팅하십시오.

작은 디스크 / 플로피에 시스템 드라이브를 작성하고 bcdboot부팅 파일을 작은 디스크의 새로 작성된 드라이브에 넣습니다. 로 부트 섹터를 추가하십시오 bootsect. 변화 {bootmgr} device에를 boot. 작은 디스크로 부팅하십시오.

단계는 여기 에 자세히 설명되어 있습니다 .


2
그것을 시도하고 작동했습니다. 이제 BIOS 설정에서 GPT 디스크에 작동하는 Windows 8.1이 있습니다. USB 플래시 드라이브를 삽입하여 부팅하기 만하면됩니다. 부팅 프로세스 후 USB 드라이브를 제거 할 수 있습니다. 옛날처럼, 나는 MS-DOS 플로피를 의미합니다 ...
Zhuoyun Wei

롤 다른 디스크가 필요없는 솔루션을 개발 중입니다. 얼마나 느리거나 빠른지 말해 주실 수 있습니까?
Milind R

1
다른 디스크에 bootmgr을 넣어도 Windows 부팅 시간이 길어지지 않는다고 생각합니다.
Zhuoyun Wei

2
오 예. 너무 흥분해서 죄송합니다. 나는 오후 전체를 보냈고 마침내 하드 디스크 이미지를로드 할 수있는 syslinux memdisk 모듈을 사용하여 두 번째 (작은) MBR 디스크없이 BIOS 설정으로 GPT 디스크에서 Windows 8.1을 부팅 할 수있었습니다.
Zhuoyun Wei

1
여기 내 게시물이 있습니다 : reboot.pro/topic/…
Zhuoyun Wei

3

wzyboy에게 큰 감사합니다.

6Tb RAID를 사용하여 Windows 2012를 Dell PowerEdge 2950에 설치하려고 할 때이 문제에 직면했습니다. UEFI가 아닙니다.

나는 몇 가지 실험을 수행했다. 먼저 wzyboy가 말한 것처럼 32Mb 가상 HDD를 만들고 Microsoft 예약 파티션에서 모든 항목을 간단히 복사했습니다. Windows가 정상적으로 시작되었습니다. 그러나이 솔루션을 사용하면 Hyper-V 서비스를 시작할 수 없습니다.

memdisk wiki는 이미지 크기, 어떤 종류의 미디어를 에뮬레이트해야하는지 자동으로 결정합니다. 따라서 WMware 환경에서 가상 720K 플로피를 만들고 bootmgr, BCD 및 bootstat.dat를 복사했습니다 (만약 BCD 저장소에서 memtest 하위 메뉴를 삭제했습니다). 플로피 크기 가능한 한 작게 선택했기 때문에 더 크거나 작을 수도 있지만 시도하지 않았습니다.

이제 GPT 드라이브에서 부팅되고 Hyper-V가 잘 작동합니다.

PS는 타사 소프트웨어의 도움이 될 수 있습니다. 아무도 이런 식으로 아무것도 사용하지 않았습니까? https://www.terabyteunlimited.com/bootit-bare-metal.htm


최근 이미지 트릭에 많은 시간을 보낸 후 RAID 컨트롤러 Perc5-i가 물리적 하드 드라이브 용량보다 작은 어레이를 슬라이스 할 수 있다는 것을 알게되었습니다. 따라서 전문 하드웨어에서는 GPT 부팅이 문제가되지 않습니다.
Nikolai Vakulenko 2016 년

이 개발자 스레드 에서 시나리오와 해결 방법을 설명해 주 시겠습니까? 모든 세부 사항을 함께 유지하려고합니다.
Milind R

2

BIOS에서 UEFI 로의 변환 기사에서는 TainoCore UEFI DUET을 사용하는 방법에 대해 자세히 설명합니다.

TainoCore 사용에 문제가 있음을 이해하지만이 기사가 도움이 될 것입니다.

기사는 말합니다 :

일부 컴퓨터는 UEFI DUET에서 작동하지 않습니다. 가장 중요한 것은 64 비트 x86-64 컴퓨터, 특히 이진 형식에서만 유용합니다. 실제로 일부 x86-64 컴퓨터에서도 제대로 시작되지 않습니다. 5 대의 x86-64 시스템에서 테스트 한 결과, 하나 또는 두 버전 모두 3 대의 컴퓨터에서 작동했습니다. 우연의 일치 일 수도 있지만 나에게 가장 적합한 두 대의 컴퓨터는 Intel CPU를 사용했지만 최악의 두 대와 버전 2.1에서는 작동했지만 버전 2.3에서는 작동하지 않는 컴퓨터에는 모두 AMD CPU가있었습니다.

이것은 포기하기 전에 여러 버전의 UEFI DUET을 시도해야 함을 의미합니다.

컴퓨터 모델을 아는 것이 도움이 될 것입니다.


이 질문을 마지막으로 업데이트 한 후 실제로 UEFI DUET이 컴퓨터에서 성공적으로 부팅되도록했습니다. 슬프게도, Windows를 저장할 USB 드라이브가 없기 때문에 DVD-ROM 드라이버가 없기 때문에 나를 죽였습니다. 기본 하드 드라이브가 무작위로 고장 난 후, 휴식을 취하고 여분의 BIOS 파티션을 사용하기로 결정했습니다. 그러나이 기사는 확실히 도움이되며 여전히 스스로 작동하도록 관심이 있습니다. 조만간 플래시 드라이브를 집어 올리려고 노력할 것입니다.
John Chadwick

@JohnChadwick 당신은 더 이상 별도의 부팅 드라이브가 필요하지 않도록 클로버를 사용 하여 HDD에 설치할 수 있습니다
phuclv

@phuclv : John Chadwick의 의견이 2011 년이고이 게시물에 대한 자신의 답변 을 제공 한 것을 보셨습니까 ?
harrymc

물론 @harrymc. 그 정보는 미래 독자들을위한 것입니다
phuclv

0

모든 바이오스 펌웨어가 GPT 드라이브를 다룰 수있는 것은 아니라는 점을 명심해야합니다. 공장에서 GPT 인 USB Seagate 4 Tb 드라이브가 있으며 두 컴퓨터 중 어느 것도 USB 포트에 연결된 드라이브로 부팅 할 수 없습니다.

기계는 F2 Enter Setup F10 Boot 메뉴 화면에서 정지되며이 시점에서 수행 할 수있는 유일한 작업은 전원을 껐다가 다시 켜는 것입니다.

드라이브를 MBR로 변환하여 약 2TB의 드라이브 공간을 제거하면 두 시스템 모두 드라이브가 연결된 상태에서 정상적으로 시작되고 OS로 부팅됩니다.

이 문제를 해결하기 위해 BIOS 패치를 찾고 있습니다.


BIOS는 드라이브 , GPT 또는 MBR 또는 BSD 레이블 또는 APM 에 대해 전혀 알지 못합니다 . 첫 번째 섹터 (예 : MBR) 만로드하여 실행합니다. 이 시점에서 BIOS 작업은 "완료"된 것으로 간주 될 수 있습니다. 드라이브가 부팅되지 않으면 드라이브에 유효한 부팅 섹터
phuclv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.