Windows 10 WSL에서 Linux / Ubuntu 파일에 액세스하는 방법은 무엇입니까?


71

이 질문 은 Ubuntu Bash에서 Windows 파일에 액세스하는 방법에 대한 답변이지만 어떻게 반대의 방법을 사용할 수 있습니까?

특히 /home/mark/.ssh/id_rsaBash 아래 에있는 Windows에서 SSH 키에 액세스해야합니다 .



(나는이 질문이 더 일반적이고 훨씬 더 좋고 더 최신의 답변을 가지고 있기 때문에 phuclv의 링크 된 질문을 역 시간순으로 속이는 것으로 제안했습니다.)
— Bob

답변:


26

Windows 명령 행 PM :

2019 년 10 월 업데이트 : Win10 1903 이상에서 새로 통합 된 P9 서버를 통해 배포판의 Linux 파일 에 직접 액세스 할 수있는 새로 추가 된 기능을 반영하도록 아래 응답을 업데이트합니다 .

중요 : Linux 파일에 액세스하기 위해 Windows 파일 시스템을 통해 급유하는 것은 계속 지원되지 않으며 강력하게 권장됩니다! 이유를 이해하려면 이 게시물을 읽으십시오

그렇다면 Windows 도구 (예 : 메모장, VS / VScode 등)를 사용하여 Linux 파일에 어떻게 액세스합니까? 예전에는 Windows 10 1903부터 P9 파일 서버를 통해 배포 파일 시스템을 Windows에 공개했습니다. 우리는 또한 이것이 어떻게 작동하는지에 대한 심도있는 비디오를 출판 했습니다 ! 이 블로그 게시물 에서이 새로운 기능에 대한 요약을 읽을 수도 있습니다.

여기에 이미지 설명을 입력하십시오

이 기능을 사용하는 방법에 대해 기다리십시오. 문제점을 발견하면 WSL GitHub 저장소 ( https://github.com/Microsoft/wsl) 에 문제점을 제출 하십시오 .


이 9P 파일 서버 기능은 일반 사용자에게 안정적입니까? 그렇지 않은 경우 불안정한 내부자 빌드 사용에 대한 경고를 추가하는 것이 좋습니다. 많은 사용자가 익숙하지 않을 수 있습니다. 한 가지 흥미로운 사실, 귀하의 답변에는 2016 년과 2019 년 ~ 3 세의 블로그가 포함되어 있습니다.)
— Biswapriyo

오, 정말 신나는 소식입니다 !! 공유해 주셔서 감사합니다!
— mpen

@ biswaprio.it는 내부 프로그램에 가입하기 위해 완료해야하는 수동 단계에서 매우 명확하게 만들어졌습니다.이 릴리스는 문자 그대로 다음 Windows 버전이 구축 될 때 매주 다음 버전입니다. 그렇습니다. 9P 서버는 기본 OS 릴리스의 일반 사용자에게 안정적입니다. 그렇습니다. 여기에 알맞은 솔루션을 구축하고 시작하는 데 오랜 시간이 걸렸다는 사실은 소규모 팀이 우선 순위를 지정하고 엔지니어링하는 것이 얼마나 까다로운 지에 대한 아이디어를 제공해야합니다.
— 리처드 터너

1
나는 이것이 릴리스 된 것을 처음으로 듣고 나서 시스템의 모든 업데이트와 함께 우분투 에서이 명령을 시도해 왔습니다. 탐색기는 항상 내 문서 폴더로 이동합니다. 그리고 아직 이 기능을 "활성화" 하는 단계 를 찾지 못했습니다 .
— Axeman

3
Axeman과 비슷한 상황을 실행 explorer.exe .하면 System32 폴더가 열립니다. @RichardTurner 수동 단계는 어디에 있습니까?
— Chris

57

위치는 실제로 최신 릴리스에서 다음으로 이동되었습니다.

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

Microsoft / WSL # 2578의 GitHub 문제 참조

위의 문제와 아래의 주석에서 언급했듯이 Windows OS에서 이러한 파일을 엉망으로 만들지 마십시오.

https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/


1
감사! 이전 지침을 따르려고 미쳤다고 생각했지만 lxss 폴더조차 없었습니다.
— Alex S

1
이 정보가 여전히 사실입니까? Windows 10에서 이러한 폴더를 찾을 수 없습니다.
— Bruno Finger

6
WINDOWS의 DISRO ROOT 폴더에 방치하지 말 것을 강력히 권장합니다. 데이터 손실 및 / 또는 손상이 발생할 가능성이 매우 높음 : 자세한 내용은이 게시물을 참조하십시오. blogs.msdn.microsoft.com/commandline/2016/11/17/…
— Richard Turner

1
"누군가가 그런 식으로 파일을 조작하거나 변경하려고하는지 의심합니다" 왜 내가 위의 조언을 외쳤다 고 생각합니까? 우리는 일주일에 여러 번 사람들로부터이 소식을 무시하거나 읽지 않아 루트 폴더의 파일이 손상되었다고 들었습니다. 대체로이 문제를 일으키는 β 디스크 파일을 대체하는 도구가 있습니다.
— 리처드 터너

1
탐색기에서 Ubuntu WSL을 통해 생성 한 폴더를 탐색했으며 결과적으로 권한이 돌이킬 수 없었습니다. 그래서 권장하지 않습니다!
— SamAndrew81

9

내 C 드라이브 전체를 검색하여 찾았습니다. 파일은 다음과 같습니다.

C:\Users\<username>\AppData\Local\lxss

