본문 바로가기

MS Windows

[YMtechUSB-#5]UEFI, Legacy, CSM BIOS 환경을 완벽하게 지원하는 완벽부팅USB 만들기

728x90

▣ UEFI & Legacy BIOS 모드를 지원하는 부팅USB만들기-ESP 이용

 

 

 

이 포스팅은 부팅USB만들기 구 버전입니다. 

여기를 눌러 최신버전의 USB부팅 디스크 만들기 포스팅을 참고 해 주세요

 

 

ESP=EFI System Partition

 

 

 

인텔, 2020년 BIOS 지원 중단

 
 

위 기사가 2017년11월에 나온 기사 입니다. 기사에 따르면 인텔은 2019년까지 BIOS Mode 방식인 Legacy Mode 부팅 지원을 줄여가기 시작해서, 2020년부터는 모든 메인보드에서 Legacy BIOS Mode 부팅을 지원하지 않도록 칩셋을 개발한다는 대충 그런 기사입니다.

 

일전에 WINUSB라는 툴을 이용해서 멀티부팅 AIO USB를 만드는 방법을 포스팅 했었습니다.

 

이 WINUSB툴로 만든 부팅USB가 거의 모든 방식의 부팅 BIOS 환경을 지원하고 완벽하게 부팅하게 해 주었습니다.

 

2000년 생산된 PC의 구형 Legacy BIOS부터 2019년에 생산된 최신UEFI 전용 BIOS까지 완벽하게 부팅을 지원하였습니다.

 

그래서 2020년 지원이 중단되는 Legacy BIOS 를 대체하는 UEFI전용 BIOS를 탑제한 인텔 칩셋을 사용하는 메인보드에 윈도우10을 설치하기 위해서는 WINUSB툴이 꼭 필요하다는 생각이 들었습니다.

 

하지만, 이 WINUSB툴에는 단점이 있었습니다.

 

 

WINUSB 툴의 단점

1) 설치원본 iso 파일안에 설치파일이 install.wim이나 install.esd 파일이름의 형식으로만 되어있어야 정상적인 동작이 된다는 것.

-만약 여러분이 가지고 계시는 윈도우설치 iso파일을 열어 보셔서 sources폴더안에 설치원본이 install.wim이나 ES이름으로 되어있지 않고, install.000이나 다른 형식이름으로 되어있다면 WINUSB에서는 WINPE로 부팅 한 후 install.wim이나 ESD 파일을 호출하게 되어 있기 때문에 정상적인 설치가 이루어 지지 않고 드라이버로드 오류를 보여주거나 File Not Found 에러가 발생되면서 설치 진행이 되지 않게 됩니다. 즉, install.wim파일이 분할되어 있는 이미지로 되어 있는 경우에는 USB에 Add는 되지만 설치 실행은 되지 않습니다. 즉, FAT32포멧 용으로 나누어진 install.wim파일 w00,w01의 확장자로 되어진 설치파일을 인식하지 못합니다.

2)여러개의 index를 포함한 install.wim파일이나 esd파일을 툴을 이용해 추가 하더라도 하나의 index만 인식해서 설치를 하도록 설치파일을 수정해서 등록하는 것으로 확인됩니다. 따라서 단일 index로 만들어진 설치이미지(install.wim &esd)가 포함된 윈도우 설치 iso 이미지 만을 추가 하셔야 정상동작 됩니다.

편리한 기능 이외에 위 두 가지의 치명적인 단점 때문에 더욱 더 완벽한 부팅USB를 만들기 위해 WINUSB의 EFI파티션을 응용해서 

최고의 부팅 USB를 만들어 보려고 합니다.

 

 

