
저는 WSL(Linux용 Windows 하위 시스템)을 사용해 왔으며 WSL의 홈 디렉터리에 파일을 만들 때 파일 탐색기에 실제로 존재하는 위치는 어디입니까? C: 드라이브가 /mnt/c/에 있기 때문입니다. Linux가 별도의 파티션에 있거나 마운트되어 있습니까?
WSL의 루트에서 목록 디렉터리를 실행하면 다음과 같습니다.
bin boot dev etc home init lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
일반 파일 탐색기에서 var
또는 bin
또는 폴더는 어디에 있습니까?home
답변1
앗- 안 돼! 댓글과 그에 상응하는 자체 답변에 관해절대를 통해 직접 파일에 액세스합니다 %LOCALAPPDATA%\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs
. WSL1의 경우 파일은 다음과 같습니다.저장됨WSL을 통해 직접 액세스하면 WSL이 손상될 수 있습니다. 또한 WSL2의 경우 파일이 가상 HDD( ext4.vhdx
) 내부에 있으므로 이 기술을 전혀 사용할 수 없습니다.
인용하려면해당 주제에 대한 Microsoft의 DevBlog:
Windows의 WSL에는 다음과 같은 엄격한 규칙이 있습니다.
어떤 상황에서도 Windows 앱, 도구, 스크립트, 콘솔 등을 사용하여 폴더 내의 Linux 파일에 액세스, 생성 및/또는 수정하지 마십시오.
%LOCALAPPDATA%
일부 Windows 도구를 사용하여 파일을 열면 열린 파일 및/또는 폴더가 읽기 잠금될 수 있습니다. , 파일 내용 및/또는 메타데이터 업데이트를 방지하여 > 본질적으로 파일/폴더가 손상됩니다.
Windows의 Appdata 폴더에 Linux 파일을 생성/변경하면 데이터가 손상되거나 Linux 환경이 손상되어 배포판을 제거하고 다시 설치해야 할 수 있습니다!
정답은 해당 페이지에서도 찾을 수 있습니다. WSL은 \\wsl$\<distroname>
다음을 수행할 수 있는 의사 네트워크 공유를 제공합니다.안전하게Windows에서 WSL 파일 시스템에 액세스합니다. 에 표시되려면 WSL 인스턴스가 실행 중이어야 합니다 \\wsl$\
.
답변2
@Narzard의 의견에 따르면 내 경우 정답은 다음 폴더로 이동하는 것입니다.
%LOCALAPPDATA%\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs
나는 데비안 배포판을 가지고 있기 때문에 패키지 폴더 이름이 나와 다를 수 있지만 일반적인 아이디어는 동일합니다. 그리고 실제로 해당 경로로 가면 리눅스의 루트 폴더가 모두 나타납니다.
@NotTheDr01ds가 지적했듯이 WSL이 손상될 수 있으므로 이 폴더에서 어떤 작업도 수행하면 안 됩니다. 어떤 이유로든 알고 싶다면 이것은 단지 "실제 폴더"일 뿐입니다.