예를 들어 내 SSH 키는 다음과 같습니다.

C:\Users\Mark\AppData\Local\lxss\home\mark\.ssh\id_rsa

2
공식 FCU 업데이트 이후 경로가 변경된 것 같습니다.
— Briefkasten

1
@Briefkasten 방금 FCU로 업데이트했는데 파일이 여전히 있습니다. Bash 아래에 새 파일을 만들었습니다. WSL 또는 다른 것을 업그레이드 했습니까?
— mpen

2
@John D WSL은 앱이 설치 될 패키지 폴더에 있습니다. 나에게 그것은 C : / Users / {username} / AppData / Local / Packages / CanonicalGroupLimited. UbuntuonWindows_79rhkp1fndgsc / LocalState / rootfs / Cont. 에 github.com/Microsoft/WSL/issues/402#issuecomment-321853125
— Briefkasten

9

예. 그러나 Windows 탐색기에서 해당 폴더를 조작하지 않는 것이 좋습니다. lxss 폴더에서 파일을 복사, 이동, 편집 또는 지우려면 명령 줄 도구를 사용하여 bash 내에서 파일을 만들어야합니다. / mnt / *에있는 파일 만 실제로 Windows 탐색기에서 조작 할 수 있습니다.


1
간단한 텍스트 파일이라도? 함정은 무엇입니까?
— mpen

3
Volfs 폴더 (예 : / home)에있는 모든 파일에는 해당 파일의 Linux 권한을 저장하는 확장 속성이 있습니다. Windows 편집기에서 해당 파일을 편집하면 해당 속성이 손실되고 파일이 bash에서 사라집니다. 자세한 내용은 다음을 참조하십시오 : blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
— onoma

4
그런 소리는 버그 여야합니다. Windows는 이러한 파일에 대한 액세스 권한을 부여하거나 읽기 전용 액세스 권한을 부여하지 않아야하며, Linux 파일에 대한 쓰기 호출을 가로 채고 속성을 수정해서는 안됩니다. 팁 고마워. 파일 만 읽으려고했기 때문에 문제가되지 않기를 바랍니다.
— mpen

5

에서 powershell사용

cd ${env:appdata}\..\local\packages\canonical*\localstate\rootfs

그때

ls

같은 폴더 목록을 반환합니다

ls / 

WSL의 bash 내에서.


4

위에서 언급했듯이 WSL 디렉토리의 [onoma] 파일은 Windows 시스템에서 탐색기 나 텍스트 편집기를 사용하여 파일을 조작하면 사라지는 속성을 갖습니다. 해결 방법은 로컬 호스트에서 WSL 파일 시스템을 수신 한 후 WSL에서 ssh-server를 시작하고 (재설치가 필요할 수 있음) win-sshfs와 같은 드라이브로 WSL 파일 시스템을 마운트하거나 Bitvise SSH 클라이언트를 사용하여 ssh를 통해 연결하는 것입니다 sftp 창으로 파일을 조작하십시오. 주제는 여기에서 부분적으로 논의되었습니다 : "Windows 10의 Ubuntu에 대한 Bash"에 SSH로 연결하려면 어떻게해야합니까?


3

subst L: $env:LOCALAPPDATA\lxss (파워 쉘용)

또는 subst L: %LocalAppData%\lxss(에서 cmd)

이것은 리눅스 서브 시스템 파일 시스템 루트 /를 L : 드라이브에 넣습니다.

당신은 또한 당신의 홈 디렉토리를 매핑하거나 %LocalAppData%\lxss탐색기 창에서 hack 수 있습니다. L : \ mnt \ c를 탐색하지 마십시오. 뇌가 폭발 할 수 있습니다.


3
좋은 해결책! 현재 Windows 10 그것의 SUBST의 L의 경우 : $ ENV : LOCALAPPDATA \ 패키지 \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ rootfs
— 안드레아스 M. Oberheim

3

마지막으로 WSL 내부에서 실제 올바른 폴더 컨텍스트로 탐색기 (및 vscode)를 여는 방법을 만들었습니다 : https://github.com/andymule/wslwin

예를 들어, 이것을 설치하면 Linux (WSL)에서 방금 cd /home/mark/.ssh/입력하고 입력 explorer하면 해당 위치에서 Windows 탐색기를 열 수 있습니다.

편집 :이 기능은 현재 WSL에서 공식적으로 지원되며 더 이상 내 스크립트를 사용하지 않아야합니다


2

Windows 10 크리에이터 업데이트의 Im. SFTP NetDrive를 사용하여 WSL 파일 시스템을 네트워크 드라이브처럼 Windows에 마운트합니다.

동일한 결과를 얻을 수있는 몇 가지 Window sshFS 포트가 있습니다.

"sudo service ssh start"를 통해 ssh 데몬을 시작해야합니다.


파일로 직접 이동하는 것보다 이점이 무엇입니까?
— mpen

파일에 메타 데이터가 첨부되어있어 메타 데이터를 이해하지 못하는 응용 프로그램으로 직접 액세스 할 때 손실 될 수 있습니다.
— mlk

0
\\wsl$\Ubuntu\home\user\whatever 

탐색기 또는 실행 위젯 (Cmd + R)에서. 일반적인 네트워크 공유처럼 작동하며 파일을 조작하는 것이 안전합니다.

다른 네트워크 공유와 마찬가지로 드라이브 나 폴더에 매핑 할 수도 있습니다.

참고 : 이것은 Windows 10 빌드 18342에서 구현 된 새로운 기능입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.