WSL 2에서 Linux 디스크 탑재

Windows 지원되지 않는 Linux 디스크 형식에 액세스하려면 WSL 2를 사용하여 디스크를 탑재하고 해당 콘텐츠에 액세스할 수 있습니다. 이 자습서에서는 WSL2에 연결할 디스크 및 파티션을 식별하는 단계, 디스크를 탑재하는 방법 및 액세스 방법을 설명합니다.

USB 디바이스(플래시 드라이브, SD 카드 판독기 등)를 연결하는 방법에 대한 지침을 찾고 있는 경우 커넥트 USB 디바이스를 참조하세요.

참고

WSL 2에 디스크를 연결하려면 관리자 액세스 권한이 필요합니다. WSL 2 mount 명령은 현재 사용 중인 디스크(또는 디스크에 속하는 파티션)의 탑재를 지원하지 않습니다. wsl --mount 파티션만 요청하더라도 항상 전체 디스크를 연결합니다. Windows 설치 디스크를 탑재할 수 없습니다.

사전 요구 사항

이 기능에 액세스하려면 Windows 11 빌드 22000 이상에 있어야 합니다. Windows 참가자 프로그램에 참여하여 최신 미리 보기 빌드를 가져올 수 있습니다.

분할되지 않은 디스크 탑재

이 가장 간단한 경우 파티션이 없는 디스크가 있는 경우 명령을 사용하여 wsl --mount 직접 탑재할 수 있습니다. 먼저 디스크를 식별해야 합니다.

  1. 디스크 식별 - Windows 사용 가능한 디스크를 나열하려면 다음을 실행합니다.

    GET-CimInstance -query "SELECT * from Win32_DiskDrive"
    

    디스크 경로는 'DeviceID' 열에서 사용할 수 있습니다. 일반적으로 형식입니다 \\.\PHYSICALDRIVE* .

  2. 디스크 탑재 - PowerShell을 사용하여 위에서 검색된 디스크 경로를 사용하여 디스크를 탑재하고 다음을 실행할 수 있습니다.

    wsl --mount <DiskPath>
    

    Mounting a drive in WSL

분할된 디스크 탑재

디스크가 어떤 파일 형식인지 또는 어떤 파티션이 있는지 확실하지 않은 경우 아래 단계에 따라 탑재할 수 있습니다.

  1. 디스크 식별 - Windows 사용 가능한 디스크를 나열하려면 다음을 실행합니다.

    GET-CimInstance -query "SELECT * from Win32_DiskDrive"
    

    디스크 경로는 일반적으로 'DeviceID' 형식으로 \\.\PHYSICALDRIVE* 나열됩니다.

  2. WSL 2에서 탑재할 파티션을 나열하고 선택합니다 . 디스크가 식별되면 다음을 실행합니다.

    wsl --mount <DiskPath> --bare
    

    이렇게 하면 WSL 2에서 디스크를 사용할 수 있습니다. (예제의 경우 is .<DiskPath>\\.\PHYSICALDRIVE*

  3. 연결되면 WSL 2 내에서 다음 명령을 실행하여 파티션을 나열할 수 있습니다.

    lsblk
    

    그러면 사용 가능한 블록 디바이스 및 해당 파티션이 표시됩니다.

Linux 내에서 블록 디바이스는 .로 /dev/<Device><Partition>식별됩니다. 예를 들어 /dev/sdb3은 디스크 sdb의 파티션 번호 3입니다.

예제 출력:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   0    1G  0 disk
├─sdb2   8:18   0   50M  0 part
├─sdb3   8:19   0  873M  0 part
└─sdb1   8:17   0  100M  0 part
sdc      8:32   0  256G  0 disk /
sda      8:0    0  256G  0 disk

파일 시스템 유형 식별

디스크 또는 파티션의 파일 시스템 유형을 모르는 경우 다음 명령을 사용할 수 있습니다.

blkid <BlockDevice>

그러면 검색된 파일 시스템 형식(형식 아래 TYPE="<Filesystem>" )이 출력됩니다.

선택한 파티션 탑재

탑재하려는 파티션을 식별한 후에는 각 파티션에서 다음 명령을 실행합니다.

wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>

참고

전체 디스크를 단일 볼륨으로 탑재하려는 경우(즉, 디스크가 분할되지 않은 경우) --partition 생략할 수 있습니다.

생략하면 기본 파일 시스템 유형은 "ext4"입니다.

디스크 콘텐츠 액세스

탑재되면 구성 값 automount.root이 가리키는 경로 아래에 디스크에 액세스할 수 있습니다. 기본값은 /mnt/wsl입니다.

Windows 다음으로 이동하여 \\wsl$\\<Distro>\\<Mountpoint> 파일 탐색기 디스크에 액세스할 수 있습니다(Linux 배포판 선택).

디스크 분리

WSL 2에서 디스크를 분리하고 분리하려면 다음을 실행합니다.

wsl --unmount <DiskPath>

WSL에서 VHD 탑재

참고

Microsoft Store WSL에는 VHD를 직접 탑재하는 새 인수가 도입되었습니다.wsl --mount --vhd <pathToVHD>

를 사용하여 WSL에 VHD(가상 하드 디스크 파일)를 탑재할 수도 있습니다 wsl --mount. 이렇게 하려면 먼저 Windows 명령을 사용하여 Mount-VHD VHD를 Windows 탑재해야 합니다. 관리자 권한으로 이 명령을 실행해야 합니다. 다음은 이 명령을 사용하고 디스크 경로도 출력하는 예제입니다. 실제 VHD 경로로 바꿔 <pathToVHD> 야 합니다.

Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"

위의 출력을 사용하여 이 VHD의 디스크 경로를 가져오고 이전 섹션의 지침에 따라 WSL에 탑재할 수 있습니다.

각 WSL 2 배포판은 다음과 같은 ext4.vhdx가상 하드 디스크 파일을 통해 저장되므로 이 기술을 사용하여 다른 WSL 배포판의 가상 하드 디스크를 탑재하고 상호 작용할 수도 있습니다. 기본적으로 WSL 2 배포판에 대한 VHD는 이 경로 C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName]에 저장됩니다. 이러한 시스템 파일에 액세스하는 데 주의하세요. 이는 전원 사용자 워크플로입니다. 디스크가 사용되고 있지 않은지 확인하려면 이 디스크와 상호 작용하기 전에 실행 wsl --shutdown 해야 합니다.