단순히, 사용하는 부팅USB에 EFI파티션으로 사용할 FAT 형식으로 포멧된 약간(30MB)의 파티션만 만들어 주시고 그 안에 UEFI부팅에 필요한 파일이 들어있는 EFI 폴더를 넣어 주시기만 하는 것으로 간단히 UEFI 부팅지원 USB를 만들 수 있습니다. UEFI부팅시에 BIOS는 MBR, PBR영역을 불러들여 부팅 하는 것이 아니라, ESP영역을 읽어들여서 부팅하기 때문입니다. 

 

이런 EFI파티션을 이용한 부팅을 지원해 주는 부트로더가 클로버 부트로더 입니다. 이 부트로더를 이용하면 윈도우와 커스텀맥(해킨토시)을 하나의 PC에 설치해서 멀티부팅으로 골라가며 부팅 할 수 있게 만들 수도 있습니다.  

♣관련 포스팅을 참고 바랍니다. PC에 MAC OS 설치성공 (해킨토시)High Sierra 10.13.6_MSI B360M

▣ 지금부터 어떠한 부팅 환경에서도 완벽하게 부팅을 지원하는 " Perfection부팅 USB만들기 " 를 시작합니다.

 

 

 

● 준비

 

Rufus 툴, 빈 USB메모리(약8기가 이상), 윈도우10 설치용 ISO이미지 파일, Bootice툴, 그리고 윈도우10 설치된 PC, 3시간정도의 시간여유!!

 

 

rufus-3.5p.exe
다운로드

 

 

BOOTICE_v1.3.3.2k.exe
다운로드

 

Windows 10, 19H1 버전 1903 MSDN + 누적 업데이트 통합 [18362.175] (x64-x86) 12in1 / 6in1 [2019-06-12]-by 홍차의꿈님 블로그

 위 링크로 가셔서 ISO파일을 받으시기 바랍니다. torrent파일을 등록해도 되지만, 윈도우에 관심있으신 분들은 한번씩 방문 해 보시면 유용한 블로그이기에 링크를 남깁니다. Windows 10 ver 1903 입니다.
 
 
1. 위에서 내려받은 ISO 파일을 Rufus 툴을 이용해서 아래 그림처럼 선택하여 빈 USB에 심습니다.
 
-이 작업 전에 USB를 NTFS 형식으로 포멧을 한 번 해 주신 후 진행 해 주시기 바랍니다.
 
  이미지옵션=표준Windows설치 / 파티션방식=MBR / 대상시스템=BIOS(또는 UEFI-CSM)
 
으로 선택하고 다른 옵션은 그대로 둔 상태로, 시작 눌러 줍니다.  포멧옵션-파일시스템=NTFS
 
그리고, 기다리면 완료 됩니다.
 

 

 
2. 제가 사용한 이미지는 x86,x64 두가지 이미지가 다 들어가 있는 ISO파일 이었기 때문에 완성되면 아래와 같이 생성됩니다.
 
 

 

2-1. 위 폴더에 보이는 것 처럼   grldr 파일memu.lst 파일을 복사해서 넣어 줍니다.
 
(참고: 이 단계는 Legacy BIOS Mode 부팅 시 멀티부팅이 필요 없으신 분들은 적용하지 않으셔도 됩니다. 즉, grub부트로더를 사용하지 않아도 Legacy BIOS Mode부팅은 기존 MBR로 부팅이 가능하며 - 부트메뉴에는 UEFI 없는 USB장치이름 선택-, 부트 메뉴에서 UEFI로 시작하는 USB이름 장치를 선택하시면 EFI 파티션(=ESP)만 만들어 주셔도 UEFI 부팅은 가능합니다.)
 
 
 
 
grldr
다운로드

 

menu.lst
다운로드

 

이 Menu.lst 파일은  USB를 Legacy Bios Mode 방식으로 부팅 했을 때 grldr이 불러오게 됩니다.

 

파일 내용은 아래와 같습니다.

 

 

title Windows Distributions

chainloader (hd0,0)/bootmgr

 

title 

 

---------------------------------------------------------

pause

 

title Reboot

reboot

 

title Shutdown

halt

 

 

 

