programing

WSL(Bash on Windows) 루트 파일 시스템을 다른 하드 드라이브로 이동하시겠습니까?

linuxpc 2023. 4. 11. 21:45
반응형

WSL(Bash on Windows) 루트 파일 시스템을 다른 하드 드라이브로 이동하시겠습니까?

윈도10 레드스톤1의 경우그래서 Linux 서브시스템(일명 'Linux 서브시스템')에 대한 테스트를 했습니다.WSL, LXSS Bash(Windows)만, 가 WSL의 루트에 있는 것은 문제가 .FS는 FS를 사용합니다.%LocalAppData% 경(:C:\Users\xyz\AppData\LocalWindows OS windows windows windows windows windows 。노트북의 SSD 하드 드라이브 공간이 많이 소모되기 때문에 외장 하드 드라이브로 옮길 수 있으면 좋겠습니다.

을 하다 하드 Drive와 같은 일부 파일 시스템 .FS로 마운트되므로 다음과 같은 일부 Linux 파일 시스템 기능을 지원하지 않습니다.chmod 중 합니다.VoIFS는 VoIFS에만 VoIFS VoIFS の vo vo vo 。/ ★★★★★★★★★★★★★★★★★」/home.

그래서 WSL RootFS 전체를 다른 하드 드라이브로 옮기려고 했습니다.저 junction ntfs junction junction junction junction junction junction junction junction junction junction junction junction junction firstly junction firstly junction firstly junction firstly junction firstly junction firstly junction firstly firstly NTFS Junction (.C:\Users\xyz\AppData\Local\lxss하고 WSL을 mklinkWSL을 다시 설치해도 새 사용자를 생성할 없고 코드 0x80070003과 함께 오류가 보고됩니다.

검색해 보니 Linux 파일 시스템 이동 - 449호.WSL RootFS의 하드링크 이동 및 작성은 Windows 10 Build 14388보다 이전 버전에서만 동작하는 것 같습니다.Windows 10 Build 14393 RTM에서는 동작하지 않습니다.유일한 방법은 전체를 옮기는 것이다.%LocalAppData%외장 하드 드라이브에 연결할 수는 없지만, 노트북 사용자이기 때문에 외장 하드 드라이브를 가지고 다닐 수는 없습니다.

WSL을 시스템 파티션에서 이동할 수 있는 다른 방법이 있습니까?그렇게 할 수 없다면 다른 곳에 VoIFS 작업 디렉토리를 추가로 만들어 컴파일할 수 있습니까?

고맙고 안부를 전합니다, 잭슨

Windows 10 버전1903 (2019년 4월 업데이트)이후를 사용하고 있는 경우는, 및 옵션을 사용해 WSL 커맨드 라인 툴을 시험할 수 있습니다.이전 버전의 Windows 10을 사용하는 경우 lxRunOffline을 사용하여 배포를 다른 드라이브로 이동할 수 있습니다.


WSL 명령줄 도구 사용

4월 에서는, Windows 10 의 1903 (2019년 4월 업데이트) 를 사용할 수 .wsl.exe명령줄 도구입니다.

1. 배포를 내보냅니다.작성하다.tar wsl.exe --export

wsl.exe --export <DistributionName> <Tar-FileName>

를 들어, 「」를 , I/O 「」를 사용합니다.Ubuntu 해서 '배포 '배포', '배포', '배포', '배포'를 할 수 있습니다.

C:\> wsl.exe --export Ubuntu c:\data\ubuntu.tar

2. 대상 폴더에 배포를 Import합니다.그런 다음 내보낸 배포를 다른 폴더로 가져올 수 있습니다.

wsl.exe --import <DistributionName> <Folder-To-Install> <Tar-FileName>

를 들어, 내보낸 「」를 , 「」를 참조해 주세요.UbuntuUbuntuCustom 해서 '배포 '배포', '배포', '배포', '배포'를 할 수 있습니다.

C:\> wsl.exe --import UbuntuCustom d:\wsl\UbuntuCustom c:\data\ubuntu.tar

메모: 이러한 명령어를 사용하는 WSL 디스트로의 이동에 관한 스크립트는 https://github.com/pxlrbt/move-wsl 에서 확인할 수 있습니다.

3. 이전 설치 삭제(옵션)

wsl.exe --unregister <OriginalDistributionName>

4. 기본 사용자 설정

★★/etc/wsl.conf★★★★

[user]
default = <your username>

5. 새로운 배포 실행

wsl.exe -d <NewDistributionName>

LxRunOffline 사용

모든 Windows 10 버전에서 lxRunOffline을 사용하여 배포를 다른 드라이브로 이동할 수 있습니다.

1. 대상 폴더에 대한 권한을 설정합니다.우선 배포를 이동할 폴더에 대해 몇 가지 권한을 설정해야 한다고 생각합니다.사용할 수 있습니다.icacls <dir> /grant "<user>:(OI)(CI)(F)"적절한 권한을 설정합니다.

C:\> whoami
test\jaime

C:\> icacls D:\wsl /grant "jaime:(OI)(CI)(F)"

메모: 위의 권한 외에 Windows에서 긴 경로 이름을 활성화했습니다.

2. 배포를 이동합니다.사용.lxrunoffline move.

C:\wsl> lxrunoffline move -n Ubuntu-18.04 -d d:\wsl\installed\Ubuntu-18.04

다음을 사용하여 설치 폴더를 확인할 수 있습니다.

C:\wsl> lxrunoffline get-dir -n Ubuntu-18.04
d:\wsl\installed\Ubuntu-18.04

3. 배포를 실행합니다. 배포를 이동한 후 다음을 사용하여 배포를 실행할 수 있습니다.wsl '동일한'lxrunoffline

C:\wsl> lxrunoffline run -n Ubuntu-18.04 -w
user@test:~$ exit
logout

C:\wsl> wsl
user@test:/mnt/c/wsl$ exit
logout

WSL 에서는, 비시스템 드라이브로의 디스트로의 이동 또는 인스톨은 서포트되고 있지 않습니다.다만, 이것은, 장래의 Windows 릴리스에 대해 검토하고 있는 시나리오입니다.

Fall Creators Update(FCU)에서 디스트로는 Windows 스토어를 통해 설치되고 다운로드되어 다른 폴더로 확장됩니다(%localappdata%\lxss 이하가 아님).

NOTE: 향후 Windows 릴리즈에서 이 시나리오를 개선하기 위해 노력하고 있는 동안에는 Windows 또는 Windows 앱의 distro 폴더에 입력하지 마십시오.https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

https://github.com/DDoSolitary/LxRunOffline 를 참조해 주세요.

scoop install lxrunoffline
choco install lxrunoffline
  • 인스톨시에 인터넷에 액세스 할 필요는 없습니다.
  • Linux Distros를 디스크의 임의의 위치에 설치합니다.
  • 기존 설치를 다른 위치로 이동.
  • 기존 설치 복제(백업 생성)
  • 기존 설치 디렉토리를 등록합니다(휴대용).

Windows Home에 WSL2 Ubuntu20.04가 설치되어 있다

@pixelarbe로부터의 코멘트

wsl 명령어솔루션은 정상적으로 동작한다.이 단계를 자동화하기 위해 간단한 스크립트를 작성했습니다.github.com/pxlrbt/move-wsl

실행한 단계:

  1. gitub에서 명령을 실행하기 위해 Windows용 gitbash를 설치합니다.
  2. 디스트로 열기, 파일 추가

/etc/wsl.conf

[user]
default=<yourAccount>
  1. CMD "wsl.exe --shutdown"에서
  2. 다음에 디스트로를 열면 디폴트 유저가 되어, 모두 예전과 같이 보입니다.좋아요!

감사합니다 @pixelarbe!

업데이트: Windows 스토어에서 "Windows 터미널" 프로그램을 사용하고 있는데, 왠지 /etc/wsl.conf 설정이 항상 작동하지 않았습니다.그러나 나는 발견, 설정으로 이동하여 시작 디렉토리로 설정해 봅니다.
\\wsl$\Ubuntu-20.04\home\<your-username> 다음 중 하나:
\\wsl$\Alpine\home\<your-username>

설치된 디스트로를 다른 곳으로 이동하기만 하면 됩니다.

stop wsl first:wsl --shutdown

Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{some guid}\BasePath 여기에 이미지 설명 입력 디스트로를 다른 위치로 이동하고 레지스트리의 경로를 업데이트합니다.

언급URL : https://stackoverflow.com/questions/38779801/move-wsl-bash-on-windows-root-filesystem-to-another-hard-drive

반응형