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

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

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

각 WSL 2 배포판이 라는 가상 하드 디스크 파일을 통해 저장되어 있기 때문에 이 기술을 사용하여 다른 WSL 배포판의 가상 하드 디스크를 탑재하고 상호 작용할 수도 ext4.vhdx 있습니다. 기본적으로 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 내에서 블록 디바이스를 사용할 수 있으므로 해당 디바이스에서 수동으로 탑재할 수 있습니다. 를 사용하여 lsblk WSL 2 내에서 사용 가능한 블록 디바이스를 나열합니다.

탑재 이름 지정

참고

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

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

wsl --mount <DiskPath> --name myDisk

디스크 분리

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

wsl --unmount [DiskPath]

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

참고

하나의 디스크가 분리되지 않으면 를 실행하여 WSL 2를 강제로 종료할 수 있습니다. 이 경우 wsl --shutdown 디스크가 분리됩니다.

제한 사항

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

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