Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)
(시리즈 글이 6개 있습니다.)
Windows: 111. 복구(Recovery) 파티션 삭제하는 방법
; https://www.sysnet.pe.kr/2/0/2918

Windows: 142. Windows 10의 복구 콘솔로 부팅하는 방법
; https://www.sysnet.pe.kr/2/0/11207

Windows: 143. Windows 10의 Recovery 파티션을 삭제 및 새로 생성하는 방법
; https://www.sysnet.pe.kr/2/0/11209

Windows: 147. 시스템 복구 디스크를 USB 디스크에 만드는 방법
; https://www.sysnet.pe.kr/2/0/11598

Windows: 156. 가상 디스크의 용량을 복구 파티션으로 인해 늘리지 못하는 경우
; https://www.sysnet.pe.kr/2/0/11807

Windows: 263. Windows - 복구 파티션(Recovery Partition) 용량을 늘리는 방법
; https://www.sysnet.pe.kr/2/0/13586




Windows - 복구 파티션(Recovery Partition) 용량을 늘리는 방법

가상 PC의 경우 vhdx를 자유롭게 크기 조절할 수 있는 데다, 대개의 경우 Recovery Partition이 디스크의 마지막에 위치하므로 파티션 크기를 늘리는 것에 딱히 제약이 없습니다.

문제는, 복구 파티션에 대해서는 "Extend Volume..." 메뉴를 제공하지 않기 때문에,

recovery_part_1.png

diskpart.exe의 도움을 받아야 한다는 번거로움이 있습니다.




자, 그럼 실제로 바꿔볼까요? 사실 Disk Management MMC에서 "Extend Volume..." 메뉴가 제공되지 않는 것은 해당 파티션 타입이 "Recovery"이기 때문입니다.

따라서, 이걸 그냥 set id=... 명령을 이용해 평범한 파티션 타입으로 재설정하면 됩니다.

C:\WINDOWS\system32> diskpart

Microsoft DiskPart version 10.0.20348.1

Copyright (C) Microsoft Corporation.
On computer: TESTPC

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           46 GB  1026 MB
  Disk 1    Online           16 GB  1024 KB

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list part

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary            100 MB  1024 KB
  Partition 2    Primary             44 GB   101 MB
  Partition 3    Recovery           529 MB    44 GB

DISKPART> sel part 3

Partition 3 is now the selected partition.

DISKPART> set id=7 override

DiskPart successfully set the partition ID.

DISKPART> list part

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary            100 MB  1024 KB
  Partition 2    Primary             44 GB   101 MB
* Partition 3    Primary            529 MB    44 GB

이렇게 바꾸고 나서 Disk Management MMC를 다시 실행해 보면 해당 파티션에 대해 "Extend Volume..." 메뉴가 활성화되는 것을 확인할 수 있습니다.

크기를 늘렸으면, 이제 다시 diskpart를 이용해 파티션 타입을 (id=7 Primary Partition에서) Recovery Partition 타입으로 바꿔줍니다.

DISKPART> set id=27 override

DiskPart successfully set the partition ID.

DISKPART> list part

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary            100 MB  1024 KB
  Partition 2    Primary             44 GB   101 MB
* Partition 3    Recovery          1554 MB    44 GB




참고로, 위의 상황은 MBR 파티션인 경우였고, GPT 파티션인 경우에는 각각 다음의 ID를 부여하면 됩니다.

Primary Partition Type ID: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    ex) set id=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 override
Recovery Partition Type ID: de94bba4-06d1-4d40-a16a-bfd50179d6ac
    ex) set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac override

PARTITION_INFORMATION_GPT structure (winioctl.h)
; https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ns-winioctl-partition_information_gpt

하지만 굳이 id 변경까지는 필요 없고 속성만 바꿔주면 "Extend Volume..." 메뉴가 활성화됩니다.

[diskpart.exe에서 해당 파티션에 대해 속성 변경]

GPT attributes=0x8000000000000000

물론, 파티션 확장 후 다시 원복하는 것도 잊지 마시고. ^^

GPT attributes=0x8000000000000001

또한, 만약 아래와 같은 식으로 Recovery Partition이 되어 있다면?

recovery_part_2.png

(아마도 상용 파티션 제품이면 가능하겠지만) 더 이상 늘릴 수 없으니, 삭제한 뒤 다른 디스크의 마지막에 새로 만드는 방법으로,

Windows 10의 Recovery 파티션을 삭제 및 새로 생성하는 방법
; https://www.sysnet.pe.kr/2/0/11209

