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

비밀번호

댓글 작성자
 




... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
12863정성태12/4/20217257개발 환경 구성: 610. 파이썬 - PyPI 패키지 만들기
12862정성태12/3/20215981오류 유형: 768. Golang - 빌드 시 "cmd/go: unsupported GOOS/GOARCH pair linux /amd64" 오류
12861정성태12/3/20218200개발 환경 구성: 609. 파이썬 - "Windows embeddable package"로 개발 환경 구성하는 방법
12860정성태12/1/20216306오류 유형: 767. SQL Server - 127.0.0.1로 접속하는 경우 "Access is denied"가 발생한다면?
12859정성태12/1/202112479개발 환경 구성: 608. Hyper-V 가상 머신에 Console 모드로 로그인하는 방법
12858정성태11/30/20219736개발 환경 구성: 607. 로컬의 USB 장치를 원격 머신에 제공하는 방법 - usbip-win
12857정성태11/24/20217149개발 환경 구성: 606. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법
12856정성태11/23/20218986.NET Framework: 1121. C# - 동일한 IP:Port로 바인딩 가능한 서버 소켓 [2]
12855정성태11/13/20216279개발 환경 구성: 605. Azure App Service - Kudu SSH 환경에서 FTP를 이용한 파일 전송
12854정성태11/13/20217918개발 환경 구성: 604. Azure - 윈도우 VM에서 FTP 여는 방법
12853정성태11/10/20216244오류 유형: 766. Azure App Service - JBoss 호스팅 생성 시 "This region has quota of 0 PremiumV3 instances for your subscription. Try selecting different region or SKU."
12851정성태11/1/20217650스크립트: 34. 파이썬 - MySQLdb 기본 예제 코드
12850정성태10/27/20218814오류 유형: 765. 우분투에서 pip install mysqlclient 실행 시 "OSError: mysql_config not found" 오류
12849정성태10/17/20217914스크립트: 33. JavaScript와 C#의 시간 변환 [1]
12848정성태10/17/20218885스크립트: 32. 파이썬 - sqlite3 기본 예제 코드 [1]
12847정성태10/14/20218732스크립트: 31. 파이썬 gunicorn - WORKER TIMEOUT 오류 발생
12846정성태10/7/20218499스크립트: 30. 파이썬 __debug__ 플래그 변수에 따른 코드 실행 제어
12845정성태10/6/20218345.NET Framework: 1120. C# - BufferBlock<T> 사용 예제 [5]파일 다운로드1
12844정성태10/3/20216324오류 유형: 764. MSI 설치 시 "... is accessible and not read-only." 오류 메시지
12843정성태10/3/20216774스크립트: 29. 파이썬 - fork 시 기존 클라이언트 소켓 및 스레드의 동작파일 다운로드1
12842정성태10/1/202125210오류 유형: 763. 파이썬 오류 - AttributeError: type object '...' has no attribute '...'
12841정성태10/1/20218616스크립트: 28. 모든 파이썬 프로세스에 올라오는 특별한 파일 - sitecustomize.py
12840정성태9/30/20218690.NET Framework: 1119. Entity Framework의 Join 사용 시 다중 칼럼에 대한 OR 조건 쿼리파일 다운로드1
12839정성태9/15/20219743.NET Framework: 1118. C# 11 - 제네릭 타입의 특성 적용파일 다운로드1
12838정성태9/13/20219361.NET Framework: 1117. C# - Task에 전달한 Action, Func 유형에 따라 달라지는 async/await 비동기 처리 [2]파일 다운로드1
12837정성태9/11/20218293VC++: 151. Golang - fmt.Errorf, errors.Is, errors.As 설명
... [31]  32  33  34  35  36  37  38  39  40  41  42  43  44  45  ...