subst R: .
폴더에 액세스하는 더 빠른 방법을 사용했습니다 .
R:
WSL에 "드라이버"를 설치할 수 있습니까 ? 실행하려고 하면 sudo mkdir /mnt/r
다음 sudo mount -t ntfs R: /mnt/r
오류가 발생합니다.
ntfs-3g: Failed to access volume 'R:': No such file or directory
ntfs-3g 2017.3.23AR.3 integrated FUSE 28 - Third Generation NTFS Driver
Configuration type 7, XATTRS are on, POSIX ACLS are on
Copyright (C) 2005-2007 Yura Pakhuchiy
Copyright (C) 2006-2009 Szabolcs Szakacsits
Copyright (C) 2007-2017 Jean-Pierre Andre
Copyright (C) 2009 Erik Larsson
Usage: ntfs-3g [-o option[,...]] <device|image_file> <mount_point>
Options: ro (read-only mount), windows_names, uid=, gid=,
umask=, fmask=, dmask=, streams_interface=.
Please see the details in the manual (type: man ntfs-3g).
Example: ntfs-3g /dev/sda1 /mnt/windows
News, support and information: http://tuxera.com
미리 감사드립니다!
StackOverflow에 동일한 질문을 했지만 올바른 위치가 아니라는 것을 깨달았습니다...
답변1
WSL은 그렇지 않지만자동적 인심지어직접드라이브에 액세스하려면 subst
드라이브를 매핑하는 여러 가지 방법이 있습니다. 특정 작업 흐름에 따라 선택할 수 있는 다양한 경로가 있습니다.
기억해야 할 주요 사항은 다음과 같습니다.
Linux에서는
sudo mount --bind . /mnt/r
대략 동일합니다subst R: .
. Linux에 상응하는 것이 필요하고 Windows에서 동일한 드라이브 문자에 액세스할 필요가 없다면 이것이 아마도 필요한 것일 것입니다.subst
Windows 기능과 매우 유사한 bash 기능을 만들 수도 있습니다 .즉,
bind
여기에는 약간의 과잉이 있을 수 있습니다. 예를 들어ln -s /mnt/c/Users/username ~/r
대상 위치에 대한 권한이 있는 한 루트는 필요하지 않습니다.Windows를 사용하여 생성한 매핑의 경우 PowerShell을 호출하여 Linux에서 지정된 경로를 검색
subst
할 수 있습니다 . 예를 들면 다음과 같습니다.subst
powershell.exe -c subst
grep
및sed
:를 사용하여 이를 R: 매핑으로만 필터링 할 수 있습니다powershell.exe -c "subst" | grep "^R" | sed "s/^R:\\\\: => //"
(드라이브/디렉터리가 여러 개인 경우subst
R: 드라이브만 찾아 디렉터리 경로 앞의 모든 항목을 삭제합니다).PowerShell은 추가 줄 바꿈("\r")을 반환하므로 다음과 같은 것을 사용해야 합니다
tr -d "\r"
.다음 명령을 사용하여 Windows 경로를 동등한 Linux/WSL 경로로 변환할 수 있습니다
wslpath
.
그것들을 합치면 R:을 다음으로 변환할 수 있는 스크립트가 있습니다 /mnt/r
(또는 ~/r
그것이 더 편리한 경우).
rpath=$(powershell.exe -c "subst" | grep "^R" | sed "s/^R:\\\\: => //" | tr -d "\r")
sudo mount --bind $(wslpath "${rpath}") /mnt/r/
또는 이에 상응하는 ln
.
물론 반복하기 쉽도록 기능에 할당해야 합니다.