해결해야 합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 3/27/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  [107]  108  109  110  111  112  113  114  115  116  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11349정성태10/31/201726110디버깅 기술: 107. windbg - x64 SOS 확장의 !clrstack 명령어가 출력하는 Child SP 값의 의미 [1]파일 다운로드1
11348정성태10/31/201721674디버깅 기술: 106. windbg - x64 역어셈블 코드에서 닷넷 메서드 호출의 인자를 확인하는 방법
11347정성태10/28/201726025오류 유형: 424. Visual Studio - "클래스 다이어그램 보기" 시 "작업을 완료할 수 없습니다. 해당 인터페이스를 지원하지 않습니다." 오류 발생
11346정성태10/25/201722413오류 유형: 423. Windows Server 2003 - The client-side extension could not remove user policy settings for 'Default Domain Policy {...}' (0x8007000d)
11338정성태10/25/201718917.NET Framework: 697. windbg - SOS DumpMT의 "BaseSize", "ComponentSize" 값에 대한 의미파일 다운로드1
11337정성태10/24/201722348.NET Framework: 696. windbg - SOS DumpClass/DumpMT의 "Vtable Slots", "Total Method Slots", "Slots in VTable" 값에 대한 의미파일 다운로드1
11336정성태10/20/201724218.NET Framework: 695. windbg - .NET string의 x86/x64 메모리 할당 구조
11335정성태10/18/201722825.NET Framework: 694. 닷넷 - <Module> 클래스의 용도
11334정성태10/18/201723027디버깅 기술: 105. windbg - k 명령어와 !clrstack을 조합한 호출 스택을 얻는 방법
11333정성태10/17/201722429오류 유형: 422. 윈도우 업데이트 - Code 9C48 Windows update encountered an unknown error.
11332정성태10/17/201722916디버깅 기술: 104. .NET Profiler + 디버거 연결 + .NET Exceptions = cpu high
11331정성태10/16/201720946디버깅 기술: 103. windbg - .NET 4.0 이상의 환경에서 모든 DLL에 대한 심벌 파일을 로드하는 파이썬 스크립트
11330정성태10/16/201719568디버깅 기술: 102. windbg - .NET 4.0 이상의 환경에서 DLL의 심벌 파일 로드 방법 [1]
11329정성태10/15/201725387.NET Framework: 693. C# - 오피스 엑셀 97-2003 .xls 파일에 대해 32비트/64비트 상관없이 접근 방법파일 다운로드1
11328정성태10/15/201728600.NET Framework: 692. C# - 하나의 바이너리로 환경에 맞게 32비트/64비트 EXE를 실행하는 방법파일 다운로드1
11327정성태10/15/201722322.NET Framework: 691. AssemblyName을 .csproj에서 바꾼 경우 빌드 오류 발생하는 문제파일 다운로드1
11326정성태10/15/201721479.NET Framework: 690. coreclr 소스코드로 알아보는 .NET 4.0의 모듈 로딩 함수 [1]
11325정성태10/14/201722330.NET Framework: 689. CLR 4.0 환경에서 DLL 모듈의 로드 주소(Base address) 알아내는 방법
11324정성태10/13/201723799디버깅 기술: 101. windbg - "*** WARNING: Unable to verify checksum for" 경고 없애는 방법
11322정성태10/13/201722921디버깅 기술: 100. windbg - .NET 4.0 응용 프로그램의 Main 메서드에 Breakpoint 걸기
11321정성태10/11/201723959.NET Framework: 688. NGen 모듈과 .NET Profiler
11320정성태10/11/201725284.NET Framework: 687. COR_PRF_USE_PROFILE_IMAGES 옵션과 NGen의 "profiler-enhanced images" [1]
11319정성태10/11/201732688.NET Framework: 686. C# - string 배열을 담은 구조체를 직렬화하는 방법
11318정성태10/7/201724143VS.NET IDE: 122. 비주얼 스튜디오에서 관리자 권한을 요구하는 C# 콘솔 프로그램 제작 [1]
11317정성태10/4/201729682VC++: 120. std::copy 등의 함수 사용 시 _SCL_SECURE_NO_WARNINGS 에러 발생
11316정성태9/30/201726856디버깅 기술: 99. (닷넷) 프로세스(EXE)에 디버거가 연결되어 있는지 아는 방법 [4]
... 106  [107]  108  109  110  111  112  113  114  115  116  117  118  119  120  ...