이제 완벽한 UEFI Mode 부팅 지원을 위해서 USB에 EFI 시스템파티션(=ESP)을 만들어 주는 작업이 필요합니다. UEFI 부팅 시에는 ESP를 이용한 부팅만 가능 하기 때문입니다. 이게 가장 중요합니다. ㅎㅎ

 

 

3. 내컴퓨터-관리 메뉴로 들어가서 위에서 만들어진 부팅USB디스크를 찾은 후 디스크 파티션 영역에 마우스 우클릭 한 후 "볼륨축소" 를 선택합니다.

 

 

4. ESP영역으로는 최소 300KB에서 최대 300MB정도만 있으면 됨으로, 300MB만 축소시켜서 공간을 확보 해 줍니다.

 

(ESP영역으로 사용할 공간은 3MB로 만드시거나 30MB로 만드셔도 됩니다)

 

 

 

 

5. 300MB의 축소된 공간이 만들어졌습니다.(이 EFI용 파티션은 디스크 앞이나 뒤에 둬도 상관 없이 잘 동작됩니다)

 

 만들어진 300MB의 공간을 포멧합니다..

 

 반드시 FAT16 또는 FAT32 형식으로 포멧 해 줍니다. NTFS로 하면 안됨!

 

 

 

 

6. 내컴퓨터에서 보시면 아래 그림과 같이 USB가 두개의 드라이브명으로 할당 된 게 보이실 겁니다.

(제 컴에서는 I, L로 할당이 되었네요)

 

드라이브 이름(=볼륨명)은 알아보기 쉽게 입력 해 주시면 됩니다. 저는  UEFI_NTFS로 주었습니다.

 

 

 

7. 이제 만들어진 EFI파티션(=ESP영역, 위 그림에서 L 드라이브 볼륨명:UEFI_NTFS)에 EFI 부팅에 필요한 파일을 복사 해서 넣어 줍니다.

 

첨부한 파일을 압축을 풀어서 ESP영역으로 사용하는 디스크에 복사해 줍니다.

 

EFI_UEFI.7z
다운로드

 

 

 

 
8. 이제 마지막으로 무난한 부팅을 위해서 USB에 부트로더를 심어주면 됩니다. Bootice를 이용합니다.
 
(참고: 이 단계는 2-1에서 grldr, menu.lst 파일을 USB에 넣지 않으신 분들과 이미 정상적으로 부팅이 되는 USB는 적용하지 않으셔도 됩니다. 대부분의 USB들이 Rufus툴로 ISO 이미지를 심어주면 MBR까지 심어져서 부팅지원이 되는 경우가 대부분입니다)
 
 
 MBR, PBR 작업용 bin파일을 백업 해 둔 것을 그대로 복구 해 주시면 수월하게 작업됩니다.
 
 
물론 Active설정은 메인파티션만 하셔야합니다. (EFI파티션 -300MB- 은 Active 설정을 하지 않습니다)
 
BIOS부팅시에는 메인파티션으로 부팅하고 UEFI부팅 시에는 ESP영역에 있는 EFI폴더의 파일을 이용해서 부팅하기 때문에 Active 설정은 안해도 됩니다.
 
 
grubmbr.bin
다운로드

 

bootmgrpbr.bin
다운로드

 

 

 

8. Bootice 툴을 실행한 후 대상디스크에서 부팅USB가 인식된 것을 확인합니다. 

 

제 컴퓨터에서는 I,L로 할당되었음으로 I,L드라이브 명으로 할당된 게 보입니다.

 

 

 

9. 여기서 MBR작업을 눌러 주시면 사용가능한 MBR유형 항목에 초기 USB는 아무것도 선택되어 있지 않습니다. 

 

MBR영역이 비워져 있는 것입니다.

 

따라서 부팅이 되지 않겠죠? 아래 그림은 이미 MBR이 심어져 있기 때문에 GRUB4DOS로 선택되어있는 것입니다.

 

 

 

