Dualboot에서 기존 운영 체제를 WSL로 실행

Dualboot에서 기존 운영 체제를 WSL로 실행

grub에서 관리하는 Windows 11 및 Arch Linux의 기존 이중 부팅 설정이 있습니다.

내 Arch 시스템을 Windows에서 WSL로 사용할 수 있나요?

$ lsblk -f
NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
|
|-nvme0n1p1
|    vfat   FAT32       73A8-FF43                             451.3M    12% /boot
|-nvme0n1p2
|    swap   1           23fe1eb0-971a-455f-bb80-301c0eb7eed5                [SWAP]
|-nvme0n1p3
|    ext4   1.0         702789b8-6895-4117-98f3-56908ea027d0  180.4G     3% /
`-nvme0n1p4
     ext4   1.0         9ac9ebb5-c604-4d89-875d-89590ff43db6    672G     0% /home
nvme1n1
|
|-nvme1n1p1
|    vfat   FAT32 SYSTEM
|                       BABE-8522
|-nvme1n1p2
|
|-nvme1n1p3
|    ntfs         Windows
|                       EC0AC1070AC0CFAE                      402.8G    15% /windows
`-nvme1n1p4
     ntfs         WinRE_DRV
                        0EFEC19BFEC17C09

답변1

제가 아는 한 현재로서는 실제로 방법이 없습니다.부트로더처음에 WSL에 의해 "초기화"되지 않은 드라이브의 WSL 인스턴스입니다.

그러나 적어도 두 가지 가능한 해결책이 있습니다. 둘 다 Windows 11 또는 최소한 Windows 10의 개발자/빌드 버전이 필요합니다.

  1. 그냥 방문하고 싶으시다면문서다른 WSL2 인스턴스 내에서 Arch 파티션에 액세스하는 것은 매우 간단합니다. 다음 명령을 사용하여 기존 물리 분할을 마운트할 수 있습니다.여기에 문서화된 Microsoft 지침.

  2. 정말로 원한다면사용WSL2의 Arch 파티션의 경우 상황은 좀 더 복잡하지만 chroot별도의 WSL2 인스턴스에서 액세스할 수 있도록 설정하면 여전히 가능합니다.

    이것은 여러 가지와 함께 제공됩니다거대한지침:

    • WSL2는 Systemd를 직접 지원하지 않습니다. 작동시키는 방법은 많지만 모두 구식 해결 방법입니다.
    • 관련 - Arch 시스템은 시작 시 Systemd에 의존할 가능성이 높으므로 필요한 서비스 대부분을 다른 방법을 통해 직접 시작해야 합니다.
    • Systemd를 실행하더라도 물리적 하드웨어를 사용할 수 있어야 하는 일부 작업을 수행합니다. 예를 들어 X/Wayland를 시작하려고 시도합니다. WSL의 경우 이는 WSLg 인스턴스에서 처리되어야 합니다.

    이 경로를 선택하려면 다음을 수행해야 합니다.

    • 필요한 Linux 파티션을 마운트하십시오.파티션된 디스크를 마운트하는 데 사용된 것과 동일한 WSL2 문서를 따르세요..

    • 최소 "부트스트랩" WSL2 인스턴스를 만듭니다. 이것이 장기적인 솔루션이라면 아마도 "라이트"이기 때문에 기본 배포판으로 Alpine을 사용할 것입니다. 하지만 Same as Ubuntu와 같이 좀 더 "완벽한 기능"(즉시 사용 가능)으로 시작하는 것이 가장 쉬운 방법일 것입니다. 나는 chroot과거에 기존 Ubuntu 배포판을 사용하여 비슷한 작업을 수행했습니다.

    • chroot용 디렉터리를 만듭니다.

    • sudo mount --bind(바인드 마운트) 마운트된 파티션은 기본 위치(일반적으로 /mnt/wsl)에서 적절한 위치(즉, rootfs 파티션의 chroot 디렉터리 자체 및 /home파티션의 홈 디렉터리)로 이동됩니다.

    • 가장 까다로운 부분은 모든 WSL 특수 마운트 및 소켓을 chroot에 사용할 수 있도록 만드는 것입니다. 나는 문서에 명시된 대로 이전에 이 작업을 수행한 적이 있습니다.여기, Arch의 경우에도 비슷해야 합니다. 즉, 필요한 경우 이중 부팅에 다시 사용할 수 있도록 "실행 취소"할 수 있도록 변경 사항을 모두 기록해 두십시오.

      WSL은 일반적으로 프로세스를 통해 이 작업의 대부분을 설정 /init하지만 A에서는 chroot수동으로 수행해야 합니다. 관련된 디렉터리, 파일 및 소켓은 최소한 다음과 같습니다.

      • /mnt/wsl: resolv.confWSL 생성 포함
      • /etc/resolv.conf: 생성된 버전에 대한 심볼릭 링크가 필요합니다.
      • /mnt/wslg: 그래픽 애플리케이션을 실행하기 위해 WSLg Weston 배포판과 통신하는 데 사용됩니다.
      • mnt/wslg/.X11-unix/(X 소켓)
      • /run/WSL: Windows와의 상호 운용성을 위해
      • /dev
      • /proc
      • /dev/pts
      • /sys
      • /binfmt_misc: .exeWindows를 실행하는 경우

관련 정보