Mounting WSL VHD

명령줄 참조

특정 파일 시스템 탑재

기본적으로 WSL 2는 디바이스를 ext4로 탑재하려고 시도합니다. 다른 파일 시스템을 지정하려면 다음을 실행합니다.

wsl --mount <DiskPath> -t <FileSystem>

예를 들어 디스크를 fat으로 탑재하려면 다음을 실행합니다.

wsl --mount <Diskpath> -t vfat

참고

WSL2에서 사용 가능한 파일 시스템을 나열하려면 다음을 실행합니다. cat /proc/filesystems
디스크가 WSL2(Linux 파일 시스템)를 통해 탑재된 경우 더 이상 Windows 파일 시스템의 ext4 드라이버를 통해 탑재할 수 없습니다.

특정 파티션 탑재

기본적으로 WSL 2는 전체 디스크를 탑재하려고 시도합니다. 특정 파티션을 탑재하려면 다음을 실행합니다.

wsl --mount <Diskpath> -p <PartitionIndex>

디스크가 MBR(마스터 부팅 레코드) 또는 GPT(GUID 파티션 테이블)인 경우에만 작동합니다. 파티션 스타일( MBR 및 GPT)에 대해 읽어봅니다.

탑재 옵션 지정

탑재 옵션을 지정하려면 다음을 실행합니다.

wsl --mount <DiskPath> -o <MountOptions>

예제:

wsl --mount <DiskPath> -o "data=ordered"

참고

현재는 파일 시스템별 옵션만 지원됩니다. 같은 ro, rw, noatime, ... 제네릭 옵션은 지원되지 않습니다.

디스크를 탑재하지 않고 연결

위의 옵션에서 디스크 구성표를 지원하지 않는 경우 다음을 실행하여 디스크를 탑재하지 않고 WSL 2에 연결할 수 있습니다.

wsl --mount <DiskPath> --bare

이렇게 하면 WSL 2 내에서 블록 디바이스를 사용할 수 있으므로 여기에서 수동으로 탑재할 수 있습니다. WSL 2 내에서 사용 가능한 블록 디바이스를 나열하는 데 사용합니다 lsblk .

탑재 이름 지정

참고

이 옵션은 Microsoft Store WSL에서만 사용할 수 있습니다.

기본적으로 탑재 지점 이름은 실제 디스크 또는 VHD 이름을 기반으로 생성됩니다. 를 사용하여 재정 --name의할 수 있습니다. 예제:

wsl --mount <DiskPath> --name myDisk

디스크 분리

WSL 2에서 디스크를 분리하려면 다음을 실행합니다.

wsl --unmount [DiskPath]

생략하면 Diskpath 연결된 모든 디스크가 분리되고 분리됩니다.

참고

디스크 한 대를 분리하지 못하면 WSL 2를 실행 wsl --shutdown하여 강제로 종료할 수 있습니다. 그러면 디스크가 분리됩니다.

제한 사항

  • 현재는 전체 디스크만 WSL 2에 연결할 수 있으므로 파티션만 연결할 수 없습니다. 즉, 디바이스를 Windows 분리할 수 없으므로 부팅 디바이스에서 파티션을 읽는 데 사용할 wsl --mount 수 없습니다.

  • 커널 wsl --mount에서 기본적으로 지원되는 파일 시스템만 . 즉, 설치된 파일 시스템 드라이버(예: ntfs-3g)를 호출 wsl --mount하여 사용할 수 없습니다.

  • 커널에서 직접 지원되지 않는 파일 시스템은 연결을 통해 --bare 탑재한 다음 관련 FUSE 드라이버를 호출할 수 있습니다.