10. 이제 아무것도 없는 USB에 MBR을 심어 줍니다. MBR복원을 선택합니다.

 

섹터복원 파일경로에 위에서 내려받은 MBR백업.bin파일(-여기서는 grubmbr.bin으로 저장하였습니다)을 불러온 후 복원을 눌러 줍니다.

 

다른 것은 변경하시면 안됩니다. 그대로 파일만 불러와서 복원 해 줍니다.

 

 

 

11. 이제 PBR영역도 위와같이 백업해 둔 파일(=여기서는 bootmgrpbr.bin)로 복원 해 줍니다.

 

 

 

12. 이제 메인파티션(여기서는 i )을 활성화(Active설정) 시켜 줍니다.-완벽한 Legacy BIOS Mode 부팅을 위해서 꼭 필요합니다.

 

그리고 EFI파티션(여기서는 L드라이브, UEFI_NTFS볼륨)의 드라이브 할당문자를 제거 해 줍니다.

 

EFI파티션을 보호하기 위해서 입니다. 하지만 딱히 보호하거나 숨기지 않아도 사용에는 문제가 없습니다. 굳이 숨기는 작업을 안하셔도 됩니다.

 

윈도우7에서는 이 파티션에 문자를 할당해 놓아도 내컴퓨터 탐색기에서 파티션이 보이지 않지만, 윈도우10 에서는 그대로 열려서 탐색기에서 보이고 접근이 가능하기 때문에 모든 작업이 끝나면 드라이브에 할당된 문자를 제거 해 주면 탐색기에서 보이지 않게 됨으로 안전합니다.

 

 

13. 아래 그림은 메인파티션을 활성화 해주고 EFI파티션에 할당된 문자를 제거 한 후의 모습니다.

 

< i 드라이브 활성화 >

 

<EFI 파티션 드라이브 할당 문자제거>

 

 

1) 위 방법으로는 ESP영역이 완벽하게 보호 되지 않는 것을 발견하였습니다. 그래서 파티션툴(MiniTool Partition Wizard)로 숨겨줘야(Hidden) 더욱더 완벽하게 ESP를 보호할 수 있습니다. 보호가 필요하신 분들은 아래 방법을 따라 해 주세요.

 

2) 오른쪽 링크로 가셔서 무료 파티션툴(MiniTool Partition Wizard) 11버전 을 내려 받고 설치 해 줍니다. 

 

(2019년9월 버전 부터는 한글을 지원합니다)

 

3)설치 후 실행하시면 아래 그림과 같이 실행됩니다. 가운데 아래 쪽에 있는 Disk & Partition Management 를 선택합니다.

 

 

 

4) USB 드라이브를 찾은 아래 그림 처럼 후 ESP영역을 우클릭 해서  "Hide Partition"을 선택 합니다.

 

 

 

5) 왼쪽 위에 있는 Apply 를 실행합니다.

 

 

 

6) 적용 할 것인지를 물어보는 창이 보입니다. 그대로 Yes 해 줍니다.

 

 

 

7) 몇초만에 HidePartition 작업이 완료되었다는 창이 보입니다.

 

 

 

8) 파티션 툴로 ESP영역을 Hidden 작업 해 준 후 디스크관리자에서 본 모습입니다.

 

 

9) 이 상태로 UEFI, Legacy BIOS Mode로 부팅 테스트 해 보니 역시 아무런 문제 없이 잘 부팅됩니다.

 

  ESP영역은 파티션을 숨겨도 부팅에는 지장이 없음을 알 수 있습니다. 파티션을 포멧하고 드라이브 명을 할당하는 작업은 윈도우 탐색기에서 해당 파티션을 인식해서 읽고/쓰기 위해서 임으로, 그런 작업이 필요없는 파티션은 숨겨두시면 탐색기에서 보이지 않게 설정 할 수가 있고 보호할 수 있습니다.

 

 

