설치 / 사용기

윈 도 우 uefi 시스템에서(로컬) ipxe.efi wimboot 사용하기

2020.04.23 21:51

뽜이론 조회:1162 추천:10

wimboot.gif

 

san iscsi http등을 지원하는 네트워크 부트를 위한 오픈소스인 ipxe프로젝트에서

제공하는 wimboot를 로컬에서도 사용할 수 있습니다..

 

바이오스 진입=> windows setup and restore(grub부트)  => grub메뉴에서 window setup and restore 선택 => ipxe.efi가 boot.ipxe를 로드한 후 wimboot를 

이용해서 부트후 하드디스크에 저장된  스크립트를  자동으로 실행. (시스템에 grub이  설치 되어 있어야 합니다.)

 

 

일반적으로 사용하는 pe도 부트가 가능하지만

부트후 diskpart dism 명령이 포함된 스크립트로

파티션 구성과 설치를 자동화 하거나 복원시 명령어

지원을 하는 복원프로그램으로 복원을 자동화 하기 위해서는

마이크로 소프트가 제공하는 adk기반의 winpe가 좋으며

wim 파일의 편집 없이 하드디스크에 스크립트를 저장하고 부팅시에 자동으로

스크립트를 실행하기 위해서 wimboot를 사용합니다.

 

Screenshot_2020-04-23_18-20-22.png

 

pe가 있는 하드디스크의 파티션 모습입니다.(파일시스템은 fat32이여야 합니다.)

구성을 꼭 저렇게 할 필요는 없지만 첨부된 ipxe.efi가

boot폴더 안의 boot.ipxe파일을 찾게끔 빌드했기때문에

boot폴더는 꼭 있어야 합니다.(대소문자를 구분하기 때문에 소문자 boot여야 합니다.)

 

Screenshot_2020-04-23_20-13-39.png

 

 

하드디스크에 있는 bcd,  wim파일의 이름은 어떤것이나 상관 없고 위치 또한 상관 없지만

bcd의 내용은 그림(bootice로 bcd를 열어본 그림) 과 같아야 오류가 발생하지 않습니다.

uefi 시스템에서는  파일이름이 bcd2인  bcd가 필요합니다.

 

일반적으로 사용하는 pe를 부팅시키기 위해서는 wim파일 안에

x:\windows\Boot\bootfw.efi 파일이 있으면 첨부한 boot.ipxe 내용처럼 하면되지만,

없다면  다음 한줄을 추가합니다.

 

--name bootx64.efi ${boot-root}/efi/boot/bootx64.efi

 

 

ipxe.efi 이미지를 직접 빌드하려면 리눅스 시스템에서 합니다.

 

git clone git://git.ipxe.org/ipxe.git

 

cd ipxe/src

 

이동후 

 

문서 편집기로 chain.ipxe를 아래와 같이 작성합니다.

 

#!ipxe

 

set boot-root file:

chain ${boot-root}/boot/menu.ipxe

 

변수명이나 경로는 어떻든 상관 없습니다.  내용을 추가하려면

 

이곳을  참고하십시오.

 

reboot , poweroff 그리고 백그라운드 이미지를 사용하기 위해

config/general.h 와  config/console.h 파일을 편집기로 열어서

아래 의 그림과 같이 주석을 제거합니다.

 

config/general.h 

 

Screenshot_2020-04-23_21-46-33.png

 

config/console.h 

 

Screenshot_2020-04-23_21-47-19.png

 

 

 

make bin-x86-64-efi/ipxe.efi EMBED=chain.ipxe

 

빌드가 끝나면 복사해서 사용하면 됩니다.

 

바이오스에 메뉴 등록하기

 

Screenshot_2020-04-20_23-21-55.png

 

바이오스에 windows install and restore 라는 메뉴를 추가하기 위해서 efibootmgr를 사용합니다.

리눅스 live로 부트해서 grub을 설치하면 대개 배포판의 이름이 바이오스에 등록 되는데 efibootmgr로  새메뉴 항목을 추가한 후

grub 설치시 생긴 배포판의 이름의 메뉴는 삭제 해주면 됩니다.

 

Screenshot_2020-04-20_23-05-59.png

 

위 그림과 같이 grub-efi(grub이 설치 되어 있으면 필요 없습니다.) eifbootmgr 를 설치합니다.

 

grub 설치에 대한 설명은  생략합니다. 그림에서는 데비안 배포판으로 설치했기때문에

그림의  메뉴에 debian이라는 항목이 보입니다.

 

efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\debian\\shimx64.efi -L "Windows Setup and Restore"

 

-p 1은 파티션 번호입니다. 저같은 경우는 1첫번째 디스크의 1번째 파티션이 esp파티션이니 번호가 1이 됩니다.

 

바이오스 메뉴에 추가된 debian 항목을  삭제합니다. 위의 그림에서 debian 옆의 숫자가 0004입니다.

우분투로 설치하면 ubuntu라고 나올 것입니다.

 

efibootmgr -v 

로 숫자와 순서를 확인합니다.

 

efibootmgr -b 0004 -B

 

 

