VHD/VHDX 가상 디스크를 자동 마운트해야 하는 이유
Windows 7과 Windows Server 2008 R2부터 사용자는 디스크 관리(diskmgmt.msc) 콘솔에서 가상 하드 디스크 파일(VHD/VHDX)을 직접 생성하고 마운트할 수 있습니다. 이렇게 연결한 가상 디스크는 시스템에서 하나의 독립된 물리 디스크처럼 인식되므로, 일반 데이터를 저장하는 용도로 자유롭게 활용할 수 있습니다.
다만 기본 제공 기능만으로는 몇 가지 불편함이 있습니다.
- Windows를 재부팅할 때마다 VHD/VHDX 파일을 수동으로 다시 마운트해야 합니다.
- 가상 디스크 마운트 권한은 기본적으로 로컬 관리자에게만 주어지며, 일반 사용자는 매번 관리자에게 요청해야 합니다.
이 글에서는 Windows 시작(부팅) 시점에 VHD/VHDX 파일을 자동으로 마운트해, 관리자 권한이 없는 일반 사용자도 가상 디스크를 곧바로 사용할 수 있도록 구성하는 방법을 다룹니다.
Windows에는 재부팅 후 vhd 마운트를 자동화하는 내장 기능이 없기 때문에, 여기서는 diskpart 유틸리티와 작업 스케줄러(Task Scheduler)를 조합해 자동 마운트를 구현합니다.
1단계. diskpart 마운트 스크립트 작성
먼저 아래 코드를 담은 텍스트 파일(C:\Scripts\attach_vhdx.txt)을 만듭니다.select vdisk file="C:\vhd2\w10vhd.vhdx"
attach vdisk
select part 1
assign letter=K
exit

- C:\vhd2\w10vhd.vhdx – 마운트할 VHD/VHDX 디스크 이미지의 전체 경로
- K – 가상 디스크에 할당할 드라이브 문자
이 스크립트는 지정한 vhdx 파일을 마운트한 뒤 첫 번째 파티션을 선택하고 드라이브 문자를 할당합니다. 디스크에 파티션이 여러 개라면 select part 1 부분의 번호를 실제 마운트하려는 파티션 번호로 수정하면 됩니다.
참고. 보안상의 이유로 C:\Scripts\attach_vhdx.txt 파일의 NTFS 권한을 조정해 일반 사용자가 해당 파일을 임의로 수정하지 못하게 하는 것이 좋습니다.
2단계. 작업 스케줄러에 자동 실행 작업 등록
작업 스케줄러(Taskschd.msc)를 실행하고 새 작업을 만듭니다(동작 → 작업 만들기). 각 탭은 아래와 같이 구성합니다.

[일반] 탭
- 작업 이름(Name): automountvhdx
- "사용자가 로그온했는지 여부에 관계없이 실행" 선택
- "가장 높은 권한으로 실행" 체크
[트리거] 탭
- 새 트리거를 추가하고 "시작할 때(At Startup)"를 기본 설정으로 지정합니다.

[동작] 탭
- 새 동작(New) 생성
- 동작: 프로그램 시작(Start a program)
- 프로그램/스크립트: diskpart
- 인수 추가: /s "C:\Scripts\attach_vhdx.txt"

[조건] 탭에서는 "컴퓨터가 AC 전원에 연결되어 있는 경우에만 이 작업 시작" 항목을 해제합니다. 데스크톱 PC라면 큰 영향이 없지만, 배터리로 동작하는 노트북 환경에서는 반드시 확인해야 하는 옵션입니다.
변경 사항을 저장하면 작업을 실행할 계정의 사용자 이름과 암호를 입력하라는 창이 나타납니다. 이때 지정하는 계정은 반드시 관리자 권한을 가져야 합니다.

작업을 SYSTEM 계정으로 실행하고 싶다면, 작업 속성을 다시 열어 [일반] 탭에서 "사용자 또는 그룹 변경" 버튼을 클릭한 뒤 "사용자 또는 그룹 선택" 창에 system을 입력하고 저장합니다.

GUI 대신 PowerShell이나 schtasks 명령으로 작업을 생성할 수도 있습니다.
schtasks /create /tn "automountvhdx" /tr "diskpart.exe /s 'c:\Scripts\attach_vhdx.txt'" /sc ONLOGON /ru SYSTEM
이후 Windows가 시작될 때마다 지정한 VHDX 디스크가 자동으로 마운트됩니다.

참고. 일반적으로 가상 드라이브는 Windows 시작 후 약 30~60초 사이에 사용 가능한 디스크 목록에 나타납니다.
드라이브 문자 대신 특정 폴더에 마운트하기
VHDX 이미지를 별도의 드라이브 문자가 아니라 특정 폴더에 마운트하고 싶다면 c:\Scripts\attach_vhdx.txt 파일의 코드를 다음과 같이 수정합니다.
select vdisk file="C:\vhd2\w10vhd.vhdx"
attach vdisk
select part 1
assign mount="c:\mount"
exit
이렇게 하면 가상 디스크가 물리 드라이브의 지정한 디렉터리에 마운트되며, 해당 폴더 안에서 vhdx 파일의 내용을 바로 확인할 수 있습니다.

네트워크 공유 폴더의 VHDX 마운트
마운트 대상은 로컬 VHD 디스크에 국한되지 않습니다. UNC 경로를 사용하면 네트워크 공유 폴더에 있는 가상 디스크도 마운트할 수 있습니다.
select vdisk file="\\srv1\share\win10shared.vhdx"
재부팅 없이 스크립트 테스트하기
자동 마운트 스크립트를 테스트한다고 매번 컴퓨터를 재부팅할 필요는 없습니다. 관리자 권한 명령 프롬프트에서 다음 명령을 실행하면 됩니다.
diskpart /s c:\Scripts\attach_vhdx.txt
코드에 오류가 없다면 이 명령이 vhdx 파일을 즉시 연결하고, 시스템에 새 드라이브가 나타나는 것을 확인할 수 있습니다.

PowerShell로 VHDX 자동 마운트하기
위에서 소개한 자동 마운트 방법은 Windows 10, Windows 8.1, Windows 7 모두에서 사용할 수 있습니다. PowerShell을 선호한다면 아래 스크립트를 작업 스케줄러나 시작 프로그램에 등록해 VHDX 디스크를 자동으로 마운트할 수도 있습니다.
mount-vhd -path C:\vhd\win10vhd.vhdx –PassThru | Get-Disk | Get-Partition | Set-Partition -NewDriveLetter G
Mount-VHD cmdlet은 Hyper-V 모듈에 포함되어 있으므로, Hyper-V 기능이 설치된 Windows 10 Pro/Enterprise 환경에서 사용할 수 있다는 점을 참고하세요.
