강좌 / 팁

윈 도 우 프로그램 필요없이, 윈도우 설치 USB 만들기

2023.01.18 17:46

zerojiddu 조회:5667 추천:27

많이들 써 보셨을건데,

 

그냥 윈도우에 있는 명령어만으로

파워쉘에서 실행되는 스크립트로 짜봤습니다.

사전에 USB에 드라이브 포맷 준비만 해놓고,

밑의 전체 코드를 파워쉘[관리자]에 치면 됩니다.

 

Function Get-IsoLocation
{
    [CmdletBinding()]
    [OutputType([string])]
    Param
    (
        [Parameter(
            Mandatory = $false,
            Position = 0)]
        [String]$WindowTitle = "Opening For .ISO",

        [Parameter(
            Mandatory = $true,
            ValueFromPipelineByPropertyName = $true,
            HelpMessage = "Initial Directory for browsing",
            Position = 1)]
        [String]$RootDir
    )
    Add-Type -AssemblyName System.Windows.Forms
    $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
    $OpenFileDialog.Title = $WindowTitle
    
    if (-Not [String]::IsNullOrWhiteSpace($RootDir))
    {
        $OpenFileDialog.InitialDirectory = $RootDir
    }
    $OpenFileDialog.ShowHelp = $true
    $OpenFileDialog.ShowDialog() | Out-Null
    return $OpenFileDialog.Filename
}

Write-Host "`n"
Write-Host "  ISO 파일을 찾을, 첫 시작위치를 입력하세요" -ForeGroundColor Red
Write-Host "`n"
Write-Host "  ==> " -noNewline
$InputDir = Read-Host
# $InputDir = (Read-Host -prompt "`n`nISO 파일을 찾을, 첫 시작위치를 입력하세요`n`n")
$IsoPath = Get-IsoLocation -RootDir $InputDir
$Volumes = (Get-Volume).Where({$_.DriveLetter}).DriveLetter
Mount-DiskImage -ImagePath $IsoPath
$ISO = (Compare-Object -ReferenceObject $Volumes -DifferenceObject (Get-Volume).Where({$_.DriveLetter}).DriveLetter).InputObject
Start-Sleep 2

Write-Host "`n"
Write-Host "  .iso내 모든 파일을 임시복사할 폴더를 만듭니다." -ForeGroundColor Red
Write-Host " `n윈도우 설치 USB에 다시 복사한후 임시폴더는 삭제됩니다." -ForeGroundColor Red
Write-Host " `nC드라이브내 원하는 위치를 입력하세요" -ForeGroundColor Red
Write-Host "`n"
Write-Host "  ==> " -noNewline
$InputTempFolder = Read-Host
New-Item $InputTempFolder -type directory -ver
Start-Sleep 2
robocopy "$($ISO):\" $InputTempFolder /e /copyall
Set-Location -Path "$($ISO):\boot"
Write-Host "`n"
Write-Host "  모든 설치파일이 복사되고,부팅 가능하게 만들`n" -ForeGroundColor Red
Write-Host "  사전의 포맷 준비된 USB드라이브 문자를 입력하세요`n" -ForeGroundColor Red
Write-Host "  예>  J "
Write-Host "  문자만 쓰면 됩니다." -ForeGroundColor Red
Write-Host "`n"
Write-Host "  ==> " -noNewline
$USBLetter = Read-Host

bootsect.exe /nt60 "$($USBLetter):"
Dism /Split-Image /ImageFile:"$InputTempFolder\sources\install.wim" /SWMFile:"$InputTempFolder\sources\install.swm" /FileSize:3500
gci -path "$InputTempFolder\sources\install.wim" | set-itemproperty -name IsReadOnly -value $false
Remove-Item $InputTempFolder\sources\install.wim -ver
Start-Sleep 2
robocopy $InputTempFolder "$($USBLetter):\" /e /copyall
Start-Sleep 2
Dismount-Diskimage -imagepath $IsoPath
Set-Location $env:UserProfile
Remove-Item $InputTempFolder -r -force -ver

 

 

전 사전의 포맷을 해놨고, 포맷은 스크립트에 넣지 않았습니다.

Screenshot 2023-01-18 165555.png

 

++스크립트 진행과정 스샷++

 

I.SO 파일위치를 좀더 편하게  GUI 화면으로 찾아 입력하게 명령어를 넣었습니다.

Screenshot 2023-01-18 170022.png

 

설치를 원하는 윈도우 .ISO 파일을 열면 자동으로 가상 DVD로 마운트됩니다.

