DevOps

WSL2 VHDX 가상드라이버 추가하기

IT오이시이 2026. 2. 21. 14:30
728x90

 

 

WSL2 설치 후  OS를 별도의 가상드라이버 준비를 했지만 리눅스의 Data 영역을 별도의 이미지로 관리를 하고자 합니다.

그래서 별도의 가상드라이버를 생성하고 마운트 하는 것을 고려 했습니다.

 

다음과 같이 WSL "Oracke95" 리눅스로 설치를 하여 다음과 같이 파일을 마운트 하려고 했으나

사용할 때마다 수동으로 다음과 같은 명령을 해야 마운트가 되었습니다.

wsl --mount \\.\PhysicalDriveX --vhd --bare

wsl -d Oracle95 --mount \\?\C:\WSL\wslimgs\wsl_data.vhdx --vhd --bare

 

   WSL OS 가 설치된 가상 드라이버 이미지 로  "C:\\WSL\\wslimgs\\oracle95.vhdx" 가 있다.
  (앞에서 설명한 블로그 참조)

WSL 가상디스크 볼륨 생성

  - WSL2의 이미지를 사용자가 지정하는 디렉토리에 저장하는 것과 가상드라이버 만드는 부분은 아래 정리해둔 내용을 참고 합니다.

 

 

가상디스크 볼륨 연결

 

"윈도우 > 시스템 > 저장소 설정 >> 고급 저장소 설정 >> 디스크 및 볼륨" 으로 이동합니다. 

 

 

1.    VHD 만들기를 이용하여 데이터를 저장한 디스크를 만듭니다.

    - 가상하드 디스크 이름 "wsl_data2" 라고 가정하고 , 위치는 D: 같은 곳에 지정을 합니다.
    - 가상디스크 크기를 20GB 로 하고  VHDX 형식으로  동적할당을 하여서 (데이터가 저장되면 용량이 20GB 까지 커집니다.)

2. 생성된 VHD를 연결 합니다.

       저는 기존에 만들어둔  "C:\WSL\wslimgs\\wsl_data.vhdx" 파일을 연결 합니다.

-가상드라이버 연결-

 

 - "diskpart"  명령으로 수동으로 가상드라이버를 마운트 하는 방법

diskpart
select vdisk file="C:\WSL\wslimgs\wsl_data.vhdx"
attach vdisk
exit

 

 

3. 연결된 가상디스크의 정보를 확인 합니다.

 - 디스크 ID 가 1 이라고 설정이 되어 있습니다. (중요)

 

<추가> 윈도우  commad  "diskpart" 라는 명령 또는 " diskmgmt.msc " 으로  디스크가 연결된 상태를 확인 해봅니다.

PS C:\WSL> diskpart

Microsoft DiskPart 버전 10.0.26100.1150

Copyright (C) Microsoft Corporation.
컴퓨터: DESKTOP-D7UFGB2

DISKPART> list vdisk

  가상 디스크 ###  디스크 ###  상태                 형식       파일
  ---------------  ----------  -------------------  ---------  ----
  가상 디스크 0    디스크 1    연결되고 열리지 않음          확장 가능      C:\WSL\wslimgs\wsl_data.vhdx

 

4. 연결된 VHDX를  wsl에서 사용 합니다.

 - 가상드라이버 disk ID가  disk 1 입니다.

# 가상드라이버 ID : 디스크 X 
wsl --mount \\.\PhysicalDriveX --bare


C:\WSL>wsl --mount \\.\PhysicalDrive1 --bare
작업을 완료했습니다.

 

5.  WSL을 실행합니다. 

   

C:\WSL>wsl
[root@DESKTOP-D7UFGB2 WSL]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sde       1007G   18G  938G   2% /
/dev/sdd1        39G   36K   37G   1% /app_data

 


* 작동이 되는 현재 상태 정리 :  

   - diskmgmt.msc   : 디스크가 연결되어 있음.

   - diskpart :  아래 상태로 연결 되어 있음

      DISKPART> list vdisk

  가상 디스크 ###  디스크 ###  상태                 형식       파일
  ---------------  ----------  -------------------  ---------  ----
  가상 디스크 0    디스크 1    연결되고 열리지 않음          확장 가능      C:\WSL\wslimgs\wsl_data.vhdx

  - 저장소 >> 디스크 볼륨 >> Msft Virtual Disk 

 

 

(참고) 관련 명령 과 오류 

diskpart - vdisk 연결 해제 명령어

diskpart
list vdisk  (현재 연결된 vdisk 확인)
select vdisk file="C:\path\to\your.vhdx"  (vdisk 선택, 전체 경로 필수)
attach vdisk  (attach, 읽기전용은 attach vdisk readonly)
detach vdisk  (detach, 연결된 vdisk 해제)

 

WSL의 가상디스크를 이용하여 로딩 하는 방법 

" wsl --import-in-place Oracle95 C:\WSL\wslimgs\oracle95.vhdx  
 wsl -d Oracle95 "

 

 

다음과 같은 오류 가 발생 하였는데 원인과 문제 해결은 찾기 어렵다 

   - disk를 attach detach 하고 여러번 하다보니 해결 됨 ㅜㅜ

PS C:\WSL> wsl --mount \\.\PhysicalDrive1 --vhd --bare
잘못된 기능입니다.
오류 코드: Wsl/0x80070001

C:\WSL>wsl --unmount \\.\PhysicalDrive1 --vhd
지정된 파일을 찾을 수 없습니다.
오류 코드: Wsl/Service/DetachDisk/ERROR_FILE_NOT_FOUND

728x90
반응형