같이사는 세상이야기

윈도우 8 기존 8PE, 8.1PE의 수정하는 방법 2개:

2014.08.23 10:52

대추사랑조회:1664 추천:7

제가 다음에 재사용할 것에 대비해서 작성해둔 글이기 때문에 글 자체가 경어체가 아닙니다.
이점을 양해 부탁드리며...


pe 부팅 후에 상태를 조정한 것을 다음에 부팅했을 때도 유지하고 싶다면...

레지스트리 감시&비교 도구인 레지샷(Regshot) 프로그램을 사용합니다.
상태 조정하기 전에 레지스트리를 1차 스캔하고, 조정 후에 2차 스캔하여 비교하면 변경한 현재 상태를 알 수 있습니다.

대개의 경우에 현재 계정의 상태는 HKEY_CURRENT_USER 키에 저장되고, 새로운 프로그램의 추가하는 경우에는
HKEY_LOCAL_MACHINE\SOFTWARE 키에 저장되는 경우가 많다는 것을 알 수 있습니다.

레지스트리가 저장된 파일의 경로는 Windows\System32\config 폴더입니다.
PE에서는 HKEY_CURRENT_USER 키에 해당하는 파일은 DEFAULT 이고, HKEY_LOCAL_MACHINE\SOFTWARE 키는 SOFTWARE 파일입니다.

그러므로 PE 부팅후의 변경된 상태가 HKEY_CURRENT_USER 키에 있으면 Windows\System32\config\DEFAULT 파일이 되겠습니다.
마찬가지로 HKEY_LOCAL_MACHINE\SOFTWARE 키에 저장된 상태면 Windows\System32\config\SOFTWARE 파일입니다.

그리고 레지스트리를 변경했더라도 거기에 지정한 값의 데이터가 지정한 위치에 없으면 PE의 상태가 변경되지 않습니다.
8.1PE의 경우에는 현재 계정인 x:\Users\Administrator 폴더가 boot.wim 상태에는 없습니다.
부팅되는 과정에서 기본 계정인 x:\Users\Default 폴더를 복사하여 x:\Users\Administrator 상태를 만드는 것으로 예상됩니다.
그러니 작업 대상 폴더는... 
앞서 조정한 상태의 결과가 현재 계정에 저장되면 작업할 대상 폴더는...
x:\Users\Administrator ==> boot.wim 마운트\Users\Default 폴더가 되겠습니다.


**** 아래의 작업을 하기전에 boot.wim을 백업해두는 것을 잊지 말아야 합니다.


적용 사례 1: 8PE에서 시작메뉴에 최근 파일 고정시키는 방법:
----------------------------------------------------------------
아시다시피 윈도우8에 시작메뉴가 없습니다.
8PE에서 사용하는 시작메뉴는 윈도우7의 시작메뉴를 빌려온 것입니다.
당연히 8PE 에서 시작메뉴의 최근파일도 상태를 저장하는 레지스트리 항목도 없습니다.
그러니 boot.wim 내부에 시작메뉴 최근 파일목록이 저장되는 폴더에 바로가기 파일을 넣어주어도 시작메뉴를 호출해도 변화가 없습니다.
 (대상 폴더: boot.wim\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu 폴더)
그럼 어떻게 해야 하는가?

그동안 포럼에 올라온 것은 외부 프로그램을 이용하여 최근파일 목록을 고정시키는 것을 보았습니다.
하지만 외부 프로그램을 사용하지 않고 윈도우 내장 기능을 사용하는 방법이 있습니다.

윈도우 7에서 바로가기 파일의 우클릭_메뉴에 "시작메뉴에 고정" 항목을 선택하면 시작메뉴에 고정되는 상황을 알고 있습니다.
이때 바로가기 파일은 위에서 설명한 "대상 폴더"에 들어가고 그 상태가 레지스트리에 저장됩니다.
(레지 위치: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2)

