Computer >> 컴퓨터 >  >> 시스템 >> Windows 7

BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법

이번 글에서는 최신 UEFI 환경을 지원하지 않는 구형 BIOS 펌웨어 기반 컴퓨터에서, GPT 파티션 테이블을 사용하는 하드 디스크에 Windows 7과 Windows 10을 포함한 최신 Windows를 설치하고 부팅하는 방법을 자세히 알아보겠습니다.

이런 작업이 필요했던 실제 사례를 소개하자면, 로컬 디스크 전체 용량이 4TB를 넘는 RAID 5 구성의 HP DL380 G8 서버(HP DL 서버는 아직 EFI를 지원하지 않음)에 Windows Server 2008 R2를 설치하려던 상황이었습니다. 일반적인 방식대로 MBR 디스크에 Windows를 설치하면 2TB만 사용할 수 있으며, 나머지 2TB의 디스크 공간은 할당하거나 접근할 수 없습니다. 전체 디스크 공간을 활용할 수 있는 유일한 방법은 디스크 레이아웃을 GPT 형식으로 변환하는 것입니다.

목차

  • GPT가 MBR보다 나은 점
  • GPT 디스크에서 Windows 부팅하기
  • BIOS PC에서 GPT 디스크에 Windows 설치하기
  • Gptgen: 파티션 삭제 없이 MBR을 GPT로 변환
  • Windows 부트로더를 USB 플래시 드라이브로 이동

GPT가 MBR보다 나은 점

GUID 파티션 테이블(GPT)이라는 새로운 디스크 파티션 형식은 어떤 장점이 있을까요? GPT는 기존 MBR 파티션 테이블의 여러 한계를 극복할 수 있게 해줍니다. 주요 내용을 정리하면 다음과 같습니다.

  1. 2.2TB 이상의 대용량 하드 디스크 지원 — GPT 디스크의 최대 크기는 9.4 제타바이트(ZB, 9.4 × 10²¹ 바이트)입니다.
  2. 디스크당 최대 128개의 파티션 지원 — MBR에서는 4개의 파티션만 사용할 수 있습니다.
  3. 높은 신뢰성 — 파티션 테이블이 디스크의 여러 위치에 중복 저장되고, CRC(순환 중복 검사)로 테이블 무결성을 검증합니다. 덕분에 디스크의 첫 번째 섹터가 손상되어도 파티션 구조가 사라지지 않습니다.
  4. 논리 파티션 불필요 — 각종 오류가 발생하기 쉬운 논리 파티션 구조를 사용하지 않아도 됩니다.

GPT 디스크에서 Windows 부팅하기