Screenshot_2020-04-20_23-23-48.png

 

debian 메뉴항목이 삭제되었습니다.

 

부팅 순서를 정합니다.

 

efibootmgr -o 0006,0005

 

재부팅후 바이오스 진입을 하여 부트항목을  보면 아래와 같은 메뉴가 보입니다.(바이오스 버전에 따라 모습은 다를 수 있습니다.)

 

Screenshot_2020-04-20_23-29-55.png

 

참고로 레거시 시스템에서 wimboot를 사용하려면

 

grub.cfg 에 다음과 같이 작성하면 됩니다.

 

insmod regexp

set wimPath=/boot-wim

export wimPath

 

for wimfile in $wimPath/*.wim $wimPath/*.WIM $wimPath/*.Wim; do

    if [ -e "$wimfile" ]; then

        regexp --set=wimName "$wimPath/(.*)" "$wimfile"

        menuentry "$wimName ->" "$wimfile" {

            wim_path="$2"

            linux16 /boot/wimboot rawbcd

            initrd16 \

                    newc:bootmgr:/bootmgr \

                    newc:bootmgr.exe:/bootmgr.exe \

                    newc:bcd:/boot/bcd \

                    newc:boot.sdi:/boot/boot.sdi \

                    newc:boot.wim:"$wim_path"       

                    boot

        }

    fi

done 

 
 
wimPath 이름, 경로는 임의로 작성하면 되고 그위치에 winpe의 wim 파일을 넣으면
부트시 메뉴에 wim 파일 이름으로 나열 된걸 보실 수 있습니다.
 

adk pe로 부팅후 스크립트가 자동으로 실행려면 아래와 같은 내용을 추가합니다.

 

install 일 경우

 

newc:autoScript.bat:/boot/script/install.bat \

newc:winpeshl.ini:/boot/script/winpeshl.ini \

 

restore 일 경우

 

newc:autoScript.bat:/boot/script/recovery.bat \

newc:winpeshl.ini:/boot/script/winpeshl.ini \

 

 

첨부된 ipxe 메뉴 파일인 boot.ipxe는 간단하게 작성 되어있습니다.

 

자세한 예시를 보시려면  이곳을  참조하십시오.

 

감사합니다.

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
10936 윈 도 우| 초보에 윈도우 wim 통합버전 만들기 스샷만 올려었요^^ [5] 수리수리 378 15 03-29
10935 소프트웨어| WIM 정보 v0983 - 검은색 배경 버그 수정 [13] 입니다 781 49 03-29
10934 기 타| WimLib Api - Cmd용으로 컴파일만 하여 보았습니다 [11] 왕초보 725 19 03-28
10933 윈 도 우| [추가] Win 11 23H2 22631.3374 설치 전 Update+Drv통합 CMD [14] do98 705 23 03-28
10932 기 타| PECMD를 활용한 Menu.wsc를 수정해봤습니다... [13] 노랑개굴 649 40 03-28
10931 기 타| WimLib Api - WimLib BR 버전에 적용하여 보았습니다.. [7] 왕초보 675 13 03-28
10930 기 타| 입니다님 감사합니다 - WimLib Api 백업,복원을 하여 보았... [13] 왕초보 737 13 03-28
10929 윈 도 우| Notepad2로 열기 [우메뉴에 등록] [5] 청락 514 18 03-28
10928 기 타| WinXPE147수정버전_20240322_ 23H2(빌드22631.3374)사용기 [28] 격자 565 66 03-27
10927 기 타| pureBasic - 화면 캡처 프로그램을 만들어 보았습니다. [8] 왕초보 806 16 03-27
10926 윈 도 우| MS 계정 사용 또는 사용안함.bat 테스트 [13] suk 895 46 03-27
10925 윈 도 우| KB5035942 (OS Builds 22621.3374 and 22631.3374) [6] 16k 720 16 03-27
10924 기 타| WinXPE147수정버전_20240322_22H2(빌드19045.4170)사용기 [42] 격자 654 67 03-26
10923 소프트웨어| 유튜브 멀티 다운로드 - 멀티 오디오트랙 및 기타 옵션 기... [15] 굿듀님스토 492 28 03-26
10922 기 타| 【수정】 Easylight 288mb-Wifi ToolsEL DVD PE [29] 딸랑쇠 1420 58 03-26
10921 기 타| [추가] Popup Menu Launcher (MPause) - 도우미 버전 프리뷰 [21] 빨강모자 459 34 03-26
10920 소프트웨어| WIM 정보 v0981 - 검색 기능 추가.편의성 향상(약간의 버그... [10] 입니다 765 35 03-26
10919 기 타| pureBasic IFW BR OneClick v0.02 - 드래그, PE 설정 기능... [12] 왕초보 737 27 03-26
10918 기 타| Snapshot_BR_Single_v3.0 감사 사용기^^ [7] 수리수리 631 17 03-25
10917 소프트웨어| Advanced Installer 한글 패치 2종 [78] SPiRiTY 1062 106 03-25
XE1.11.6 Layout1.4.8