그리고 또 한번 임시 복사할 원하시는 폴더를 지정해주면,

 

Screenshot 2023-01-18 170219.png

 

robocopy 명령어로 마운트된 .ISO내 모든 파일을 임시폴도에 복사합니다.

그리고 포맷 준비된 USB 드라이브 문자를 적어주면,

Screenshot 2023-01-18 170320.png

 

그 USB 드라이브를 부팅가능하게 만들고,

Dism 명령어로 파일크기가 큰 install.wim을

부팅 USB에 넣을 크기로 쪼갠뒤(install.swm, install2.swm)

기존 install.wim은 삭제한뒤,

쪼갠 .swm을 포함한 모든 .ISO내 파일들을  USB로 복사합니다.

Screenshot 2023-01-18 170643.png

robocopy로 USB로 복사중 과정인데,

젤 밑의 쪼갠 install.swm, install2.swm 보이시죠?

install.wim을 삭제해도 저것만 있으면 됩니다.

Screenshot 2023-01-18 170545.png

이렇게 복사가 끝나면,부팅가능한 윈도우 설치 USB가 만들어집니다.

나머지 노란색 메세지들은

임시로 만들었던 폴더를 싹 삭제하는 과정입니다.

작업 찌꺼기를 없애는 거죠.

 

Screenshot 2023-01-18 170731.png

 

확인해보면 저렇게 잘 복사됐있고,

이제 부팅때 필요하면 윈도우 설치에 쓰면 됩니다.

Screenshot 2023-01-18 170913.png

 

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4321 윈 도 우| 22621.1555 버전 파일 탐색기 명칭 오류 해결법 [1] 타천사둘리 1072 5 04-13
4320 소프트웨어| 엑셀 제목표시줄에 파일 전체 경로 표시 [28] 지후빠 2679 29 04-02
4319 소프트웨어| 단순한 팝업 메뉴형 런처 PopSel (실컴,PE) [18] 지후빠 2450 26 03-30
4318 기 타| IPv6 전용 네트워크에서 윈도우 포럼 접속하기 네트워크빌 2005 2 03-27
4317 소프트웨어| 구글 캘린더로 매년 X월의 Y번째 요일에 반복 설정하기 asklee 937 2 03-26
4316 소프트웨어| [펌]VirtualBox 로컬 드라이브 연결하기 [2] 타천사둘리 1306 9 03-23
4315 윈 도 우| PC 나 노트북 종료시 전원차단 안 될 때 조치방법 [6] 타천사둘리 2874 6 03-21
4314 윈 도 우| Wifi 패스워드 (종료!!!) [27] kernel 6067 19 03-12
4313 소프트웨어| 배치파일로 2GB 이상 계산과 batch hybrid [7] 지후빠 1400 13 03-05
4312 소프트웨어| 팁: VirtualBox 7의 Windows 10/11에서 NVMe 드라이버 활성... [3] VᴇɴᴜꜱGɪ 1188 9 03-05
4311 윈 도 우| 구글 검색 결과를 가장한 리다이렉션 광고 링크 제거하기 (... [11] 오호라7 4075 25 02-26
4310 하드웨어| USB 3.0 과 2.4GHz 간섭 문제 해결 - 동글을 연장선연결 [8] 메리아 3007 12 02-25
4309 윈 도 우| 윈도우 업데이트 다운로드 및 설치 오류 조치 [6] 미스라 3619 5 02-17
4308 소프트웨어| (ver 0.2.3, url 파일기능) 크롬/엣지에서 URL 드래그 드롭... [7] 메리아 2916 10 02-16
4307 모 바 일| 뉴진스 음악에서 보컬만 추출하기? 이거 하나면 끝!!! | mp... toz21 1891 0 02-14
4306 윈 도 우| IE 강제 실행 스크립트 + 탭 여러개 열기 [6] 녹색조각 2642 14 02-14
4305 기 타| 파이어 폭스 무설치 만들기 [17] 슈머슈마 1560 9 02-12
4304 윈 도 우| 향상된 윈도우 자동 로그인 On/Off 스크립트 [6] zerojiddu 2733 13 02-11
4303 소프트웨어| 현존 최강 무료 동영상 편집기 소개 및 활용법 안내 | 이게... [13] toz21 2675 7 02-11
4302 소프트웨어| Pecmd.ini 위치를 Windows폴더로 이동 [6] 카멜 751 10 02-10
XE1.11.6 Layout1.4.8