마이크로소프트 공식 문서(https://msdn.microsoft.com/en-us/windows/hardware/gg463525.aspx)에 따르면, Windows Server 2003 SP1부터 모든 운영 체제가 데이터 디스크로서 GPT 볼륨을 지원합니다. 하지만 GPT 볼륨에서 부팅이 가능한 것은 새로운 UEFI(Unified Extensible Firmware Interface) 사양을 지원하는 메인보드에 설치된 64비트 Windows뿐입니다. 즉, 구형 클래식 BIOS 펌웨어 컴퓨터에서는 GPT 디스크에 Windows를 설치하거나 부팅할 수 없습니다.

참고. BIOS 컴퓨터에서도 몇 가지 우회 방법으로 GPT 디스크에서 Windows 10 / 7 x64를 부팅할 수 있습니다. 하나는 EFI를 에뮬레이션하는 DUET(Developer's UEFI Environment)가 담긴 부팅 디스크를 사용하는 것입니다. 이 경우 BIOS가 SYSLINUX로 부팅하고, SYSLINUX가 UEFI 에뮬레이터(DUET)를 로드한 뒤, DUET이 다시 표준 Windows 부트로더인 bootx64.efi를 호출합니다. 또 다른 방법은 Linux 도구인 gdisk로 디스크를 하이브리드 MBR 모드로 변환하는 것입니다. 다만 두 방법 모두 절차가相当 복잡하고 Linux에 대한 깊은 지식이 필요합니다.

항상 기억해야 할 중요한 사실이 있습니다. x64 Windows를 GPT 디스크에서 부팅하려면 반드시 UEFI 기반 시스템이어야 합니다.

따라서 BIOS 기반 PC에서 GPT 파티션 테이블을 가진 디스크를 꼭 사용해야 한다면, 가장 간단한 방법은 별도의 MBR 하드 디스크(일반 HDD 또는 SSD)를 추가하고 거기에 Windows를 설치해 해당 디스크로 부팅하는 것입니다.

여기서 이 방법을 조금 변형해 보겠습니다. 준비물은 MBR 방식으로 포맷된 작은 USB 플래시 드라이브 또는 SD 카드(최소 64MB) 하나입니다. 여기에 Windows 부트 관리자(bootmgr)를 배치합니다. 이 부팅용 USB 플래시 드라이브가 초기 부팅을 담당하고, GPT 볼륨에 있는 메인 시스템의 부트로더에게 제어권을 넘겨주는 역할을 합니다.

중요! BIOS가 USB 플래시 드라이브나 SD 카드 부팅을 지원해야 합니다.

이렇게 하면 BIOS 기반 시스템(EFI 없음)에서 모든 Windows 버전(x86 및 x64 모두!)을 부팅할 수 있습니다.

BIOS PC에서 GPT 디스크에 Windows 설치하기

GPT 파티션 테이블을 사용하는 하드 디스크가 장착된 BIOS(비 UEFI 펌웨어) 컴퓨터가 있다고 가정해 봅시다. 이 컴퓨터의 GPT 드라이브에 Windows를 설치하려고 하면 설치 프로그램이 다음 오류를 반환합니다.

Windows cannot be installed to this disk. The selected disk is of the GPT Partition Style

BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법

팁. Windows 설치 화면에서 Shift+F10을 눌러 명령 프롬프트를 열면, 데이터를 모두 삭제하면서 디스크의 파티션 테이블을 MBR에서 GPT로 변환할 수 있습니다. 다음 명령을 실행하세요:
Diskpart
select disk 0 — 시스템에 하드 디스크가 하나뿐인 경우
clean — 디스크 내용 초기화
convert gpt — 파티션 테이블을 GPT로 변환

이 방법으로 GPT 디스크에 Windows 10 / 8.1 / 7을 설치하려면 DUET을 통한 UEFI 에뮬레이션 모드로 설치해야 하는데, 앞서 언급했듯이 64비트 Windows만 설치 가능하고 절차도 상당히 복잡합니다.

그래서 더 쉬운 방법은, 먼저 일반적인 방식으로 MBR 디스크에 Windows를 설치한 후 gptgen으로 GPT로 변환하는 것입니다.

Gptgen: 파티션 삭제 없이 MBR을 GPT로 변환

Windows 디스크 관리 스냅인은 할당되지 않은 "깨끗한" 상태의 MBR 디스크만 GPT로 변환할 수 있습니다. OS가 설치된 디스크는 변환할 수 없습니다.

참고. Windows 10 1703 이상에는 데이터 손실 없이 디스크 파티션 테이블을 MBR에서 GPT로 변환할 수 있는 콘솔 유틸리티 mbr2gpt.exe가 내장되어 있습니다.

OS가 설치된 하드 디스크를 온라인 상태(데이터를 유지한 채)에서 MBR에서 GPT로 변환하려면 작은 도구 Gptgen을 사용하면 됩니다. 이 도구는 디스크의 파티션을 삭제하지 않고(즉, 데이터 손실 없이) 파티션 테이블 형식을 즉석에서 변경해 줍니다.

중요! 변환 작업 전에 중요한 데이터는 반드시 외장 드라이브 등에 백업하기를 강력히 권장합니다. 필자는 gptgen이 파일 시스템 전체를 망가뜨리는 실패를 목격한 적은 없지만, 파티션 테이블 변환 작업 전에는 항상 중요한 데이터를 백업하는 것이 좋습니다.

gptgen을 다운로드해 아무 디렉터리(예: c:\tools\gptgen-1.1)에 압축을 해제합니다.

  1. 관리자 권한으로 명령 프롬프트를 실행합니다.
  2. diskpart 명령을 실행합니다.
  3. diskpart에서 시스템의 모든 디스크를 표시합니다: list disk BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법 이 예제에서는 인덱스 0의 40GB 디스크(Disk 0)가 하나 있습니다. Gpt 열이 비어 있는 것으로 보아 이 디스크는 표준 MBR 파티션 테이블을 사용 중입니다.
  4. 다음 명령으로 Disk 0의 파티션 테이블을 MBR에서 GPT로 변환합니다: gptgen.exe -w \\.\physicaldrive0 명령을 실행하면 GPT 변환이 완료된 후 해당 파티션에서 부팅이 가능하다는 것을 개발자가 보장하지 않는다는 경고가 표시됩니다.

참고. physicaldrive 끝의 0은 Disk 0을 변환한다는 의미입니다.
gptgen.exe: Partition table converter v1.1
Boot: 1, Type: 0×7, Start: sector 2048, Length: 204860 sectors
Boot: 0, Type: 0×7, Start: sector 206858, Length: 83685636 sectors
WARNING: Boot partition(s) found. This tool cannot guarantee that such partitions will remain bootable after conversion.
Do you want to continue? [Y/N] y
Writing primary GPT and protective MBR to LBA address 0…
Writing secondary GPT to LBA address 83786657…
Success!
BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법
이것으로 파티션 테이블의 GPT 변환이 성공적으로 완료되었습니다!

Windows 부트로더를 USB 플래시 드라이브로 이동

컴퓨터를 재시작하면 BIOS가 GPT 테이블이 있는 하드 디스크에서 부팅하지 못하는 것을 확인할 수 있습니다. 좋습니다! 이제 작은 USB 플래시 드라이브나 SD 카드를 연결하고, Windows 설치 미디어(DVD/USB, Windows 10 또는 Windows 7 설치 이미지)로 부팅한 뒤, Windows 설치 화면에서 Shift+F10을 눌러 명령 프롬프트를 엽니다.

  • diskpart 명령을 실행합니다.
  • 디스크 목록을 표시합니다: list disk. 이제 시스템에는 두 개의 디스크가 있습니다. Disk 0은 OS가 설치된 40GB 하드 디스크(Gpt 열의 * 표시는 GPT 파티션 테이블이 있다는 뜻)이고, Disk 1은 1GB USB 플래시 드라이브입니다.BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법
  • 디스크와 할당된 문자를 확인합니다. 하드 디스크를 선택합니다: select disk 0, 그리고 볼륨 목록을 표시합니다: list volume BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법 볼륨 크기를 보면 시스템이 D: 문자가 할당된 Volume 2에 설치되어 있음을 알 수 있습니다(Windows가 표시하는 시스템 디스크 문자와 다를 수 있습니다).
  • USB 플래시 드라이브에 파티션을 생성합니다:
    select disk 1 — USB 플래시 드라이브 선택
    clean — 디스크 내용 초기화
    create partition primary size=1000 — USB에 1GB 크기의 주 파티션 생성
    format fs=fat32 — FAT32 파일 시스템으로 포맷 (USB 플래시 드라이브에는 NTFS를 사용하지 마세요. NTFS 파티션에서는 시스템이 부팅할 수 없습니다)
    select partition 1 — USB의 첫 번째 파티션 선택
    active — 활성 파티션으로 표시
    list volume — 볼륨 목록을 다시 표시. 이 예제에서는 생성한 볼륨이 3번임을 확인할 수 있습니다
    select volume 3 — 해당 볼륨 선택
    assign letter=G — 여유 문자 중 하나(예: G)를 할당
    BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법
    list volume — 플래시 드라이브 파티션에 G: 문자가 할당되었는지 확인BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법
    exit — diskpart 종료
  • 시스템 볼륨에서 Windows 부팅 환경 파일을 USB로 복사합니다: bcdboot d:\Windows /l en-us /s g:
  • bootmgr(Windows 부트 관리자) 실행을 위해 USB 플래시 드라이브에 부팅 코드를 기록합니다: bootsect /nt60 G: /mbr /force
  • 재시작합니다.

BIOS로 진입해 부팅 순서를 변경하여 USB 플래시 드라이브나 SD 카드가 첫 번째 부팅 장치가 되도록 설정하고 변경 사항을 저장합니다. 모든 과정을 올바르게 수행했다면 시스템이 정상적으로 부팅될 것입니다. Windows가 GPT 드라이브에 있는지 확인해 보세요. 디스크 관리(diskmgmt.msc)를 열고 시스템 디스크 속성을 선택합니다. 볼륨 탭에서 파티션 테이블 유형이 GPT(파티션 스타일 – GUID 파티션 테이블)로 표시되는 것을 확인할 수 있습니다.

BIOS(UEFI 미지원) 시스템에서 GPT 디스크로 Windows 7/10 부팅하는 방법

Windows 부트 관리자를 별도의 USB 플래시 드라이브로 옮기는 이 방법을 사용하면 UEFI가 없는 BIOS 기반 시스템에서도 GPT의 모든 장점을 활용해 2.2TB가 넘는 하드 디스크 전체 용량을 사용할 수 있습니다. 이 방식은 다음 버전의 Windows(x86 포함)에서도 동작합니다:

  • Windows 10 / Windows Server 2016
  • Windows 8, Windows 8.1, Windows Server 2012 / 2012 R2
  • Windows 7, Vista, Windows Server 2008 / 2008 R2
  • Windows Server 2003 SP1 / 2003 (x64)
  • Windows XP x64

또한 컴퓨터를 켜거나 재부팅할 때마다 MBR 테이블과 부트로더가 담긴 USB 플래시 드라이브가 반드시 연결되어 있어야 합니다. 그렇지 않으면 Windows가 부팅되지 않습니다.

참고로 일부 구형 BIOS 컴퓨터 모델은 GPT 드라이브와 아예 호환되지 않아, CMOS 단계에서 해당 디스크 자체를 인식하지 못하는 경우도 있다는 점을 알아두시기 바랍니다.