윈 도 우 프로그램 필요없이, 윈도우 설치 USB 만들기
2023.01.18 17:46
많이들 써 보셨을건데,
그냥 윈도우에 있는 명령어만으로
파워쉘에서 실행되는 스크립트로 짜봤습니다.
사전에 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
전 사전의 포맷을 해놨고, 포맷은 스크립트에 넣지 않았습니다.
++스크립트 진행과정 스샷++
I.SO 파일위치를 좀더 편하게 GUI 화면으로 찾아 입력하게 명령어를 넣었습니다.
설치를 원하는 윈도우 .ISO 파일을 열면 자동으로 가상 DVD로 마운트됩니다.
그리고 또 한번 임시 복사할 원하시는 폴더를 지정해주면,
robocopy 명령어로 마운트된 .ISO내 모든 파일을 임시폴도에 복사합니다.
그리고 포맷 준비된 USB 드라이브 문자를 적어주면,
그 USB 드라이브를 부팅가능하게 만들고,
Dism 명령어로 파일크기가 큰 install.wim을
부팅 USB에 넣을 크기로 쪼갠뒤(install.swm, install2.swm)
기존 install.wim은 삭제한뒤,
쪼갠 .swm을 포함한 모든 .ISO내 파일들을 USB로 복사합니다.
robocopy로 USB로 복사중 과정인데,
젤 밑의 쪼갠 install.swm, install2.swm 보이시죠?
install.wim을 삭제해도 저것만 있으면 됩니다.
이렇게 복사가 끝나면,부팅가능한 윈도우 설치 USB가 만들어집니다.
나머지 노란색 메세지들은
임시로 만들었던 폴더를 싹 삭제하는 과정입니다.
작업 찌꺼기를 없애는 거죠.
확인해보면 저렇게 잘 복사됐있고,
이제 부팅때 필요하면 윈도우 설치에 쓰면 됩니다.
댓글 [16]
-
cungice 2023.01.18 19:48
-
샤 2023.01.18 20:12
수고하셨습니다.
-
우인 2023.01.18 21:59
감사합니다.
-
parannara 2023.01.18 23:58
수고 많으십니다.
-
상발이 2023.01.19 06:20
수고하셨습니다.
-
컨피그 2023.01.19 07:25
감사합니다
파워쉘 잘 다루시네요
swm 으로 분할할 때 fat32 에서 인식 가능한 최대 크기가 4095 라고 알고 있는데 3500 으로 잡으셨네요
적당한 크기로 잡으신듯
파워쉘 공부용 스크립트로도 좋아보이네요
앞으로도 종종 간단한 거라도 코드 예제들 많이 보여주시면 많은 도움 될 거 같습니다. -
zerojiddu 2023.01.19 08:56 저도 감사합니다.
스크립트 내용까지 자세히 보신거 같아 저또한 좋습니다. -
신신라면 2023.01.20 22:22
수고 많으셨어요.
-
REFS 2023.01.21 07:54
수고하셨습니다..
-
엔돌핀 2023.01.23 04:14
수고하셨습니다
-
casanova 2023.01.23 13:41
수고많으셨습니다...^^
-
네이밍 2023.01.24 21:35
USB를 diskpart진행하고 열기하여 전체내용을 복사하여 디스크파트 진행된 usb에 붙여넣기하여 mbr 파티션 테이블로 설치하고 사용한 적이 있는데 요즘은 안되나 되나 모르겠네요 어느 지식인분이 그게 가능한거냐고 물어보길래 방금 테스트하고 설치해봤다고 한 생각까지 납니다 -
zerojiddu 2023.01.25 05:01 diskpart로 진행하고.. 가
usb 포맷을 말하는거 같은데
당연히 diskpart 로 포맷이 돼죠.
전 파워쉘 format-volume 명령어로 젤위 스샷처럼
mbr 설정 따로 안하고 FAT32 파일시스템만 정해주면
아무 문제가 없었어요.
마운트된 .iso 설치파일 전체를 바로 usb에 복사하면
에러가 생겼어요.
1. install.wim 단일파일 크기가 5기가쯤 돼서 fat32 파일제한에 걸리구요.
2. install.wim 이 읽기전용 속성으로 돼 있어 복사가 안되요.
그래서 C 드라이브로 옮겨서 1. 쪼개고 2. 읽기전용 속성해제한뒤
usb로 복사하니 에러가 없었어요.
제가 님 댓글을 이해한게 맞나요?
-
새하얀구름 2023.01.25 13:30
MBR로 하면 듀얼 부팅 가능하고
GPT로 해서 FAT32 로 포맷해서 붙혀넣어서 만들어도 부팅디스크 됩니다.
설치이미지는 아니여도 PE 해당 방식으로 만들어서 잘 쓰고 있습니다.
-
songha 2023.01.25 13:01
수고하셨습니다
-
lime 2023.09.13 20:57
몇개를 계속 새로 설치한 경우 각각 SID 도 변경이 될까요 ?
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4283 | 소프트웨어| [펌]VirtualBox 로컬 드라이브 연결하기 [2] | 타천사둘리 | 1446 | 9 | 03-23 |
4282 | 윈 도 우| PC 나 노트북 종료시 전원차단 안 될 때 조치방법 [6] | 타천사둘리 | 2982 | 6 | 03-21 |
4281 | 윈 도 우| Wifi 패스워드 (종료!!!) [27] | kernel | 6222 | 19 | 03-12 |
4280 | 소프트웨어| 배치파일로 2GB 이상 계산과 batch hybrid [7] | 지후빠 | 1465 | 13 | 03-05 |
4279 | 소프트웨어| 팁: VirtualBox 7의 Windows 10/11에서 NVMe 드라이버 활성... [3] | VᴇɴᴜꜱGɪ | 1236 | 9 | 03-05 |
4278 | 윈 도 우| 구글 검색 결과를 가장한 리다이렉션 광고 링크 제거하기 (... [11] | 오호라7 | 4158 | 26 | 02-26 |
4277 | 윈 도 우| 윈도우 업데이트 다운로드 및 설치 오류 조치 [6] | 미스라 | 3724 | 5 | 02-17 |
4276 | 모 바 일| 뉴진스 음악에서 보컬만 추출하기? 이거 하나면 끝!!! | mp... | toz21 | 1974 | 0 | 02-14 |
4275 | 윈 도 우| IE 강제 실행 스크립트 + 탭 여러개 열기 [5] | 녹색조각 | 2864 | 14 | 02-14 |
4274 | 기 타| 파이어 폭스 무설치 만들기 [17] | 슈머슈마 | 1628 | 9 | 02-12 |
4273 | 윈 도 우| 향상된 윈도우 자동 로그인 On/Off 스크립트 [6] |
|
2841 | 13 | 02-11 |
4272 | 소프트웨어| 현존 최강 무료 동영상 편집기 소개 및 활용법 안내 | 이게... [13] | toz21 | 2778 | 7 | 02-11 |
4271 | 소프트웨어| Pecmd.ini 위치를 Windows폴더로 이동 [6] | 카멜 | 813 | 10 | 02-10 |
4270 | 윈 도 우| 파일을 디펜더가 차단할때, 파워쉘로 허용시키기 [7] |
|
1823 | 14 | 02-06 |
4269 | 윈 도 우| 강제로 Internet Explorer 열기 스크립트 [13] | 사랑이7 | 3186 | 21 | 02-05 |
4268 | 윈 도 우| 윈도우11 $OEM$소스 및 WinNTSetup 응용 설치! [40] | 무월 | 3640 | 51 | 02-03 |
4267 | 윈 도 우| 윈도우 부팅시 신용카드 정보를 요구할때 넘어가기 [5] | 고장난우주 | 2505 | 1 | 02-01 |
4266 | 윈 도 우| 감춰진 모든 고급 전원옵션 표시하기 [4] |
|
2260 | 13 | 01-30 |
4265 | 윈 도 우| 특정 폴더 내 임의 파일/폴더 선택 배치 함수 [10] | 지후빠 | 780 | 16 | 01-29 |
» | 윈 도 우| 프로그램 필요없이, 윈도우 설치 USB 만들기 [16] |
|
5800 | 27 | 01-18 |
수고 많으셨습니다.