강좌 / 팁

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

2023.01.18 17:46

zerojiddu 조회:5641 추천: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 - - -
1901 윈 도 우| 구글 검색 결과를 가장한 리다이렉션 광고 링크 제거하기 (... [11] 오호라7 4058 25 02-26
1900 윈 도 우| 윈도우 업데이트 다운로드 및 설치 오류 조치 [6] 미스라 3604 5 02-17
1899 윈 도 우| IE 강제 실행 스크립트 + 탭 여러개 열기 [6] 녹색조각 2592 14 02-14
1898 윈 도 우| 향상된 윈도우 자동 로그인 On/Off 스크립트 [6] zerojiddu 2703 13 02-11
1897 윈 도 우| 파일을 디펜더가 차단할때, 파워쉘로 허용시키기 [7] zerojiddu 1720 14 02-06
1896 윈 도 우| 강제로 Internet Explorer 열기 스크립트 [13] 사랑이7 2801 20 02-05
1895 윈 도 우| 윈도우11 $OEM$소스 및 WinNTSetup 응용 설치! [40] 무월 3441 49 02-03
1894 윈 도 우| 윈도우 부팅시 신용카드 정보를 요구할때 넘어가기 [5] 고장난우주 2398 1 02-01
1893 윈 도 우| 감춰진 모든 고급 전원옵션 표시하기 [4] zerojiddu 2120 13 01-30
1892 윈 도 우| 특정 폴더 내 임의 파일/폴더 선택 배치 함수 [10] 지후빠 684 16 01-29
» 윈 도 우| 프로그램 필요없이, 윈도우 설치 USB 만들기 [16] zerojiddu 5641 27 01-18
1890 윈 도 우| 폴더 깊이 제한하여 파일,폴더 찾기 배치 함수 [11] 지후빠 1262 15 01-12
1889 윈 도 우| 배치파일 명령어 > nul 2>&1 해석 [6] 컨피그 1226 12 01-11
1888 윈 도 우| BCD 백업 및 복구 프로그램 입니다 [14] 지룡자 2767 41 01-10
1887 윈 도 우| 삭제할수 없는 시스템 앱, 삭제 방법 [8] zerojiddu 3492 13 01-01
1886 윈 도 우| 포맷없이 , diskpart 작업 없이 기존 디스크에 EFI 파티션 ... [13] heykevin 3373 23 12-30
1885 윈 도 우| Chromium 기반 브라우저 OS 지원 종료 예정 알림 제거 자동... [8] 녹색조각 1640 15 12-29
1884 윈 도 우| IP 주소 변경 배치(DSN/WINS) [20] 무월 3542 30 12-28
1883 윈 도 우| Microsoft Update 카탈로그 (업데이트 항목 . 빨리 받아 적... [3] heykevin 1387 7 12-28
1882 윈 도 우| 장치 드라이버 업데이트 파워쉘로 확인하기 [1] zerojiddu 1506 7 12-22
XE1.11.6 Layout1.4.8