강좌 / 팁

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

2022.09.23 10:17

zerojiddu 조회:2385 추천: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 - - -
» 윈 도 우| 파워쉘만으로 PE 부팅 USB 만들기 [5] zerojiddu 2385 10 09-23
4204 윈 도 우| 윈도우11.22H2이상에서 탐색기 탭 활성화하기-글 수정 [8] 타천사둘리 2750 10 09-21
4203 모 바 일| [팁] 스마트폰 스피커 물 빼기 [1] asklee 2731 2 09-19
4202 윈 도 우| 디펜더 전체검사때, CPU 100% 급상승 해결하기 [4] zerojiddu 2411 8 09-16
4201 소프트웨어| VirtualBox 7.0.0 Beta - 새로운 기능 및 TPM 설정 [4] VᴇɴᴜꜱGɪ 1727 6 09-13
4200 소프트웨어| 드라이브 문자 할당/제거 배치파일 [17] 지후빠 2071 24 09-12
4199 윈 도 우| 리소스 잡아먹는 Edge 설정 한방에 하기 [39] zerojiddu 8056 30 09-06
4198 소프트웨어| Total Commander 10.5x 32비트 및 64비트용 확장 한국어 메... [12] VᴇɴᴜꜱGɪ 2281 18 09-05
4197 윈 도 우| 무인 마우스 포인터 이동, 키 터치 작동 파워셀 코드 [2] zerojiddu 1272 6 09-03
4196 소프트웨어| Google Chrome에서 최소 탭 너비를 설정하는 방법 [1] VᴇɴᴜꜱGɪ 1475 8 08-30
4195 윈 도 우| 잘 안쓰는 window apps , 파워셀 명령어로 한번에 제거하기 [11] zerojiddu 2882 12 08-29
4194 소프트웨어| PE 에서 바로 가기 생성 배치 파일에 대한 고찰 [17] 지후빠 2212 26 08-28
4193 소프트웨어| 윈포 쪽지 전달 반자동화 AHK 매크로(배포중지) [39] 지후빠 1750 31 08-23
4192 소프트웨어| True Image 실행 시 삭제한 백업 폴더가 다시 생성되는 문... [1] 봄빛깔 1207 8 08-21
4191 윈 도 우| [실사] 만능WIM 응답파일(Unattend.xml) 교체 [33] 무월 3002 30 08-21
4190 소프트웨어| Rufus를 사용하여 Windows 11 부팅 가능한 USB를 만드는 방법 [24] VᴇɴᴜꜱGɪ 4377 30 08-16
4189 소프트웨어| 간단한 파일/폴더 백업 배치 파일 - BackupToZip [29] 지후빠 2698 28 08-14
4188 소프트웨어| 배치파일을 시스템 트레이로 숨김 실행하기 AHK [15] 지후빠 1483 9 08-13
4187 소프트웨어| EasyDrv 활용법 [10] 타천사둘리 3233 8 08-12
4186 기 타| 나스 토런트 감시폴더에 Torrent 파일 자동 전송 (수정) [1] 슈머슈마 1218 9 08-11
XE1.11.6 Layout1.4.8