성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 그냥 RSS Reader 기능과 약간의 UI 편의성 때문에 사용...
[이종효] 오래된 소프트웨어는 보안 위협이 되기도 합니다. 혹시 어떤 기능...
[정성태] @Keystroke IEEE의 문서를 소개해 주시다니... +_...
[손민수 (Keystroke)] 괜히 듀얼채널 구성할 때 한번에 같은 제품 사라고 하는 것이 아...
[정성태] 전각(Full-width)/반각(Half-width) 기능을 토...
[정성태] Vector에 대한 내용은 없습니다. Vector가 닷넷 BCL...
[orion] 글 읽고 찾아보니 디자인 타임에는 InitializeCompon...
[orion] 연휴 전에 재현 프로젝트 올리자 생각해 놓고 여의치 않아서 못 ...
[정성태] 아래의 글에 정리했으니 참고하세요. C# - Typed D...
[정성태] 간단한 재현 프로젝트라도 있을까요? 저런 식으로 설명만 해...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Windows 10의 Recovery 파티션을 삭제 및 새로 생성하는 방법</h1> <p> 이전 글에서 복구 모드로의 부팅을 설명했는데요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows 10의 복구 콘솔로 부팅하는 방법 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/11207'>http://www.sysnet.pe.kr/2/0/11207</a> </pre> <br /> 복구 모드와 '복구 파티션(Recovery partition)'과는 무슨 관계가 있을까요? ^^<br /> <br /> 우선, "Disk Management" 관리 콘솔을 이용해 복구 파티션이 있는지 확인할 수 있습니다.<br /> <br /> <img alt='boot_recovery_mode_1.png' src='/SysWebRes/bbs/recovery_partition_1.png' /><br /> <br /> 그리고, 자신의 Windows 10 PC에서 정상적으로 복구 콘솔 기능이 동작하고 있는지 reagentc.exe를 관리자 권한으로 실행해 보면 알 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\System32><span style='color: blue; font-weight: bold'>reagentc /info</span> Windows Recovery Environment (Windows RE) and system reset configuration Information: Windows RE status: <span style='color: blue; font-weight: bold'>Enabled</span> Windows RE location: <span style='color: blue; font-weight: bold'>\\?\GLOBALROOT\device\harddisk0\partition1\Recovery\WindowsRE</span> Boot Configuration Data (BCD) identifier: cb172ec6-1b4f-11e7-947f-da9018c8edfd Recovery image location: Recovery image index: 0 Custom image location: Custom image index: 0 REAGENTC.EXE: Operation Successful. </pre> <br /> "<a target='tab' href='http://www.sysnet.pe.kr/2/0/11207'>Windows 10의 복구 콘솔로 부팅하는 방법</a>" 글에서 설명한 데로 복구 콘솔로 진입한다는 것은 곧, "\\?\GLOBALROOT\device\harddisk0\partition1\Recovery\WindowsRE"에 저장된 winre.wim 이미지를 사용한다는 것과 같습니다.<br /> <br /> 그런데, 복구 콘솔로 진입한 경우에 나오는 "X:" 드라이브가 좀 재미있습니다. 해당 드라이브는 "\\?\GLOBALROOT\device\harddisk0\partition1\Recovery\WindowsRE" 폴더에 직접 매핑되는 것은 아니고, 윈도우는 RAM DISK를 만들어 그곳에 WindowsRE 폴더의 내용을 복사해 복구 콘솔을 운영하는 방식으로 동작합니다. 이에 관해 다음의 문서에서 설명하는,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows Recovery Environment (Windows RE) ; <a target='tab' href='https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-recovery-environment--windows-re--technical-reference'>https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-recovery-environment--windows-re--technical-reference</a> </pre> <br /> bcdedit /enum all 명령어로 그 힌트를 찾을 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows Boot Loader ------------------- identifier {f4117904-10c3-11e7-b9ca-9b96daeebba1} device <span style='color: blue; font-weight: bold'>ramdisk=[unknown]\Recovery\WindowsRE\Winre.wim,{f4117905-10c3-11e7-b9ca-9b96daeebba1}</span> path \windows\system32\winload.efi description Windows Recovery Environment locale en-US inherit {bootloadersettings} displaymessage Recovery osdevice <span style='color: blue; font-weight: bold'>ramdisk=[unknown]\Recovery\WindowsRE\Winre.wim,{f4117905-10c3-11e7-b9ca-9b96daeebba1}</span> systemroot \windows nx OptIn bootmenupolicy Standard winpe Yes </pre> <br /> <hr style='width: 50%' /><br /> <br /> 물론, <a target='tab' href='http://www.sysnet.pe.kr/2/0/2918'>복구 파티션은 삭제</a>해도 상관없습니다. 그래도 여전히 윈도우 부팅은 가능하고 단지 복구 콘솔로의 진입만 못하는 것뿐입니다.<br /> <br /> 실제로 ^^ 한번 삭제를 해볼까요? 관리자 권한의 diskpart.exe를 실행하고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\System32><span style='color: blue; font-weight: bold'>diskpart</span> Microsoft DiskPart version 10.0.15063.0 Copyright (C) Microsoft Corporation. On computer: TESTPC DISKPART> </pre> <br /> 윈도우가 설치된 디스크를 선택한 후,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > DISKPART> <span style='color: blue; font-weight: bold'>list disk</span> Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 64 GB 450 MB * Disk 1 Online 24 GB 0 B * DISKPART> <span style='color: blue; font-weight: bold'>sel disk 0</span> Disk 0 is now the selected disk. </pre> <br /> 해당 디스크의 "Recovery" 파티션까지 선택한 다음,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > DISKPART> <span style='color: blue; font-weight: bold'>list part</span> Partition ### Type Size Offset ------------- ---------------- ------- ------- <span style='color: blue; font-weight: bold'>Partition 1 Recovery 449 MB 1024 KB</span> Partition 2 System 100 MB 451 MB Partition 3 Reserved 16 MB 551 MB Partition 4 Primary 63 GB 567 MB DISKPART> <span style='color: blue; font-weight: bold'>select part 1</span> </pre> <br /> 이렇게 삭제할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > DISKPART> <span style='color: blue; font-weight: bold'>delete part override</span> DISKPART> list part Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 2 System 100 MB 451 MB Partition 3 Reserved 16 MB 551 MB Partition 4 Primary 63 GB 567 MB </pre> <br /> 이제 다시 "<a target='tab' href='http://www.sysnet.pe.kr/2/0/11207'>Advanced startup</a>"으로 재부팅하는 경우, 다음 화면과 같이 "Troubleshoot"로 들어가도 "Command Prompt"로의 (들어가는 메뉴가 없어져) 복구 콘솔로 들어갈 수 없습니다.<br /> <br /> <img alt='recovery_partition_2.png' src='/SysWebRes/bbs/recovery_partition_2.png' /><br /> <br /> 이런 상황에서 reagentc.exe를 실행해 보면 다음과 같이 "Windows RE status"가 "Disabled"로 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>reagentc /info</span> Windows Recovery Environment (Windows RE) and system reset configuration Information: <span style='color: blue; font-weight: bold'>Windows RE status: Disabled</span> Windows RE location: Boot Configuration Data (BCD) identifier: f411790a-10c3-11e7-b9ca-9b96daeebba1 Recovery image location: Recovery image index: 0 Custom image location: Custom image index: 0 REAGENTC.EXE: Operation Successful. </pre> <br /> 즉, Recovery Partition을 지워도 "복구 모드"로의 부팅은 되지만, 그 내부에 포함된 "Command Prompt"로의 진입만 못하는 것뿐입니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 자, 그럼 다시 복구 콘솔을 띄우고 싶다면 - 즉, 정상적인 Recovery partition을 만들려면 어떻게 해야 될까요? 한마디로, "\Recovery\WindowsRE\Winre.wim" 파일이 있는 파티션을 만들어 주기만 하면 됩니다.<br /> <br /> 이를 위해 우선, "Disk Management" 관리 콘솔을 이용해 다시 해당 영역을 Primary 파티션으로 만들어 NTFS로 포맷해 줍니다. (물론, diskpart로 직접 파티션을 만들어도 됩니다.)<br /> <br /> <img alt='recovery_partition_3.png' src='/SysWebRes/bbs/recovery_partition_3.png' /><br /> <br /> 보는 바와 같이 현재 F 드라이브로 할당되어 있습니다. 이제 winre.wim 파일만 구해주면 되는데, 이에 대한 방법은 다음의 글에 자세히 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Customize Windows RE ; <a target='tab' href='https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/customize-windows-re'>https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/customize-windows-re</a> </pre> <br /> 정리해 보면, 우선 "d:\mount" 폴더를 만들고 설치 디스크로부터 /sources/install.wim 파일을 복사해 옵니다. 그다음, 아래의 명령어로 install.wim 파일의 내용을 마운트시켜 풀어줍니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > md d:\mount\windows Dism /Mount-Image /ImageFile:d:\mount\install.wim /Index:1 /MountDir:d:\mount\windows </pre> <br /> 위의 명령어가 실행된 후, "D:\mount\windows\Windows\System32\Recovery" 폴더를 보면 "Winre.wim" 파일이 있는데, 그 파일을 F 드라이브의 f:\temp 폴더에 복사해 줍니다. 그런 후, "Mount-Image" 시켰던 install.wim 파일을 다음의 명령으로 해제(unmount)해 줍니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Dism /Unmount-Image /MountDir:d:\mount\windows /Discard (* 위의 명령이 실행되고 나면, d:\mount\windows 폴더 하위에 풀려있던 모든 파일들이 삭제됩니다.) </pre> <br /> 이제 reagentc.exe를 다음과 같이 실행해 줍니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > F:\temp><span style='color: blue; font-weight: bold'>reagentc /setreimage /path f:\temp\winre.wim</span> Directory set to: \\?\GLOBALROOT\device\harddisk0\partition4\temp REAGENTC.EXE: Operation Successful. </pre> <br /> 그런 다음, "/enable" 옵션으로 다시 실행해 주면,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > F:\temp><span style='color: blue; font-weight: bold'>reagentc /enable</span> REAGENTC.EXE: Operation Successful. </pre> <br /> temp 폴더에 복사했던 winre.wim 파일이 없어지고, 대신 f:\Recovery\WindowsRE 폴더가 생성된 후 그 안에 winre.wim 파일이 복사됩니다. 이 상태에서 reagentc /info로 복구 콘솔이 가능해졌는지를 확인할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > F:\Recovery><span style='color: blue; font-weight: bold'>reagentc /info</span> Windows Recovery Environment (Windows RE) and system reset configuration Information: <span style='color: blue; font-weight: bold'>Windows RE status: Enabled</span> Windows RE location: \\?\GLOBALROOT\device\harddisk0\<span style='color: blue; font-weight: bold'>partition4</span>\Recovery\WindowsRE Boot Configuration Data (BCD) identifier: f411790a-10c3-11e7-b9ca-9b96daeebba1 Recovery image location: Recovery image index: 0 Custom image location: Custom image index: 0 REAGENTC.EXE: Operation Successful. </pre> <br /> 특이한 것은, harddisk0\partition4에서처럼 현재 4번 파티션으로 할당된 것을 볼 수 있습니다. 이는 Disk Management 관리 콘솔에서 파티션을 생성했을 때 정해진 것으로 diskpart에서도 4번이라고 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C:\Windows\system32><span style='color: blue; font-weight: bold'>diskpart</span> Microsoft DiskPart version 10.0.14393.0 Copyright (C) 1999-2013 Microsoft Corporation. On computer: TESTPC DISKPART> <span style='color: blue; font-weight: bold'>list disk</span> Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 64 GB 1024 KB * Disk 1 Online 24 GB 0 B * DISKPART> <span style='color: blue; font-weight: bold'>sel disk 0</span> Disk 0 is now the selected disk. DISKPART> <span style='color: blue; font-weight: bold'>list part</span> Partition ### Type Size Offset ------------- ---------------- ------- ------- <span style='color: blue; font-weight: bold'>Partition 4 Primary 449 MB 1024 KB</span> Partition 1 System 100 MB 451 MB Partition 2 Reserved 16 MB 551 MB Partition 3 Primary 63 GB 567 MB </pre> <br /> 상관없습니다. 재부팅하고 나면, 다시 다음과 같은 순서로 파티션 정렬이 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Partition ### Type Size Offset ------------- ---------------- ------- ------- <span style='color: blue; font-weight: bold'>Partition 1 Primary 449 MB 1024 KB</span> Partition 2 System 100 MB 451 MB Partition 3 Reserved 16 MB 551 MB Partition 4 Primary 63 GB 567 MB </pre> <br /> "reagentc.exe /enable" 명령어로 인해 이제부터 "복구 파티션"으로써의 기능이 실제로 동작하게 됩니다. 즉, 이 상태에서 "Advanced startup"으로 재부팅하면 정상적으로 X: 드라이브의 복구 콘솔로 진입할 수 있습니다.<br /> <br /> '복구 콘솔'을 사용하기 위한 더 이상의 설정은 이제 '필요'하지 않습니다.<br /> <br /> 하지만, "F:\" 드라이브로 사용자가 언제든지 복구 파티션을 임의 접근할 수 있다는 것이 좀 걸립니다. 즉, 윈도우 설치 파일이 그랬던 것처럼 hidden 파티션으로 만들어 주고 싶은데요. 방법은, 파티션 타입을 Recovery로 바꿔주는 것으로 해결할 수 있습니다. 이를 위해 diskpart.exe를 실행하고, 다음과 같이 해당 파티션을 Recovery Partition으로 설정해 주면 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > DISKPART> <span style='color: blue; font-weight: bold'>list part</span> Partition ### Type Size Offset ------------- ---------------- ------- ------- <span style='color: blue; font-weight: bold'>Partition 4 Primary 449 MB 1024 KB</span> Partition 1 System 100 MB 451 MB Partition 2 Reserved 16 MB 551 MB Partition 3 Primary 63 GB 567 MB DISKPART> <span style='color: blue; font-weight: bold'>sel part 4</span> Partition 4 is now the selected partition. DISKPART> <span style='color: blue; font-weight: bold'><a target='tab' href='http://www.sysnet.pe.kr/2/0/11208'>set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac</a></span> DiskPart successfully set the partition ID. DISKPART> <span style='color: blue; font-weight: bold'>GPT attributes=0x8000000000000001</span> DiskPart successfully assigned the attributes to the selected GPT partition. DISKPART> <span style='color: blue; font-weight: bold'>detail part</span> Partition 4 Type : de94bba4-06d1-4d40-a16a-bfd50179d6ac Hidden : Yes Required: Yes Attrib : 0X8000000000000001 Offset in Bytes: 106688413696 Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- * Volume 3 F New Volume NTFS Partition 449 MB Healthy Hidden </pre> <br /> 위와 같이 해주고 나서, "Disk Management" 관리 콘솔로 확인해 보면 처음 지웠을 때와 동일한 복구 파티션으로 나타납니다.<br /> <br /> <img alt='boot_recovery_mode_1.png' src='/SysWebRes/bbs/recovery_partition_1.png' /><br /> <br /> 물론, 취향에 따라 ^^ 저렇게 복구 파티션으로 굳이 지정하지 않아도 됩니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 참고로, 이 글에서 복구 파티션에 할당한 winre.wim 파일은 그야말로 기본적인 환경만을 인식하는 윈도우 부팅 파일이라고 보시면 됩니다. 다시 말해, 특별한 장치들은 인식할 수 없습니다. 따라서, 복구 콘솔에서 인식하고 싶은 장치가 있다면 미리 winre.wim 파일에 device driver를 설치해 주어야 합니다. 이에 대해서는 다음의 글에 설명한 내용을 참고하시면 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Windows 운영체제의 ISO 설치 파일에 미리 Device driver를 준비하는 방법 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/11190'>http://www.sysnet.pe.kr/2/0/11190</a> </pre> <br /> 그 외에, (UEFI 기반의 장치를 위한) 윈도우 설치 시 생성되는 기본 파티션들에 대한 설명을 다음의 글에서 찾을 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > UEFI/GPT-based hard drive partitions ; <a target='tab' href='https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions'>https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions</a> </pre> <br /> <hr style='width: 50%' /><br /> <br /> 끝맺기 전에, 주의 사항 하나 전달합니다. ^^<br /> <br /> 일반적인 PC인 경우 복구 파티션을 지우는 것은 크게 문제가 되지 않습니다. 하지만, 태블릿이나 소형 노트북 등의 경우에는 제조사가 미리 인식시켜야 할 장치에 대해 '복구 파티션'의 winre.wim에 장치 드라이버를 미리 설정해 놓은 경우가 있는데, 이를 삭제하게 되면 나중에 복구 콘솔로 들어갔을 때 (최악의 경우) 아무것도 못할 수도 있습니다.<br /> <br /> 가령, Dell Venue 8 Pro의 경우 델 측에서 미리 터치스크린과 가상 키보드를 장치 드라이버로 제공하게 되는데 "복구 파티션"을 지운 후 이 글의 방법에 따라 winre.wim 파일만 달랑 복사한 복구 파티션으로 복원하는 경우 복구 콘솔에서 터치스크린과 가상 키보드를 전혀 쓸 수 없는 상태가 됩니다.<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1054
(왼쪽의 숫자를 입력해야 합니다.)