강좌 / 팁

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

2022.09.23 10:17

zerojiddu 조회:2259 추천: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 2259 10 09-23
1847 윈 도 우| 윈도우11.22H2이상에서 탐색기 탭 활성화하기-글 수정 [8] 타천사둘리 2691 10 09-21
1846 윈 도 우| 디펜더 전체검사때, CPU 100% 급상승 해결하기 [4] zerojiddu 2298 8 09-16
1845 윈 도 우| 리소스 잡아먹는 Edge 설정 한방에 하기 [39] zerojiddu 7745 30 09-06
1844 윈 도 우| 무인 마우스 포인터 이동, 키 터치 작동 파워셀 코드 [2] zerojiddu 1216 6 09-03
1843 윈 도 우| 잘 안쓰는 window apps , 파워셀 명령어로 한번에 제거하기 [11] zerojiddu 2776 12 08-29
1842 윈 도 우| [실사] 만능WIM 응답파일(Unattend.xml) 교체 [33] 무월 2885 30 08-21
1841 윈 도 우| 인증서 백업 복구 배치파일 [9] 센돔타오르 2537 18 08-05
1840 윈 도 우| 북마크 백업 복구 배치파일 [17] 센돔타오르 2264 30 08-03
1839 윈 도 우| 윈도우10/11 무인설치 응답파일 선택 설치 [7] 무월 3380 21 07-28
1838 윈 도 우| install.WIM 무인설치 응답파일 교체 방법! [11] 무월 2332 20 07-23
1837 윈 도 우| [실사] 윈도우7 업데이트 및 드라이버 통합 [8] 무월 2406 13 07-14
1836 윈 도 우| [실사] 윈도우 7/8.1/10/11 전체 무인설치 [28] 무월 5022 15 07-09
1835 윈 도 우| 윈도우11에서 Open Shell로 시작버튼 사용하기 팁 [4] -민군- 2126 4 07-07
1834 윈 도 우| 윈도우10 기본 브라우저 초기화 및 재설정 [4] 무월 1820 5 07-07
1833 윈 도 우| [실사] 윈도우11(22H2) 업그레이드 우회 설치 [12] 무월 4604 17 07-02
1832 윈 도 우| [실사] 윈도우10/11 만능WIM 자동 설치(WinToHDD 5 8) [15] 무월 3464 16 07-02
1831 윈 도 우| [실사] 스틱PC Windows 10 32bit UEFI 설치 [3] 무월 1874 6 06-26
1830 윈 도 우| [실시간 보호 기능 켬/끔] 좀 더 편하게 실행 [24] 지후빠 3881 48 06-26
1829 윈 도 우| 업무화면과 주식화면을 분리시키기 [1] 좋게멋지게 2463 8 06-17
XE1.11.6 Layout1.4.8