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
반응형