하지만 앞에 설명했다시피 윈도우8에서는 그 레지 키가 없습니다.
그러므로 윈도우7의 레지에서 해당 키를 저장하고 8pe boot.wim 의 내부 Windows\System32\config\DEFAULT 파일에 넣어주면 부팅되는 순간에 시작메뉴에 고정된 바로가기 파일의 목록을 볼 수 있습니다.
당연히 위에 설명한 "대상 폴더"에 바로가기 파일도 넣어주어야 합니다.

그럼 윈도우7 시스템이 없으면 작업하지 못하는가?
당연히 방법이 있습니다.
다른분이 만든 pe에서 고정된 부분만 빌려오면 됩니다.
빌려오는 대상이 %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu 폴더의 바로가기 파일과, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 키 항목입니다.
StartPage2 키 항목에서 이진값인 Favorites 항목에 고정된 바로가기 목록과 순서가 저장되어 있습니다.
이것을 나의 PE에 이식하면 시작메뉴에 고정된 목록이 보입니다.

그렇지만 나의 PE 환경이 빌려온 부분과 일치하지 않으면 고정된 목록이 제대로 작동하지 않을 것입니다.
바이너리 값은 텍스트 에디터로 값의 수정이 불가능에 가깝다. 하지만 8pe 부팅 상태에서는 비교적 쉽게 수정이 가능합니다.

고정된 목록 변경하는 방법:
-----------------------------
자료가 없는 분을 위한 샘플1:

1) 키보드를 사용하여 시작 버튼을 누른다.
2) 커서를 변경하고자 하는 바로가기 항목으로 이동하여 F2 키를 누른다.
3) 원하는 이름으로 변경합니다.
   결과: %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu 폴더에 해당하는 바로가기 파일의 이름이 변경되어 있습니다.
4) 당연히 이름만 변경되었지, 알맹이는 다르다. 이제 알맹이를 이름에 부합하는 나의 것으로 바꾸어 준다.
    즉 해당하는 바로가기 파일을 나의 것으로 바꾸어 준다.
5) 이렇게 1~4 과정을 되풀이 하여 목록의 전부를 변경합니다.
6) 변경한 %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu 폴더를 boot.wim 파일에 넣어준다.
7) 레지스트리 편집기를 열고 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 키를 내보내기하여 레지 파일로 만든다.
8) 만든 레지 파일을 텍스트 에디터에 불러와서 편집합니다. 해당 키의 Favorites 값과 FavoritesVersion 값을 제외한 모든 항목을 삭제합니다.
9) boot.wim 내부의 Windows\System32\config\DEFAULT 파일을 레지스트리 편집기에서 하이브 로드하여 해당하는 위치에 넣어주고, 하이브 언로드합니다.

이렇게 수정한 boot.wim을 부팅해보면 결과가 마음에 들 것입니다.


적용 사례 2: 8.1PE에서 바탕화면 배경그림의 자동 변경:
----------------------------------------------------------
그동안 8.1PE 에서 배경그림의 자동변경시키는 프로그램을 두고 약간의 트러블이 있는것을 보았습니다.
윈도우 자체에 해당하는 기능이 있는데 왜 외부 파일을 사용하는가?

8PE에서는 Windows\System32\SearchFolder.dll 파일을 넣어주고, Windows\Resources\Themes\aero.theme 파일의 끝에 문자열을 추가하면 됩니다.

추가하는 문자열:
[Slideshow]
Interval=1200000
Shuffle=0
ImagesRootPath=%SystemRoot%\Web\Wallpaper\Windows
Item0Path=%SystemRoot%\Web\Wallpaper\Windows\img0.jpg
Item1Path=%SystemRoot%\Web\Wallpaper\Windows\img1.jpg
Item2Path=%SystemRoot%\Web\Wallpaper\Windows\img2.jpg
Item3Path=%SystemRoot%\Web\Wallpaper\Windows\img3.jpg

Interval=1200000 20분마다 배경그림 변경.
그림 숫자는 제한이 없습니다. 그러나 여기의 목록과 %SystemRoot%\Web\Wallpaper\Windows 폴더의 파일명과는 일치해야 합니다.


