본문으로 바로가기

윈도우 wimboot

category Win Style/WinAll 2018. 7. 12. 17:11
반응형

참 오래전에 했던 거지만 자료를 찾다가 남겨둔다. 


윈도우8.1때 했던 것이나 10도 되고, 편법으로 7도 할 수 있다.


wimboot은 윈도우8.1 이상에서 사용할 수 있는 DISM을 활용한 윈도우설치 옵션이다.

SSD가 초기에 나왔을때 용량이 적고, 또한 일반 데탑이 아닌 미니노트북 같은 매체에서는 더욱이 적은 용량의 EMMC 나, 그런것들이 들어있기에

덩치 큰 윈도우가 자리잡고 있다면 프로그램추가설치나 데이타저장 공간이 줄어드는등 어려움이 많기 때문에 나온 방법이 아닌가 싶다.

요즘은 SSD도 1TB를 사용하는 마당에 이런 방법이 과연 큰 이점이 있는지는 의문이다. 

이 뒤로 /compact 라는 DISM 옵션도 생겼으나 거의 사용하지 않을 듯 싶다. 


저장공간의 효율적 활용이라는 점을 제외하고서, 한가지의 장점이 있다면 자식만들기가 아닌가 싶다.

그래봤자 1개 자식까지 더 만드는 게 되지는 않지많은,,


윈도우 최적설치 시점 0 - install.wim

오피스2013을 설치한 시점 - 부모 0의 자식 1 -custom.wim

이렇게 만들 수 있다.

아래는 그 절차적인 내용이니 참고해서..



1 wimboot용 윈도우8.1 소스이미지 추출


PE(설치하는 윈도우 버전보다 같거나 상위, 만약 윈도우10 install.wim이면, 윈도우10 PE 로 해야한다. 그렇지 않으면 윈도우앱 부분이 누락 될 수 있다)

로 부팅해서  통합이든 단일이든 install.wim 이미지에서 /wimboot 옵션을 주어추출한다. 추출한 WIM이름을 wimboot.wim 으로 예시.


아래는 설치본 기준으로 설명


dism /export-image /wimboot /sourceimagefile:D:\install.wim /sourceindex:1 /destinationimagefile:D:\wimboot.wim 


2 wimboot 이미지 설치


파티션C를 포맷하고, /wimboot 옵션을 주어 추출한 wimboot.wim을 C에 풀어준다. 스크래치폴더도 생성(필수아님) C:\Recycler\Scratch

 format c: /q /y

 bootsect /nt60 /mbr

 bootsect /nt60 c:


md C:\Recycler\Scratch

(굳이 스크래치폴더를 줄 필요는 없다, 스크래시 폴더를 SSD쪽으로 주면 속도가 좀더 빠를 수는 있겠지. 그래서 아래 /scratchDir~~부분은 생략해도 된다)


DISM /Apply-Image /ImageFile:"D:\wimboot.wim" /ApplyDir:C: /Index:1 /WIMBoot /ScratchDir:C:\Recycler\Scratch


C:\windows\system32\bcdboot c:\windows /l ko-KR


만능이미지를 다시 만들고자 할경우에 이 박스안에서와 같이 한다.


부팅후 계정생성부분에서 CTRL+SHIFT+F3 감사모드로 각종 프로그램설치

dism /cleanup-image /online /startcomponentcleanup

sysprep 봉인한다.


3 PE5.1부팅 CUSTOM.wim제작,d:\custom.wim


윈도우 설치후 각종 프로그램설치나, 드라이버등 설치후 의 상태를 하나의 시점으로 만든다.


DISM /Capture-CustomImage /CaptureDir:C: /ScratchDir:C:\Recycler\Scratch


D:\아래에는 wimboot.wim, custom.wim이 존재하게 된다.


결과적으로 설치본인 wimboot.wim 과 , 설치후 프로그램설치한 상태의 이미지 custom.wim 이 생성된다. 이 이름은 자동으로 custom.wim 이다.



4. 프로그램을 설치했던 시점으로의 복원


PE5.1 부팅후C 포맷 부트섹터수정 스크랫치폴더(필수는 아님)


dism /apply-image /imagefile:d:\custom.wim /swmfile:d:\wimboot.wim /applydir:c: /index:1 /wimboot


 c:\windows\system32\bcdboot c:\windows /l ko-KR


5 뼈대 위치 변경시


뼈대 위치 확인

DISM.exe /Get-WIMBootEntry /Path:C:\ 해서 윔붓C의 구성 wim 들의 위치  DataSourceID를 가져온다.

custom.wim wimboot.wim등 두개에서 가져왔다면

DatasourceID:0 DatasourceID:1 이렇게 각각되어있을것이므로 

만약 두개WIM을 Z로 옮겼다면

DISM.exe /Update-WIMBootEntry /Path:C:\ /DataSourceID:0 /ImageFile:Z:\custom.wim

DISM.exe /Update-WIMBootEntry /Path:C:\ /DataSourceID:1 /ImageFile:Z:\wimboot.wim


이렇게 주면 된다.



망고 작업이 아니라 설치후 만든   wimboot.wim 이라면 하나의  wim밖에 없으므로 DatasourceID:0 이 wimboot.wim의 값일것이다.


 

중국본 샘플이미지

http://pan.baidu.com/s/1eQxeu6A


======================================================



윈도우7  wimboot만들기

wof드라이버 넣기 레지및  sys

WimBootCompress.ini  를 system32아래 넣기.


그리고 대상 OS 캡쳐

DISM /Capture-Image /WIMBoot /ImageFile:d:\wimboot.wim /CaptureDir:C: /Name:"WIMBoot win7 x64"


대상  OS파티션 C포맷


 wimboot 적용

DISM /Apply-Image /ImageFile:Z:\wimboot.wim /ApplyDir:C: /Index:1 /WIMBoot


드라이브 수정

FixLetter.cmd /currentos:c


wimboot 소스위치 변경시 

DISM.exe /Update-WIMBootEntry /Path:C:\ /DataSourceID:0 /ImageFile:Z:\wimboot.wim


부팅불능시 

bcdedit /set testsigning on

bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS


Wimlib 방법

1. 캡쳐

wimcapture.cmd D:\ G:\wimboot.wim --wimboot


2. 적용

wimapply.cmd e:\wimboot.wim c:\ --wimboot


3. 필요시

wimlib-imagex update wimboot.wim 1 --command="add CustomWimBootCompress.ini \Windows\System32\WimBootCompress.ini"

반응형