접근

본인의 PC windows OS에는 물리적으로 SSD 2개를 장착하였고 OS는 C 드라이브에 설치되어있고 D 드라이브는 데이터 저장소 용으로 사용하고있다. WSL을 통해 설치되는 리눅스 파일 시스템의 기본 경로는 C:\Users\<유저명>\AppData\Local\Packages\<리눅스이름>\LocalState 아래에 ext4.vhdx라는 파일 경로로 설치된다. WSL에서 작업을 계속해나감에 따라 쌓이는 파일들의 용량을 감당하기 위해 다른(D드라이브)로 옮기는 방법을 알아본다.

TAR로 Export

일단은 기존 WSL 설치 방식 처럼 기본 경로에 리눅스를 설치한다. 그 후 --export 명령어를 통해 설치된 리눅스를 .tar 확장자의 파일로 추출한다. 예시에선 Ubuntu-18.04라는 이름의 리눅스 버전을 추출한다. <파일 경로>는 본인이 원하는 경로로 설정하고 .tar 확장자 파일로 만든다. 아래 명령어는 powershell 같은 터미널을 열고 실행하자.

:: wsl --export <리눅스 이름> <파일 경로>

wsl --export Ubuntu-18.04 D:\ubuntu-18-04.tar

위 명령어를 실행하면 ubuntu-18-04.tar라는 파일이 D 드라이브 경로에 생성된다.

기존 리눅스 버전 삭제

TAR 파일로 Export를 실행했다면 기존에 설치되어있는 Ubuntu-18.04 리눅스는 삭제를 진행한다. 우리가 추출한 tar 파일에서 다시 import를 할 예정이니 기존 C 드라이브에 설치된 리눅스는 지운다.

:: wsl --unregister <리눅스 이름>

wsl --unregister Ubuntu-18.04

TAR Import

다음으로 --import 옵션을 이용하여 파일로 추출한 리눅스 버전을 다시 설치해준다. 이 때 경로를 직접 지정할 수 있다. 이름을 굳이 기존 설치되어있던 리눅스 이름과 동일하게 하지 않아도 상관은 없다. 예시의 경우엔 일단은 기존에 설치된 이름이 리눅스의 버전을 알아보기 용이하므로 그대로 사용하고 설치 경로는 D:\wsl\ubuntu-18-04\ 디렉토리를 만들고 해당 폴더 내부에 하겠다.

:: wsl --import <설정해 줄 리눅스 이름> <설치경로> <추출한 파일 경로>

wsl --import Ubuntu-18.04 D:\wsl\ubuntu-18-04\ D:\ubuntu-18-04.tar

위 명령어를 실행하고 wsl -l -v를 실행하면 리눅스 배포판이 설치된 것을 확인할 수 있다. 하지만 중요한 작업이 남아있으니 아래 항목까지 보자.

User Setting

위 과정처럼 등록한 리눅스 버전을 -d 옵션으로 이름을 명시해서 실행하면 처음에 만들어준 계정이 아니라 root 계정으로 실행된다. 하지만 일반적으로 root 계정으로 리눅스를 사용하는 것은 권장되지 않으며 설치 시 지정한 sudo 권한이 있는 일반 사용자 계정을 사용하는 것이 좋다.

root로 해당 버전의 리눅스를 접속한 상태에서 터미널에 아래 명령어를 입력하여 설정파일을 만들어주자. 이미 root 계정이니 루트 파티션에 접근해도 sudo 권한은 필요가 없다.

$ touch /etc/wsl.conf

그 후 vi 혹은 vi가 익숙치 않다면 nano같은 터미널 기반 텍스트 에디터 툴을 이용하여 아래 내용을 작성한다. 아래 내용 중 <user>에는 리눅스 배포판 설치 시 만들어 준 계정을 입력한다. wsl 리눅스 실행 시 그 계정으로 로그인 되도록하기 위함이다.

[user]
default=<user>

어느 정도 리눅스를 다루는 것에 익숙하다면 굳이 touch 명령어를 사용하지 않고 vi로 한번에 작업했을 것이라 생각한다. 이후 터미널에서 exit 명령어를 통해 wsl을 로그아웃 한 후 다시 실행하여 보면 우리가 설정한 계정으로 리눅스 버전이 실행됨을 확인 할 수 있다.

Leave a comment