10) 위 방법으로 ESP 파티션을 숨김처리(hidden) 조치 해 놓아도, 다른 PC의 윈도우에서는 ESP 영역이 다시 보이는 현상을 발견하였습니다.

사용하는 데는 크게 지장이 없음으로 패쓰~~

 

 

 

14. 이제 USB가 잘 만들어 졌는지 테스트 해 봅니다. 직접 UEFI, BIOSMode 부팅 지원 PC에서 부팅을 해 보아도 되구요.

 

가상으로 부팅 해 주는 아래와 같은 툴을 이용해 보셔도 됩니다.

 

 

 

MobaLiveCD_v2.1.exe
다운로드

 

MobaLiveCD 를 관리자권한으로 실행한 후 LiveUSB 열기 를 선택 합니다.

 

 

 

 

 

15. USB드라이브를 선택합니다. 제컴은 i 드라이브 를 선택합니다.

 

 

 

16. 드라이브 선택 후 OK 눌러 줍니다. 가상머신을 위한 하드 디스크 이미지를 생성하겠습니까? 에서 NO를 선택 해 줍니다.

 

 

 

 

17. QMENU 도스창이 열리면서 grldr 부트로더가 로딩 된 후 menu.lst의 내용이 보여지게 됩니다.

 Legacy 부팅을 위해서 가장 위 메뉴를  선택해 줍니다. Windows Distributions

 

 

 

 

 

18. menu.lst 내용에 있는데로 chainloader (hd0,0)/bootmgr 부트로더를 불러와서 BCD 목록을 보여줍니다.

제가 추가한 이미지가 x86,x64 모두를 포함한 이미지였기 때문에 아래처럼 두개의 이미지를 부팅하는 BCD대로 부팅이 되는 것을 알 수 있습니다.

 

위 툴로는 Legacy BIOS 부팅만 테스트 해 볼 수 있습니다.

 

 

 

UEFI 부팅을 테스트 해 보기 위해서는 UEFI 부팅(도는 UEFI-CSM모드 부팅)을 지원하는 PC에서 테스트 해 보실 수 있습니다.

 

 

 
 
19. UEFI 전용 부팅으로 BIOS에서 설정 한 후 부팅장치선택 메뉴 호출 선택 키를 누르면(제 PC 메인보드는 MSi 꺼라서 F11 을 눌러 줍니다) 부트메뉴가 보입니다.
 
부팅USB의 파티션이 2개로 되어 있기 때문에 부트메뉴 목록에서 두개다 UEFI 부팅 항목으로 보여질 겁니다.
 
 
 
 
 
 
주의: 부트메뉴에서 USB의 두번째 파티션을 선택하시면 부팅이 안되면서 아래와 같은 에러가 발생될 겁니다.
 

 

 

 

 

 

 

 

그래서, 반드시 첫번째 USB파티션을 선택 해 주셔야 정상적인 UEFi부팅이 됩니다.

 

 

 

 

첫번째 파티션을 선택하고 부팅하면 bootmgr 부트로더를 grub 부트로더가 불러와서 정상적인 부팅이 이루어 집니다.

(-이것은 PC의 메인보드 종류에 따라서 차이를 보이긴 합니다. 따라서 상황에 따라서 적절한 부팅 메뉴를 선택하시면 됩니다)

 

BCD메뉴가 보여질 때 그래픽 방식으로 보여지기 때문에 폰트와 해상도가 Legacy Mode 부팅 때보다 약간 작아지고 달라진 것을 보실 수 있을 겁니다.

 

정확히 UEFI부팅인지 알아보기 쉽게 하시려면 BCD를 편집해서 [UEFI]를 표시해 주셔도 됩니다. 

 

BCD편집 역시 Bootice 툴을 이용해서 할 수 있습니다.

 

 

 

설치과정까지 진행해 보니...디스크 파티션 선택하는 화면까지 잘 나오고 설치도 잘 진행 되었습니다.

 