그렇지만 8.1PE에서는 같은 과정을 거쳐도 배경그림이 바뀌지 않습니다.
이제 그 대책입니다.
윈도우7의 테마중 하나인 풍경 테마를 빌려온다.
빌려올 항목:
1) Windows\Resources\Themes\landscapes.theme 파일
2) Windows\Web\Wallpaper\Landscapes 폴더

여기서도 자료가 없는 분을 위한 샘플2:

8pe 처럼 여기서도 landscapes.theme 파일을 수정합니다. 내용의 대상은 다음과 같습니다.
[Slideshow]
Interval=900000
Shuffle=0
ImagesRootPath=%SystemRoot%\Web\Wallpaper
Item0Path=%SystemRoot%\Web\Wallpaper\Landscapes\img1.jpg
Item1Path=%SystemRoot%\Web\Wallpaper\Landscapes\img2.jpg
Item2Path=%SystemRoot%\Web\Wallpaper\Landscapes\img3.jpg
Item3Path=%SystemRoot%\Web\Wallpaper\Landscapes\img4.jpg
Interval=900000 부분과 이미지 목록 부분입니다. 즉 좋아하는 변경 인터벌과 그림종류로 바꿔줍니다.

이제 변경한 landscapes.theme 파일과 Landscapes 폴더를 8.1pe의 boot.wim 파일에 넣어줍니다.


8.1pe 부팅한 상태에서 테마를 변경할 차례입니다.

1) 레지샷(Regshot) 프로그램 실행하고, 1차 HKEY_CURRENT_USER 스캔 선택합니다.
2) 위에서 변경한 landscapes.theme 파일을 더블클릭합니다.
3) 바탕화면이 변경되고, 바탕화면 우클릭, "다음 바탕 화면 배경" 눌러서 제일 좋아하는 배경그림이 나타나면, 레지샷(Regshot)에서 2차 스캔합니다.
4) 동시에 x:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Themes 폴더를 백업합니다.
    백업한 폴더는 boot.wim 마운트\Users\Default\AppData\Roaming\Microsoft\Windows\ 폴더내에 Themes 폴더로 넣어줌.
5) 레지샷(Regshot)에서 비교한 결과 레지_파일을 텍스트편집기에 불러와서 수정합니다.
    파일 내용의 문자열 중에서 시스템 계정 폴더를 지칭하는 문자열을 수정해야 합니다.

바꾸기 대상 문자열과 바꿀 문자열:
x:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Themes => %AppData%\Microsoft\Windows\Themes
x:\Windows\Resources\Themes\landscapes.theme => %SystemRoot%\resources\Themes\landscapes.theme

6) 레지스트리 편지기를 실행하고, 현재 위치를 HKEY_LOCAL_MACHINE 키 둡니다.
7) 메뉴-하이브 로드 선택합니다. 대상 파일은 boot.wim 마운트\Windows\System32\config\DEFAULT 파일입니다.
8) 하이브로드 창에서 키이름을 1입력합니다. (나는 간단한 것이 좋아!!!)
9) 5) 순서의 문자열 바꾸기 상태에서 HKEY_CURRENT_USER => HKEY_LOCAL_MACHINE\1 교체하고 저장합니다.
10) 저장한 레지 파일을 더블클릭하여 값을 HKEY_LOCAL_MACHINE\1 키에 병합합니다.
11) 레지 편집기 메뉴-하이브 언로드 선택합니다.

이제 마운트한 BOOT.WIM 을 적용/언마운트하고 리부팅하여 결과를 본다.
바탕화면이 지정한 시간에 자동으로 변경하는것을 볼 수 있습니다.

'window 강좌 > WINPE' 카테고리의 다른 글

DISM 명령으로 pe 수정  (2) 2016.03.25
Dream PE SP2 by Taemis ISO Rev2 사용기  (0) 2014.10.03
Windows 8.1 Dream PE SP1 프린터설정법  (0) 2014.09.13