강좌 / 팁

윈 도 우 파워쉘만으로 PE 부팅 USB 만들기

2022.09.23 10:17

zerojiddu 조회:2262 추천:10

밑의 스크립트는 구글링 참조,

제가 다 이해를 하고, 파워쉘코드로 수정후 수차례 테스트하고 올립니다.
밑의 긴코드 전체를 파워쉘에 넣고 친후,

make-usbpe C:\(만들 폴더이름) (설치할 usb 드라이브 문자:) (포맷할 usb 드라이브 문자)
한칸씩 띄워만 주면 되고,

 

예) make-usbpe C:\PEtest J: J

포맷을 안하려면 끝의 옵션은 빼면 됩니다.

 

예) make-usbpe C:\PEtest J:

https://learn.microsoft.com/ko-kr/windows-hardware/get-started/adk-install

마이크로소프트에서 ADK Windows PE 추가 기능만 설치하면 되고,
설치후 내컴에 이 주소만 있으면 됩니다. C:\Program Files (x86)\Windows Kits\10
주소 끝의 숫자가 10이 아니면 밑의 긴코드 상단에 위치한 10 숫자만 바꿔주면 됩니다.

일반 PE와 달리 bitlocker 잠금,해제 명령어도 사용할수 있고,
파워쉘도 쓸수 있어 C 드라이브 포함 모든 드라이브에서 백업, 포맷, 프로그램 삭제 등
응급처치 명령어를 다 쓸수 있습니다. 한국어 설명이 표시되지만, 한글입력은 안됩니다.

이제 자동 일괄처리 시작.

 

function make-usbpe {
    param([Parameter(Position=0)][string]$Destination,
    [Parameter(Position=1)][string]$USBdriveLetter,
    [Parameter(Position=2)][string]$FormatFAT32)
    if($FormatFAT32){
        format-volume -driveLetter $FormatFAT32 -fileSystem FAT32 -full -newFilesystemLabel 'KORPE' -force
    }
    if(Test-Path "$Destination") {
        if((Get-Item "$Destination").GetDirectories().Length -gt 0) {
            Write-Warning "$Destination already exists."
            break
    }}
            else { New-Item -Path "$Destination" -Type directory -verbose }
$InstallDirectory = "$env:programfiles (x86)\Windows Kits\10"
$PArchitecture  = $env:Processor_Architecture
$bootFiles = "$InstallDirectory\Windows Preinstallation Environment\$PArchitecture\Media"
$winPeFile = "$InstallDirectory\Windows Preinstallation Environment\$PArchitecture\en-us"

New-Item -Path "$Destination\media" -Type directory -verbose
New-Item -Path "$Destination\mount" -Type directory -verbose
New-Item -Path "$Destination\media\sources" -type directory -verbose
start-sleep 3
xcopy /herky $bootfiles $Destination\media
copy-item $winPeFile\winpe.wim $Destination\media\sources -verbose
Rename-Item -Path "$Destination\media\sources\winpe.wim" -NewName "boot.wim" -verbose
start-sleep 3

Dism /mount-wim /wimfile:"$Destination\media\sources\boot.wim" /Index:1 /mountdir:"$Destination\mount"
start-sleep 3
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-WMI_ko-kr.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFx.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-NetFx_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FMAPI.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-Scripting_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-PowerShell_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureBootCmdlets.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HTA.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-HTA_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-DismCmdlets_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-StorageWMI.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-StorageWMI_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PlatformId.cab" /ignorecheck
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WDS-Tools.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-WDS-Tools_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-SecureStartup_ko-kr.cab"
Dism /Image:"$Destination\mount" /add-package /packagepath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-EnhancedStorage.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-EnhancedStorage_ko-kr.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WinReCfg.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-WinReCfg_ko-kr.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Dot3Svc.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-Dot3Svc_ko-kr.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PPPoE.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\WinPE-PPPoE_ko-kr.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-KO-KR.cab"
Dism /Image:"$Destination\mount" /Add-Package /PackagePath:"$InstallDirectory\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\lp.cab"
start-sleep 3
dism /image:"$Destination\mount" /set-inputlocale:ko-KR
dism /image:"$Destination\mount" /set-AllIntl:ko-KR
start-sleep 3
dism /image:"$Destination\mount" /set-layereddriver:4

start-sleep 10
dism /unmount-wim /mountdir:"$Destination\mount" /commit
start-sleep 3
bootsect /nt60 $USBdriveLetter /force /mbr
start-sleep 3
compact /u $Destination\media
start-sleep 3
xcopy /herky $Destination\media\*.* $USBdriveLetter
}

 