이로서 UEFi부팅을 완벽하게 지원하는 부팅USB가 만들어 졌습니다.

 

이 방법을 응용해서 BCD를 편집하는 방법을 이용해서 여러가지 윈도우설치 이미지를 복사하고 연결해 주시면 더욱더 유용한 부팅USB 를 만들어서 하나에 담아서 가지고 다니시면 편리하게 사용하실 수 있을 겁니다.

 

위 방식으로 만들어진 부팅USB는 최근에 생산된 LG그램과 같은 UEFI부트 전용 BIOS가 적용된 PC에서도 무난한 부팅을 지원하게 될 것입니다.

 

이 USB로 윈도우10을 설치 하신 후 인터넷에 연결하신 후 (랜카드는 대부분 자동으로 잡아질꺼니까-안잡히면 3dp이용) DriverPackSolution툴을 이용하여 자동으로 장치드라이버를 설치하거나 업데이트 해 주시면 윈도우10 설치는 완벽히 끝나게 됩니다.

 

 

다가오는 2020년 Legacy BIOS 부팅지원이 끝나게 될 것을 대비해서 대부분의 대기업 PC들은 2019년부터 UEFI 부팅만 지원하는 BIOS를 메인보드에 탑제하기 시작하였습니다. 거기에 맞는 무난한 윈도우설치를 위해서는 UEFi전용 부팅 환경도 잘 지원되고, 구형 PC의 Legacy 부팅도 잘 지원하는 부팅USB가 꼭 필요하게 될 것입니다.

 

그래서, 지금까지의 툴들의 유용한 기능들을 응용해서 UEFi, Legacy, CSM호환모 모두 완벽하게 지원하는 완벽부팅USB를 만드는 방법을 포스팅 하였습니다.

 

 

*PC의 BIOS에 따라서 부트메뉴가 위에서 보이는 것과 다르게 나타날 수 있습니다. 또 grub4dos를 적용한 USB와 하지 않은 USB를 삽입 후의 부트메뉴도 다를 수 있습니다. 확실 한 것은 Legacy 부트는 부트메뉴에서 USB이름장치(ex:Sandisk)를 선택하시면 되고, UEFI부팅은 UEFIusb이름장치(ex:UEFI Sansidk)를 선택하시면 됩니다.

 

 

*댓글에서 보시다시피 일부 PC와 NOT 제품에서 UEFi 전용 모드로만 부팅을 지원하는 경우에는 이 포스팅대로 만든 USB를 연결 하고 부팅한 후 BBS 목록을 확인하면 파티션1번은 보이지 않고 파티션2번만 선택할 수 있도록 보이는 경우가 있는 것 같습니다.

그 경우에는 해당 PC나 노트북의 BIOS설정으로 들어가셔서 SecureBoot 항목(컴퓨터마다 BIOS 종류마다 이름은 다를 수 있음, 제조사 스비스센터로 문의 필요) 이나 FAST BOOT 항목(이 또한 컴퓨터마다 BIOS 종류마다 다를 수 있음) 을 Disable(=해제) 해 주시면 USB의 파티션두개가 다 BBS 부팅목록에서 보이실 겁니다. 그렇게 해도 보이지 않으실 경우에는.....해당 컴퓨터의 제조사 서비스센터로 문의 해 보시기 바랍니다. 

제가 가지고 있거나 접할 수 있는 컴퓨터 중에서 UEFi 전용 부팅만 지원하는 컴퓨터가 있을 경우에 이 문제는 다시 테스트 해 보겠습니다. 아직까지는 대부분의 컴퓨터에서 UEFi, CSM, BIOS 부팅 모드 환경을 모두 지원하는 것을 확인하였습니다.

 

 

 

 

*PS: 최신포스팅을 참고 하시기 바랍니다. [YMtechUSB-#11][YMtechUSB-#12]

 
 

 

 

728x90
반응형