강좌 / 팁

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

2023.01.18 17:46

zerojiddu 조회:4399 추천: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 - - -
4332 윈 도 우| 파일을 디펜더가 차단할때, 파워쉘로 허용시키기 new zerojiddu 41 0 14:43
4331 윈 도 우| 강제로 Internet Explorer 열기 스크립트 [8] update 사랑이7 572 12 02-05
4330 윈 도 우| 윈도우11 $OEM$소스 및 WinNTSetup 응용 설치! [29] update 무월 1323 46 02-03
4329 윈 도 우| 윈도우 부팅시 신용카드 정보를 요구할때 넘어가기 [5] 고장난우주 1436 1 02-01
4328 기 타| 볼륨명 찾기 막판 - 종합 쓰임새 중 1 - 주절주절 [1] 코코당 280 5 02-01
4327 기 타| 이동식 하드 디스크 알아야 될때는 ? - 볼륨명 찾기 3 코코당 362 2 01-31
4326 기 타| 이동식 하드 디스크 알아야 될때는 ? - 볼륨명 찾기 2 [1] 코코당 242 2 01-31
4325 기 타| 이동식 디스크 볼륨명을 알아야 될때는 ? - 볼륨명 찾기 1 [1] 코코당 300 2 01-31
4324 윈 도 우| 감춰진 모든 고급 전원옵션 표시하기 [4] zerojiddu 1065 13 01-30
4323 윈 도 우| 특정 폴더 내 임의 파일/폴더 선택 배치 함수 [11] 지후빠 436 14 01-29
» 윈 도 우| 프로그램 필요없이, 윈도우 설치 USB 만들기 [15] zerojiddu 4399 27 01-18
4321 기 타| CMD BAT 를 UTF8 모드로 사용 [13] 입니다 1302 21 01-16
4320 윈 도 우| 폴더 깊이 제한하여 파일,폴더 찾기 배치 함수 [11] 지후빠 1002 15 01-12
4319 윈 도 우| 배치파일 명령어 > nul 2>&1 해석 [6] 컨피그 844 11 01-11
4318 윈 도 우| BCD 백업 및 복구 프로그램 입니다 [14] 지룡자 2014 39 01-10
4317 하드웨어| Windows 11에서 Realtek 오디오 드라이버를 쉽게 수정하는 ... [6] VᴇɴᴜꜱGɪ 2172 7 01-04
4316 하드웨어| USB 키패드를 매크로 키패드로 사용하기 [7] 지후빠 1272 14 01-02
4315 윈 도 우| 삭제할수 없는 시스템 앱, 삭제 방법 [8] zerojiddu 2514 13 01-01
4314 소프트웨어| Wise care 365 사용시 주의점 [6] update heykevin 1975 8 12-30
4313 윈 도 우| 포맷없이 , diskpart 작업 없이 기존 디스크에 EFI 파티션 ... [13] heykevin 2395 19 12-30
XE1.11.6 Layout1.4.8