오늘은 저번에 알아보았던 xperf에 대해 추가사항을 알아보겟습니다.
windows performance toolkit을 설치 후에 다음 프로그램이 설치되어집니다.
xperf.exe - 성능을 받을 수 있는 command 프로그램
xbootmgr.exe - 부팅 시에 성능을 받을 수 있는 프로그램
xperfview.exe - 수집한 성능을 GUI로 확인할 수 있는 프로그램
이 중 오늘 알아볼 프로그램은 xbootmgr.exe에 대해 알아보도록 하겠습니다.
xbootmgr -help를 치면 다음과 같은 도움창이 나온다.
해당 xbootmgr의 옵션 중 몇가지 옵션에 대해 알아보도록 하겠습니다.
(1) -trace
: boot | hibernate | stanby | shutdown | rebootCycle
성능 수집 시 수집할 정보를 의미하며 Gathering할 시나리오에 따라 선택해 준다.
Option
(1) -numRuns Num (default : 1)
: 성능 정보를 받을 횟수 (default : 1회)
(2) -resultPath Path (default : Current Directory)
: 결과 저장 Folder를 의미하며 현재 디렉토리가 Default Directory이므로 굳이 사용하지 않아도 됩니다.
(3) -traceFlags Flags (default : BASE+CSWITCH)
: 성능 정보를 받을 Flag 정보
해당 Flag 정보는 xperf -help providers를 치면 제공되는 Providers에 대한
Flag정보를 확인 할 수 있다.
위의 그림과 같이 Provider의 Group을 제공하고 있으며 제공하는 상세 리스트는 다음 명령어를 수행하면 됩니다.
xperf -providers [Providers Group 명]
예를 들어 Kernel Group에서 제공하는 옵션 리스트에 대해 알아보겠습니다.
위와 같이 다양한 값이 있으며 해당 그룹을 입력하면 해당 값들을 바탕으로 수집되어 집니다.
xbootmgr -traceflags [옵션 값]을 치면 해당 값에 대해 값을 Gathering을 하게 됩니다.
예를 들어 Latency에 MEMINFO를 추가하기 위해서는 다음과 같이 수행합니다.
xbootmgr -traceflags Latency+MEMINFO
(4) -prepSystem (default : boot/rebootCycle Traces Only)
(5) -postBootDelay (default : 120 Seconds)
: booting 후 성능 Data를 수집하는 시간을 의미합니다.
(6) -stackWalk (default : no stackwalk filter enabled)
: Stack 추적을 사용할 수 있는 옵션
(xperf -help providers KS 에 stack walk flags의 리스트를 확인할 수 있음)
위의 항목을 바탕으로 Rebooting 시나리오를 가정하고 3번의 성능 Data를 수집하도록 하겠습니다.
(Call Stack 확인을 위해 stackWalk 옵션도 추가하겠습니다.)
xbootmgr -trace rebootCycle -traceflags Latency+MEMINFO -prepSystem -stackWalk Profile
다양한 옵션을 제공하기 때문에 상황에 맞춰 정보를 Gathring 하면 됩니다.
Hyper-V에는 CPU가중치를 줄 수 있는 기능이 있다.
가상 컴퓨터 예약
- 예약하는 가중치를 의미합니다. 즉, CPU 전체 사용량 중 기본적으로 예약할 값을 의미합니다. 예를 들어 5대의 VM이 있는데 4대에 25%씩을 할당하면 5대의 VM에는 예약을 걸 수 없습니다.
총 합이 100%가 되면 더이상 예약을 할 수 없습니다.
중요한 Server에 할당해야하는 경우 사용하는 것을 권고 합니다.
가상 컴퓨터 제한
- 제한은 최대한도를 의미합니다. Test 서버와 같이 CPU 사용에 제한을 걸어야하는 경우에 해당 제한을 주면 최대값을 제한할 수 있습니다.
상대적 가중치
- CPU 할당에 있어 경합이 일어나는 경우 상대적 가중치를 의미합니다. 사용하는 VM들을 확인하여 중요 서버와 중요하지 않은 서버를 구분하여 가중치를 조정해 관리하는 것을 권장합니다.
위와 같이 CPU 가중치를 조정하여 관리하면 효율적인 관리 할 수 있습니다.
오늘은 Windows 2003 Quorum 오류 해결 중 물리 Disk Fault에 대해 알아보도록 하겠습니다.
논리적으로 깨진 경우에 대해서는 다음에 설명하도록 하겠습니다.
물리 Disk가 Fault난 경우에는 해당 Disk를 교체 해야합니다.
하지만 Quorum 정족수가 부족한 경우에는 Cluster Service 자체가 실행되지 않기 때문에 교체 후에도 Cluster Service가 올라오지 않습니다.
Quorum없이 강제로 실행하는 명령어를 수행하여 우선 Quorum 없이 Service를 기동시킵니다.
net start clussvc /Fixquorum
해당 명령어를 수행하면 쿼럼 디스크 없이도 Service가 올라옵니다.
우선 서비스가 올라온 경우 Master Node를 제외한 Node는 Node 제거를 수행합니다.
해당 Node 삭제 후 신규 Quorum Disk에 Local Quorum Data를 copy합니다.
(Local Quorum은 C:\Windows\Cluster의 MSCS 폴더입니다.)
해당 MSCS 폴더를 Q(witness Quorum Disk)에 Copy한 후 해당 Q 디스크를 리소스에 추가해 줍니다.
(기존 Q디스크가 Disk Q라고 등록되어 있기 때문에 Imsi Q라고 명명합니다.)
Imsi Q를 생성하기 전에는 Disk Q는 주 노드의 리소스이기 때문에 삭제가 되지 않지만 Imsi Q를 생성한 후에는 해당 리소스가 삭제되어짐을 확인할 수 있습니다.
해당 리소스 삭제 후 Imsi Q의 이름을 Disk Q로 변경한후 해당 서버를 리부팅 하면 서비스가 정상적으로 기동됨을 확인할 수 있습니다.
오늘은 지식 전달이라기 보다는
제 개인적으로 하고 있는 내용 전달을 해볼까 합니다.
현재 1대의 Server(일반 PC한대 사서 Server로 구성)를 구성하여 Hyper-V 서버를 올려두었습니다.
이 안에 현재 구성한 내용은 다음과 같습니다.
AD1(File Service)
AD2(WDS, DHCP)
MSCS1(SQL Server 2008 R2)
MSCS2(SQL Server 2008 R2)
SCCM(System Center Configuration Manager 설치 예정)
Win7(WDS 서비스를 통해 Client 배포)
Win8(Win8 Test 용)
현재 계획하고 있는 내용은 다음과 같습니다.
DPM - 현재 올라가 있는 VM에 대한 백업 적용
SCOM - 현재 올라가 있는 VM들에 대한 모니터링 적용
Exchange Server
TMG - 방화벽 서비스
흠 이정도면 Platform 쪽을 전부 구성해볼 수 있는거 같아서 올려서 Test 해보려고 합니다.
적용 후엔 개발쪽 Sharepoint랑 기타 프로그램을 올려보려고 합니다.
정말 MS 제품군들은 뭔가 많네요 ^^
하나의 물리서버에 Hyper-V를 올리고 여러개의 서버를 Test해보기로 하고 서버를 구성해보았습니다.
1단계로 이해해야하는 부분은 공유기에서 네트워크를 할당하는 부분에 대한 이해가 필요하고 2단계로 이해해야하는 부분은 Hyper-V에서 네트워크 구성이 어떻게 되는지에 대해 알아야합니다.
이번에는 그 두가지에 대해 알아보겠습니다.
1. 공유기에서 네트워크 할당
PC를 1대만 사용하는 경우나 IP를 구입하여 사용하지 않는 경우 IP를 변동되지 않게 하기 위해서는 공유기를 사용해야합니다.
(일반적으로 PC는 리부팅을 종종 하게 되며 리부팅을 하는 경우 IP가 리셋되지만 공유기는 일반적으로 리스타트를 하지 않기 때문에 IP를 한번 받으면 그대로 사용하는 경우가 많습니다.)
최근의 공유기에서는 Twin 설정이 있습니다.
즉 물리적 MAC주소에 공용 IP를 할당하는 개념입니다.
즉 통신업체에서 IP를 개개인에게 할당하는데 해당 IP는 공용IP입니다.
이 공용 IP를 공유기에 연결한 서버의 NIC중 하나의 NIC의 MAC과 Mapping을 시켜주면 해당 NIC에 실제 통신업체의 라인을 연결하여 할당하는 것과 같은 개념이 되는 겁니다.
이런 Twin 설정을 사용할 서버에 Mapping 시켜줍니다.
(제 공유기는 Iptime 제품입니다.)
위의 그림을 보면 F4라는 Mac주소와 할당된 IP가 연동됨을 알 수 있습니다.
추가로 원격 데스크탑을 사용하기 위해서는 포트 포워드 설정을 해주어야합니다.
그리고 DHCP 설정을 합니다.
여기서 중요한 것은 사용할 PC에 IP는 고정으로 주어야하므로 1개의 IP는 고정으로 사용한다고 생각하시면 됩니다.
192.168.0.2 IP를 서버에 할당하기로 하였으며 해당 IP를 고정 IP로 할당합니다.
(해당 작업은 Hyper-V 네트워크 구성후 할 것이기 때문에 잠시 후에 설명드리겠습니다.)
이렇게 하는 이유는 공유기가 할당하는 내부 DHCP IP와 공용 IP가 Mapping되어야 하기 때문입니다.
2. Hyper-V 네트워크 설정
Hyper-V의 네트워크는 External, Internal, Private 3가지 종류가 있습니다.
그중 외부 네트워크를 사용하는 External의 경우에 External을 구성하는 경우 논리적인 네트워크가 생깁니다.
실제 물리 카드를 열어보면 가상 스위치 역할만 합니다.
위와 같이 가상 스위치 역할을 하게 되며 논리적으로 네트워크 카드가 생깁니다.
실제 사용하는 카드는 위의 그림에서 로컬 영역 연결3가 됩니다.
해당 카드에 아까 Reserve해둔 IP를 할당합니다.
이제 공용 IP와 논리 IP가 Mapping되었으므로 인터넷이 정상적으로 됩니다.
추가로 혹시 Windows 2008 R2 SP1 설치 후 원격 데스크탑 서비스가 죽어 접속이안되는 경우
http://tmkilla.com/2012/04/windows-server-2008-r2-rdp-connection-error-sp1-kb2667402/
해당 Blogging 참고 바랍니다.
내용은 kb2667402 패치를 SP1 전에 하면 원격 데스크탑 서비스가 죽는 버그입니다.
해당 kb2667402를 삭제하면 정상적으로 됩니다.
Hyper-V에는 Snapshot이라는 개념이 있습니다.
해당 개념은 말그대로 지금 순간을 저장해 두는 개념입니다.
Windows Update나 작업 전에 Snapshot을 저장해 두고 작업이 비정상으로 끝난 경우에 원복을 할 수 있는 유용한 개념입니다.
간혹 해당 기능을 Backup 기능으로 사용하는 경우가 있는데 Backup의 개념은 아니므로 Backup과는 별개의 개념으로 생각해야 합니다.
Disk 구성은 다음과 같습니다.
- VHD : 원본 파일 처음 저장된 Data가 저장되어 있음
- AVHD : 변경된 내용이 저장되어 있는 파일
이렇게 두 개의 파일이 저장하고 있는 내용이 틀리기 때문에 두 파일 중 하나의 파일이 없는 경우 Data 적합성에 이슈가 있습니다.
SnapShot 적용은 다음과 같이 적용합니다.
해당 VM에서 마우스 오른쪽을 눌러 스냅숏을 누르면 스냅숏이 받아집니다.
처음 화면입니다.
이번에 Test할 시나리오는 다음과 같습니다.
바탕화면에 Test Folder 생성 후 Snapshot을 받고 Test 파일 생성 후 Snapshot을 받을 예정입니다.
받은 Snapshot으로 되돌아가기 Test 후 최종적으로 Snapshot을 없애고 Merge하는 작업을 진행하겠습니다.
우선 처음 화면에 대해 Snapshot을 받는 과정입니다.
스냅숏을 선택하면 VM의 상태 Tap에 스냅숏 만드는 중이 뜨게 됩니다.
그리고 만든 후 해당 VM의 정보에 받힌 스냅숏의 정보(받은 시간)이 Display 되어집니다.
TEST Folder를 생성합니다.
Test.txt를 생성한 후 2번째 Snapshot을 받습니다.
Snapshot을 받은 후에는 VHD 파일이 아닌 현재 생성된 AVHD파일이 디스크에 Attach되어 있는 것을 확인할 수 있습니다.
처음 설명드린 대로 변경사항을 AVHD에 저장하기 때문에 원본파일인 VHD 파일이 아닌 AVHD 파일이 Attach되어 변경사항을 기록하게 됩니다.
해당 Snapshot에서 마우스 오른쪽을 눌러 원하는 Snapshot을 적용하면 해당 Snapshot상태로 돌아가게 됩니다.
첫번째 받은 Snapshot상태로 돌아가 있음을 확인할 수 있습니다.
Merge를 하기 위해서는 Snapshot의 최상단에서 스냅숏 하위 트리 삭제를 선택하면 모든 Snapshot이 삭제되어 집니다.
해당 Snapshot을 삭제 후 해당 Server를 시스템 종료하면 아래 그림과 같이 병합이 진행되어 집니다.
병합 진행이 완료되어 지면 위와 같이 기존의 AVHD가 아닌 병합된 VHD가 Attach되어 있음을 확인할 수 있습니다.
서버에 접속해보면 최종 적용되어진 내용이 보여짐을 확인할 수 있습니다.
위와 같이 최종 화면이 보임을 알 수 있습니다.
Snapshot의 경우 변경사항이 저장되어지기 때문에 변경사항만큼의 Data가 추가로 기록되게 됩니다.
추후 관리에 있어 디스크가 부족할 수 있으므로 작업 완료후에는 반드시 Snapshot을 삭제한 후 Merge작업을 통해 VHD로 관리하도록 진행해야 합니다.
만일 디스크 부족 시 AVHD를 삭제하게되면 최종 본으로 복구가 불가능 하며 Booting 이슈로 인해 OS가 재시작 될 수 없습니다.
위의 Merge작업은 혹시 이슈가 있을 수 있으므로 VHD와 AVHD파일을 Backup후 진행해주시기 바랍니다.
만일 1,2,3번 Snapshot이 있는 경우 merge를 2번 Snapshot으로 하고 싶은 경우 2번 Snapshot을 적용한 후 동일 진행하면 2번 Snapshot으로 merge되어집니다.
Windows 2008 R2의 경우 언어 변경이 기존의 방식과 변경되었습니다.
우선 필요한 파일은 MUI 파일입니다.
1. MUI 파일 받는 곳
- Windows 2008 R2
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=1246
- Windows 2008 R2 Service Pack 1
http://www.microsoft.com/download/en/details.aspx?id=2634
해당 파일을 받은 후 exe를 실행하면 lp.cab파일이 생성됩니다.
약간의 시간 후 해당 파일은 사라지기 때문에 생성되었을때 복사하여 다른 경로에 저장합니다.
2. 표시언어 설정
시작 -> 제어판 -> 국가 및 언어를 수행합니다.
프로그램의 키보드 및 언어 Tab을 선택합니다.
표시 언어의 언어 설치/제거를 선택합니다.
표시 언어 설치를 선택합니다.
lp.cab을 선택합니다.
(여기서 SP1이 설치된 경우 위의 경로 중 SP1에 해당하는 lp.cab을 선택해야 합니다.)
해당 언어가 설치되는 중입니다.
해당 언어 설치가 완료되었습니다.
사용하고자 하는 언어를 선택한 후 표시 언어 변경을 클릭하면 해당 언어가 변경되며 리부팅을 하지 않고 로그오프시 해당 언어가 적용되어 집니다.
언어 팩 설치 이후 표시 언어 선택에 위와 같이 선택할 수 있는 combo box가 생성되며 향후에 변경시 변경 후 로그오프를 하면 언어가 변경되어 집니다.
1. OOBE 란 ?
Windows 시작에 대한 브랜딩 부록을 보유하는 단일 파일
technet에 나와있는 내용입니다.
즉, 회사의 기본값(회사 로고와 같은) 및 언어, 국가설정, 바탕화면과 같은 값들을 OOBE에서 설정할 수 있는 것을 알 수 있습니다.
Unattend.xml에서 oobe에 대한 설정도 같이 할 수 있습니다.
단, OOBE에서만 할 수 있는 항목은 다음과 같습니다.
브랜딩, 국가별 설정 및 제공 서비스에 독점적으로 사용되는 경우 Oobe.xml은 Windows 시작의 모든 페이지, 시작 센터의 단일 페이지 및 ISP 등록 마법사를 표시합니다.
2. Unattend.xml을 사용한 OOBE적용
Windows 시작페이지를 조종할 수 구성요소입니다.
다음 표는 technet에 나온 내용입니다.
|
Windows 시작 페이지 |
Unattend.xml 설정 |
결과 | ||
|
1 – 국가별 설정 |
Microsoft-Windows-International-Core-WinPE | UILanguage Microsoft-Windows-International-Core-WinPE | InputLocale Microsoft-Windows-International-Core-WinPE | SystemLocale Microsoft-Windows-International-Core-WinPE | UILanguageFallback Microsoft-Windows-International-Core-WinPE | UserLocale |
네 가지 설정이 모두 지정되면 이 페이지는 건너뜁니다. 개별 설정이 지정되면 이 페이지에 필드가 표시되지 않습니다. | ||
|
2 – 사용 조건 |
Microsoft-Windows-Shell-Setup | OOBE | HideEULAPage |
이 설정이 지정되면 페이지는 건너뜁니다. 회사 관리자가 사용자에 대한 Microsoft 소프트웨어 사용 조건에 동의하는 것으로 간주됩니다. | ||
|
3 – 제품 키 |
Microsoft-Windows-Setup | UserData | ProductKey | Key Microsoft-Windows-Setup | UserData | ProductKey | WillShowUI |
Windows에서 사용자가 키, 볼륨 라이선스 설치 또는 Unattend.xml의 제품 키를 이미 입력한 일반 정품 설치가 검색되면 이 페이지가 표시되지 않습니다. | ||
|
4 – 사용자 이름 |
Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Description Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | DisplayName Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Group Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Name Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Password | PlainText Microsoft-Windows-Shell-Setup | UserAccounts | LocalAccounts | LocalAccount | Password | Value |
이 설정을 통해 사용자 계정을 만든 경우 이 페이지는 표시되지 않습니다. 이 페이지가 표시되지 않으면 사용자에 대한 사용자 타일이 자동으로 선택됩니다. 사용자 타일을 설정할 Unattend.xml 설정이 없습니다. | ||
|
5 – 컴퓨터 이름 |
Microsoft-Windows-Shell-Setup | ComputerName |
이 설정이 지정되면 Windows 시작에서 컴퓨터 이름 페이지가 표시되지 않습니다. 이 페이지에서는 초기 배경 무늬 선택도 제어합니다. 이 페이지가 표시되지 않으면 첫 번째 Windows 바탕 화면 배경 무늬가 기본적으로 선택됩니다.
| ||
|
8 – PC 보호 |
Microsoft-Windows-Shell-Setup | OOBE | ProtectYourPC |
이렇게 설정하면 페이지가 표시되지 않고 적절한 값이 설정됩니다. 가능한 값은 다음과 같습니다.
| ||
|
9 – 마지막 페이지 |
적용할 수 없음 |
다른 모든 Windows 시작 페이지를 건너뛰면 이 페이지도 표시되지 않습니다. |
위와 같은 값을 적용할 수 있습니다.
2. OOBE 작동방법
- %WINDIR%\System32\Oobe\Info\Oobe.xml
- %WINDIR%\System32\Oobe\Info\Default\<language>\Oobe.xml
- %WINDIR%\System32\Oobe\Info\<country>\<language>\Oobe.xml
위의 순서대로 Oobe.xml을 찾아서 적용합니다.
1번은 공통 Oobe.xml을 적용하게 됩니다. 한국가나 한언어에 대한 Oobe를 적용하고 싶은 경우 1번과 같이 작성하면 됩니다. 즉, 한 국가에 한 언어로 배포하는 경우 위와 같이 적용하면 됩니다.
2번은 언어별 공통 Oobe.xml을 적용하게 됩니다.
3번은 나라별 언어별 Oobe.xml을 적용하게 됩니다.
여기서 <country> 국가 코드는 GeoID로 구성된 10진수로 구성되어 있습니다.
<language>의 경우 LCID 10진수로 구성되어 있습니다.
ex) \%WINDIR%\system32\oobe\info\39\1036\oobe.xml (프랑스어로 된 캐나다 사용자 지정 내용)
Oobe.xml 파일의 값의 구성에 대해서는 아래 Site 참고 바랍니다.
http://technet.microsoft.com/ko-kr/library/cc722154(v=ws.10).aspx
Boot.wim 파일은 두가지 PE가 들어 있습니다.
Index 1 : 복구 옵션에 사용하는 PE
Index 2 : 윈도우 설치에 사용하는 PE
Boot.wim에 언어팩을 추가하기 위해서는 다음 사항들이 준비되어야 합니다.
1. Windows AIK 설치 및 설치 iso
- 설치 iso : PE에 추가할 언어팩 포함
위의 사항들이 준비되어 지면 언어팩 추가가 가능합니다.
Boot.wim 의 경우 두가지 PE가 있기 때문에 각 모드에 언어팩을 추가해 줘야합니다.
언어팩의 구조에 대해서는 아래 사이트 참조 바랍니다.
(http://technet.microsoft.com/ko-kr/library/cc766472(v=ws.10).aspx)
먼저 복구 옵션에 사용하는 PE에 언어팩을 추가하는 단계에 대해 알아보겠습니다.
1. 해당 wim mount
(imagex /mountrw d:\wim\boot.wim 1 d:\boot)
- 해당 wim파일을 mount한 후 wim을 mount한 위치를 열어보면 wim 파일을 확인할 수 있습니다.
(dism /image:d:\boot /add-package /packagepath:d:\language\ko-kr)
- 언어팩은 1번 pe에 설치되는 것과 2번 pe에 설치되는것으로 나뉘기 때문에 설치시에 모든것이 설치되지 않습니다.
실패난 것이 있는 것은 2번 설치 시 설치가 되기 때문이기 때문에 걱정하지 않으셔도 됩니다.
- 아시아 언어(한국어, 일본어, 중국어)의 경우 언어팩 + font를 같이 설치해 주어야합니다.
- AIK 의 경우에 Windows 7과 Windows 7 SP1이 별도로 있습니다. 그러므로 설치할때 해당 Version에 따라 맞춰서 언어팩을 설치해 주어야합니다.
만일 Version이 틀린 경우 intlcfg에서 설치된 언어팩을 조회하여도 설치된 언어팩이 정상적으로 나오지 않는 오류가 발생합니다.
(intlcfg -image:d:\boot -skudefaults:ko-kr")
(intlcfg 참고 사이트 : http://technet.microsoft.com/ko-kr/library/cc722439(v=ws.10).aspx)
(imagex /unmount /commit d:\boot)
다음으로 Windows설치에 사용하는 PE에 언어팩을 추가해보도록 하겠습니다.
1. 해당 wim mount
(imagex /mountrw d:\wim\boot.wim 2 d:\boot)
- 해당 wim파일을 mount한 후 wim을 mount한 위치를 열어보면 wim 파일을 확인할 수 있습니다.
(dism /image:d:\boot /add-package /packagepath:d:\language\ko-kr)
- 언어팩은 1번 pe에 설치되는 것과 2번 pe에 설치되는것으로 나뉘기 때문에 설치시에 모든것이 설치되지 않습니다.
(intlcfg -report -dist:d:\boot -image:d:\boot"
(intlcfg -image:d:\boot -skudefaults:ko-kr)
lang.ini를 열어보면 값이 3과 2가 있는데 defaults 언어의 경우 3으로 setting되어 있으며 추후 선택할 수 있는 언어에 대해서는 2로 되어 있습니다.
- lang.ini는 수동으로 수정할 수 있으나 수동 수정은 비추하며 명령어를 사용하여 변경하는 것을 추천합니다.
- intlcfg -genlangini -dist:"lang.ini를 생성할 위치" -image:"mount된 wim위치"
(intlcfg -genlangini -dist:d:boot -image:d:\boot)
(imagex /unmount /commit d:\boot)
설치 후 해당 wim의 용량을 축소하기 위해 다음 작업을 진행합니다.
imagex /export "wim 파일 위치" 1 "새로 생성할 wim 위치"
imagex /export "wim 파일 위치" 2 "새로 생성할 wim 위치"
(imagex /export d:\wim\boot.wim 1 d:\wim\boot1.wim
imagex /export d:\wim\boot.wim 2 d:\wim\boot1.wim)
위의 명령어를 수행한 경우 boot1.wim로 새로 wim이 생성되어 지며 용량은 대략 25%정도의 감소효과를 얻을 수 있습니다.
생성한 boot.wim파일은 윈도우 설치 폴더의 sources 폴더에 넣으면 적용되어 집니다.
언어팩을 설치한 경우 처음 윈도우 부팅 화면에 언어를 선택할 수 있는 화면이 다음과 같이 나옵니다.
sysinternal tool중 하나인 livekd를 사용하면 live debugging이 가능하며 심지어 dump 생성도 가능합니다.
우선 livekd를 다운 받습니다.
경로 : http://technet.microsoft.com/ko-kr/sysinternals/bb897415 (현재시점 최신 버전)
command 창에서 해당 livekd를 실행합니다.
(cmd에서 수행하는 방법과 windbg에서 실행하는 방법이 있습니다.)
해당 방법에서는 windbg로 실행하는 화면입니다.
-w옵션을 주면 windbg에 mapping이 되어 실행되어 집니다.
execute화면에서 명령어를 수행하면 해당 명령어에 대해 수행됨을 확인할 수 있습니다.
그럼 간단한 명령어인 .sympath로 현재 symbol 설정을 알아보겠습니다.
Live Debugging과 관련한 명령어를 수행하면 현재 커널 상태를 확인할 수 있기 때문에 Live Debugging을 손쉽게 할 수 있습니다.
한 가지 예를 더 들어 보겠습니다.
Pool의 메모리를 확인하기 위해서 현재 현재 Pool 메모리 사용량에 대해 알아보겠습니다.
위와 같이 손쉽게 Pool의 사용량을 알 수 있으며 Tag를 사용하여 이슈가 되는 Driver를 찾을 수 있습니다.
마지막으로 Livekd의 기능 중 하나인 Dump 생성에 대해 알아보겠습니다.
dump 설정은 다음과 같은 명령어로 수행이 가능합니다.
.dump /f c:\dump.dmp
이렇게 livekd는 강력한 기능을 제공 하기 때문에
현재 이슈가 될때 효과적으로 사용하면 큰 도움이 될 것 같습니다.

PREV