본 글은 Windows RE를 이용하여 손상된 Windows 본체를 복구하는 것이 아닌, Windows RE 그 자체를 복구하는 방법에 대해 소개하는 글이다.
안전 모드를 찾아왔다면 이리로 가면 된다.
복구 파티션을 만들거나 제거하는 방법을 알고 싶다면 아래 접은 글의 문서를 참고하면 좋다.
복구 파티션의 크기를 수정하는 방법을 알고 싶다면 이 문서로 가면 된다.
Windows RE는 Windows Recovery Environment의 약어로, 그 뜻은 'Windows 복구 환경'이다.
Windows PE(Windows Preinstallation Environment, Windows 사전 설치 환경)를 기반으로 동작하며, 그에 따라 설치 USB나 설치 CD에도 포함이 되어 있다.
Windows 10 이후부터는 컴퓨터에 Windows를 설치할 때, '복구 파티션'이라는 이름으로 시스템 파티션(주로 C 드라이브) 뒤에 생성되며, 이를 통해 외부 부팅 매체의 도움 없이도 컴퓨터 자체적으로 문제 해결을 시도할 수 있다.
그러나 어떠한 이유로 Windows Boot Manager가 설치된 Windows RE를 인식하지 못하는 경우가 발생할 수 있다. 이렇게 되면 복구 모드로 진입하지 못하게 되며, 이에 따라 Windows에 문제가 생겼을 때 복구가 어려워질 수 있다.
따라서, Windows RE 파티션의 파일을 미리미리 백업해 놓는 것을 추천한다.
이 글에서는 Windows RE를 복구하는 방법에 대해 소개한다.
현재 위치 업그레이드를 이용한 방법
일단, 가장 확실한 방법은 Windows를 재설치하는 것이다.
'클린 설치'를 수행하는 방법도 있지만, 이 방법은 기존의 Windows를 날려버리는 것과 같으므로 데이터와 프로그램이 중요한 사용자는 시도하기 어렵다.
이때 수행할 수 있는 방법이 '현재 위치 업그레이드'이다.
현재 위치 업그레이드란 Windows 설치본을 이용하여 Windows를 재설치하는 방법으로, 업데이트 방식으로 설치하기에 이용자의 앱과 파일을 유지할 수 있다.
이를 위해선 Microsoft 공식 다운로드 페이지에서 'Windows 설치 미디어 만들기'를 다운로드한 후 디스크 이미지를 생성하거나, '디스크 이미지 다운로드'를 통해 ISO 파일을 다운로드하고, 프로그램을 실행하는 방법이 있다.
https://sprout13.tistory.com/27에서 현재 위치 업그레이드에 대해 설명한 바 있다. 이를 참고하여 설치를 진행하면 된다.
무엇보다 현재 위치 업그레이드를 이용하는 방법은 아래의 복잡한 과정들을 할 필요가 없다.
그러나 현재 위치 업그레이드 자체가 시간이 오래 걸리므로(운영체제의 파일들을 전부 교체하므로), 그것이 싫은 사용자들은 아래의 방법을 이용할 수 있다.
컴퓨터의 (기존의)복구 파일을 재인식시키는 방법
이 방법은 Windows를 재설치할 필요가 없지만, 경우에 따라 복구에 어려움이 있을 수 있다.
특히 Windows RE 파티션이나, Winre.wim 파일이 손상된 상태라면 이 방법을 사용할 수 없다.
이 작업을 위해서는 "C:\$WinREAgent\Backup" 디렉터리의 Winre.wim이나, 미리 백업해 놓은 Windows RE 이미지가 필요하다.
이 둘이 존재하지 않는다면, 남은 방법은 현재 위치 업그레이드를 이용하는 방법 밖에 없다.
1. DISKPART
CMD를 실행 후 'diskpart'를 입력해 DISKPART를 실행한다.
list disk
'list disk'를 입력하여 자신의 시스템 디스크의 번호를 확인한다.
보통 C 드라이브와 복구 파티션이 같이 만들어지기 때문인데, 드물게 다른 디스크에 복구 파티션이 만들어지는 경우가 있으므로 확인하는 것이 좋다.
잘 모르겠다면 '디스크 관리'를 열어 확인하면 된다.
디스크 0에 EFI 부팅 파티션, C 드라이브, RE파티션이 모두 있으므로 디스크 0을 선택하면 된다.
select disk 0
list partition
'select disk 0'을 입력하면 해당 디스크가 선택되고, 'list partition'을 입력하면 해당 디스크의 파티션 목록이 나타난다.
필자의 디스크 목록에 복구 파티션이 많은 것을 볼 수 있는데, 보통 OEM(삼성 등)에서 판매하는 컴퓨터에 이러한 것이 많다.
Windows RE는 C 드라이브 바로 뒤에 생성되므로 주 파티션 바로 뒤에 생성되어 있는 복구 파티션이 Windows RE 파티션이다.
select partition=5
Windows RE가 5번 파티션이므로 'select partition=5'를 입력하여 5번 파티션을 선택한다.
assign letter=R
'assign letter=R'을 입력하여 파티션에 드라이브 문자를 할당한다.
만약 상술한 복구 파일들을 백업해두지 않았다면 이 단계에서 백업하는 것을 추천한다.
"C:\$WinREAgent\Backup" 디렉터리에 Winre.wim의 복사본이 존재한다면 문제가 생겼을 때 이것을 이용해 복구를 진행하면 되므로 굳이 아래의 백업 철차를 거칠 필요는 없지만, 만일을 위해 백업을 해 두는 편이 좋다.
2. 백업 방법 (원하는 경우)
아래 접은 글은 DISM을 이용한 백업 방법이다.
DISM 이미지 관리 명령줄 옵션 | Microsoft Learn을 먼저 읽어보는 것을 추천한다.
Winre.wim이 Windows RE 파일이므로 이것을 복사해 둘 수도 있지만, 더 확실한 방법은 복구 파티션 전체를 이미지화해 두는 것이다.
이를 위해 Dism의 /Capture-Image 명령줄을 이용한다.
Dism /Capture-Image /ImageFile:<path_to_image_file> /CaptureDir:<source_directory> /Name:<image_name> [/Description:<image_description>] [/ConfigFile:<configuration_file.ini>] {[/Compress:{max|fast|none}] [/Bootable] | [/WIMBoot]} [/CheckIntegrity] [/Verify] [/NoRpFix] [/EA]
/Compress 초기 캡처 작업에 사용되는 압축 형식을 지정합니다. maximum 옵션은 최상의 압축을 제공하지만 이미지를 캡처하는 데 더 많은 시간이 걸립니다. fast 옵션은 더 빠른 이미지 압축을 제공하지만 결과 파일은 maximum 옵션을 사용하여 압축한 파일보다 큽니다. 이 옵션은 인수를 지정하지 않을 경우 사용되는 기본 압축 형식입니다. none 옵션은 캡처된 이미지를 전혀 압축하지 않습니다.
/Bootable 볼륨 이미지를 부팅 가능한 이미지로 표시합니다. 이 인수는 WinPE 이미지에만 사용할 수 있습니다. 볼륨 이미지는 .wim 파일 내에서 하나만 부팅 가능으로 표시할 수 있습니다.
/CheckIntegrity 캡처, 분리, 내보내기 및 커밋 작업에서 사용할 때 .wim 파일 손상을 검색하고 추적합니다. /CheckIntegrity는 적용 및 탑재 작업에서 사용할 때 DISM에서 .wim 파일이 손상되었음을 검색하면 작업을 중지합니다.
/Verify 오류와 파일 중복을 확인합니다.
/NoRpFix 재분석 지점 태그 수정을 사용하지 않도록 설정합니다. 재분석 지점은 파일 시스템의 다른 파일에 대한 링크를 포함하는 파일입니다. /NoRpFix를 지정하지 않으면 /ImageFile에 지정된 값 외부의 경로로 확인되는 재분석 지점이 캡처되지 않습니다.
/WIMBoot /WIMBoot를 사용하여 WIMBoot(Windows 이미지 파일 부팅) 구성으로 이미지를 추가합니다. 이는 WIMBoot 파일로 캡처 또는 내보낸 Windows 8.1 이미지에만 적용됩니다. 이 기능은 Windows 10에서 지원되지 않습니다.
/EA 확장 특성을 캡처합니다. 확장 특성을 캡처하려면 스위치를 명시적으로 지정해야 합니다. WIM 이미지에서 캡처할 구성 요소에 설정된 경우 DISM에서 확장 특성 비트를 캡처합니다. 비트가 설정되지 않으면 DISM에서 설정하지 않습니다. AppX 패키지 구성 요소 또는 Win32 애플리케이션 구성 요소가 아닌 CAB 패키지 및 드라이버의 기본 제공 구성 요소에만 이러한 확장 특성 비트가 있습니다. 접두사가 "$Kernel"인 확장 특성입니다. 사용자 모드 확장 특성만 캡처되므로 이름은 건너뜁니다. Windows 10 버전 1607에서 DISM을 사용하여 확장 특성을 캡처하고,이전 버전의 DISM을 사용하여 이미지를 적용하는 경우 작업은 성공하지만 확장 특성은 적용된 이미지로 설정되지 않습니다.
이를 이용한 명령줄 예제는 다음과 같다.
Dism /Capture-Image /ImageFile:D:\Recovery.wim /CaptureDir:R: /Name:"Windows Recovery Enviroment Backup" /Description:"Windows RE Backup(AMD64)"
/Name 옵션은 해당 이미지의 인덱스 이름을 나타낸다. 아무 인덱스 옵션을 주지 않았다면 인덱스 번호는 1이다.
/Description 옵션은 해당 이미지 인덱스의 설명이다. 없어도 된다.
이 명령줄은 R 파티션을 D:\Recovery 경로에 캡쳐한다.
해당 이미지의 정보를 가져오면 아래와 유사한 문구가 나타날 것이다.
C:\Windows\System32>DISM.exe /Get-ImageInfo /ImageFile:"D:\recovery.wim"
배포 이미지 서비스 및 관리 도구
버전: 10.0.22621.1
이미지 정보: D:\recovery.wim
인덱스: 1
이름: Windows Recovery Enviroment Backup
설명: Windows RE Backup(AMD64)
크기: 1,165,923,688바이트
작업을 완료했습니다.
더 자세한 정보를 원한다면 아래와 같이 입력하면 된다.
C:\Windows\System32>DISM.exe /Get-ImageInfo /ImageFile:"D:\recovery.wim" /index:1
배포 이미지 서비스 및 관리 도구
버전: 10.0.22621.1
이미지 정보: D:\recovery.wim
인덱스: 1
이름: Windows Recovery Enviroment Backup
설명: Windows RE Backup(AMD64)
크기: 1,165,923,688바이트
WIM 부팅 가능: 아니요
아키텍처: <정의되지 않음>
Hal: <정의되지 않음>
버전: <정의되지 않음>
서비스 팩 빌드: <정의되지 않음>
서비스 팩 수준: <정의되지 않음>
버전: <정의되지 않음>
설치: <정의되지 않음>
제품 종류: <정의되지 않음>
제품군: <정의되지 않음>
시스템 루트: <정의되지 않음>
디렉터리: 3
파일: 4
만든 날짜: 2023-05-07 - 오전 12:36:22
수정한 날짜: 2023-05-07 - 오전 12:36:22
언어: <정의되지 않음>
작업을 완료했습니다.
3. 복구 파티션의 Winre.wim 이미지 파일이 손상된 경우
만약 복구 파티션의 Winre.wim이 손상되거나 존재하지 않는 상태라면 아래 접은 글의 절차를 따른다.
이미지 파일이 손상되지 않았다면 다음 단계로 넘어간다.
관리자 권한으로 CMD를 연다.
파일 탐색기를 이용할 수도 있지만, 해당 방법은 번거로울 수 있다.
"C:\$WinREAgent\Backup" 디렉터리로 이동한다. 아래의 명령줄을 입력한다.
Cd "C:\$WinREAgent\Backup"
만약 해당 디렉터리가 존재하지 않는다면, 자신이 가지고 있는 Winre.wim 사본을 이용하면 된다.
이마저도 없다면, 남은 방법은 현재 위치 업그레이드이다.
"Dir /a"를 입력한다.
Dir /a
그러면 아래와 같이 뜰 것이다.
C:\$WinREAgent\Backup>dir /a
C 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: 785D-D7AA
C:\$WinREAgent\Backup 디렉터리
2023-08-09 10:58 <DIR> .
2023-08-09 10:58 <DIR> ..
2022-05-07 14:19 3,170,304 boot.sdi
2023-08-09 10:58 132 location.txt
2023-08-07 10:39 1,139 ReAgent.xml
2023-06-16 16:09 1,121,942,847 Winre.wim
4개 파일 1,125,114,422 바이트
2개 디렉터리 82,547,429,376 바이트 남음
해당 디렉터리의 파일 중 복사해야할 파일은 "boot.sdi", "ReAgent.xml", "Winre.wim" 세 개이다.
"location.txt"는 이 파일들이 어디에 위치해야 하는지 기록되어 있는 일종의 안내문이다.
[WinRE Location]
Partition offset=491601788928
Relative path=\Recovery\WindowsRE
OS Guid={08400B62-2C85-11EE-BC77-D6B70F40CDAF}
해당 파일을 열면 위와 같은 정보가 기록되어 있을 것이다.
위에서 말한 세 개의 파일들을 위의 안내문대로 "\Recovery\WindowsRE"에 위치시켜야 한다.
이 글에서는 복구 파티션에 "R:" 문자를 할당하였으므로, 저 파일들이 위치해야하는 최종 위치는 "R:\Recovery\WindowsRE\"이다.
Robocopy를 이용하여 해당 파일들을 복사할 것이다.
아래 명령줄을 입력한다.
Robocopy "C:\$WinREAgent\Backup" "R:\Recovery\WindowsRE"
이 명령줄을 입력하면 "C:\$WinREAgent\Backup"의 파일들이 "R:\Recovery\WindowsRE"로 복사된다.
이때 "location.txt"는 지워도 문제없다. 지우고 싶다면 아래의 명령줄을 입력한다.
Del "R:\Recovery\WindowsRE\location.txt"
최종적으로 파티션의 구조는 아래와 같게 될 것이다.
R 드라이브의 최상위 경로에서 "Dir /a /s"를 입력하였을때의 구조이다.
R:\>dir /a /s
R 드라이브의 볼륨: Windows RE
볼륨 일련 번호: 569D-4E65
R:\ 디렉터리
2023-08-09 10:58 0 $WINRE_BACKUP_PARTITION.MARKER
2023-06-16 16:12 <DIR> Recovery
2023-06-09 16:38 <DIR> System Volume Information
1개 파일 0 바이트
R:\Recovery 디렉터리
2023-06-16 16:12 <DIR> .
2023-08-18 21:57 <DIR> ..
2023-08-18 21:57 <DIR> Logs
2023-08-18 21:40 <DIR> WindowsRE
0개 파일 0 바이트
R:\Recovery\Logs 디렉터리
2023-08-18 21:57 <DIR> .
2023-06-16 16:12 <DIR> ..
2023-08-18 21:40 1,384 Reload.xml
1개 파일 1,384 바이트
R:\Recovery\WindowsRE 디렉터리
2023-08-18 21:40 <DIR> .
2023-06-16 16:12 <DIR> ..
2022-05-07 14:19 3,170,304 boot.sdi
2023-08-18 21:40 1,139 ReAgent.xml
2023-06-16 16:09 1,121,942,847 Winre.wim
3개 파일 1,125,114,290 바이트
전체 파일:
5개 파일 1,125,115,674 바이트
10개 디렉터리 60,870,656 바이트 남음
이때, "R:\Recovery\Logs" 디렉터리는 없어도 무방하며, 중요한 것은 "R:\Recovery\WindowsRE"에 "boot.sdi", "ReAgent.xml", "Winre.wim" 이 세 개의 파일이 존재하는지 여부이다.
4. 복구 마무리
문자 할당을 마쳤으면(겸사겸사 백업도 하였으면) 아래의 절차를 따른다.
다른 창에서 CMD를 열고
C:\Windows\System32\reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
을 입력한다.
ReAgentc.exe는 Microsoft Windows Recovery Agent로, Windows RE 부팅 이미지 및 원스톱 복원 복구 이미지를 구성하고 복구 옵션 및 사용자 지정을 관리하는 도구이다.
다시 DISKPART로 돌아와서,
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
를 입력해 준다.
이 과정을 진행 후 BCD 로캘과 RE 이미지 로캘이 다르다거나 하는 이유로 파티션 내의 파일(복구 이미지 등)이 없어지는 경우가 있다.
이런 경우 백업해 놓았던 파일과 폴더를 파티션에 복사해 주는 것으로 문제를 해결할 수 있지만, 앞으로를 대비하여 BCD 로캘을 한국어로 변경해 주는 것도 좋다.
명령 프롬프트에서 "bcdboot C:\Windows /l ko-kr"을 입력하여 BCD 로캘을 한국어로 변경할 수 있으며, 이후 위의 두 단계를 다시 수행해 주면 된다.
복구 이미지 파일이 없어졌다면 파일 또한 다시 복사해 준다.
이후 'Remove letter=R'을 입력하여 할당했던 드라이브 문자를 제거한다.
마지막으로 '고급 시작 옵션'에서 '지금 다시 시작'을 실행하는 등의 방법으로 Windows RE로 진입할 수 있는지 확인한다.
위의 과정을 모두 수행하였는데도 Windows RE로의 부팅이 되지 않는다면 먼저
reagentc /disable
reagentc /enable
를 순서대로 입력하여 Windows RE 이미지를 키고 Windows 설치를 위해 올바르게 구성해 본다.
부팅이 되지 않는다면
Reagentc /info
를 입력하여 복구 환경이 제대로 되어 있는지 확인한다.
파일 구성 및 설정에 문제가 없음에도 Windows RE로의 부팅이 되지 않는다면,먼저 처음부터 위 과정을 다시 시도하고, 그래도 부팅이 되지 않는다면 첫 번째 방법인 현재 위치 업그레이드를 수행한다.
참고 및 관련 자료
https://sprout13.tistory.com/27
Windows, 시스템 및 복구 파티션 캡처 및 적용 | Microsoft Learn
https://learn.microsoft.com/en-us/mem/configmgr/osd/deploy-use/upgrade-windows-to-the-latest-version
https://www.microsoft.com/ko-kr/software-download/windows11
https://www.microsoft.com/ko-kr/software-download/windows10
'컴퓨터 > Windows' 카테고리의 다른 글
Windows 파일 암호화 시스템(EFS)에 대한 정보 (3) | 2022.12.18 |
---|---|
Windows 부팅, 종료 중 매우 자세한 상태 메시지 표시 (0) | 2022.12.05 |
현재 위치 업그레이드 (0) | 2022.12.05 |
작업 스케줄러를 이용한 Windows 부팅 시 프로그램 자동 시작 (2) | 2022.11.17 |
ASSOC(파일 확장명 연결)를 이용하여 연결 프로그램 설정 (0) | 2022.10.06 |
댓글