전 make-usbpe c:\PETest J: J 라 넣어 J usb드라이브 전체 포맷부터 시작됩니다.

Screenshot 2022-09-23 083816.png

c:\ 드라이브에 임시작업 폴더를 만들고, 마이크로소프트에서 설치한 adk windows pe 폴더에서 필요한 파일을 복사,

dism 명령어가 pe를 만들 boot.wim(압축파일로 보시면 됨) 파일을 마운트 시키고 필요한 패키지 설치를 시작합니다.

Screenshot 2022-09-23 083943.png

패키지 설치중 NetFX(.NET Framwork) 이것만 시간이 좀 걸립니다(그래도 3분이내)

Screenshot 2022-09-23 084031.png

PE를 기본 한국어표시가 되게 바꿨구요.

Screenshot 2022-09-23 084426.png

PE에 필요한 패키지를 임시작업폴더에 저장후, 설치할 usb를 부팅이 되게끔 명령어를 넣었습니다.

Screenshot 2022-09-23 084526.png

 

이제 일괄처리가 다 끝났고, 설치할 usb J드라이브에 파일이 차 있는걸 볼수 있습니다.

Screenshot 2022-09-23 084625.png

 

어쩌다 부팅이 안돼 C:\ 드라이브에 들어가려면 비트라커가 잠겨 애먹은 적이 많습니다.

이럴때 PE에서 해제하면 됩니다.

20220923_085056.jpg

 

 

20220923_085306.jpg

 

파워쉘이 되기에 비트라커 해제후 PE 기본위치 X:\에 한정되지 않고,

C 포함 모든 드라이브에 들어가 원하는 작업을 할수 있습니다.

20220923_090028.jpg

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4487 호환이 안된다는 드라이버 강제로 적용하는 방법 [1] ASUS 13190 0 10-13
4486 ASUS,LG....자동인증 씨디 만들기 [4] 왕대인 14834 0 10-13
4485 구매시 XP가 기본 장착된 모델인 경우 개조안하고 VISTA O... [5] 오다가다 9790 0 10-13
4484 구매시 XP가 기본 장착된 모델인 경우 VISTA OEM으로 [6] 오다가다 11454 0 10-13
4483 기 타| 종이로 시디케이스 만들기(두가지) [5] gooddew 11681 0 10-14
4482 VISTA의 BCDEDIT로 간단히 XP 멀티부팅정보 추가하기 [1] 오다가다 11482 0 10-16
4481 미디어플레이어 64비트 설정 방법 [4] 히로 10667 0 10-18
4480 탐색기에서 파일이동 복사하기 메뉴만들기 [2] gg 10217 0 10-27
4479 윈도탐색기에서 보기옵션 고정하기 [3] gg 10374 0 10-27
4478 Xp 가 탑제된 컴의 Vista 인증원리 [2] 오다가다 12288 0 10-27
4477 [Vista] 레디부스트 지원 안되는 USB 사용방법!? [5] 김용환 11108 0 10-30
4476 비스타 RC 버전 인증기 [4] 묵은지 12086 0 10-31
4475 ReadyBoost, Qsoft의 RamDisk로 "체험"하기 [1] 박정환 13853 0 11-04
4474 즐겨찾기 목록 폴더 자동 원상복구 [1] 퍼온이 10367 0 11-04
4473 지포스 최신 드라이버 설치시 카트라이더 문제점 해결.. [1] 미스터하하 9586 0 11-13
4472 기 타| JRSKD24.SYS 손상에 의한 부팅불가시 복구법..!! [4] gooddew 13987 0 11-14
4471 기 타| 비스타 버전별 기능 [6] gooddew 10130 0 11-17
4470 비스타 서팩1 설치 안될때의 설치방법 제안! [5] 테스트맨 9400 0 11-17
4469 sp1 rc v658 삭제 [4] 미스터하하 7947 0 11-18
4468 비스타 SP1 v658설치 [4] 비스타유져 8848 0 11-18
XE1.11.6 Layout1.4.8