본문 바로가기
Project/Ubuntu

WSL2 D드라이브로 마이그레이션하기

by FastBench 2024. 4. 4.

 

WSL2(Windows Subsystem for Linux 2)에서 기본 저장 위치를 C 드라이브에서 D 드라이브로 변경하기

기존 WSL2 인스턴스를 내보낸 후 D 드라이브에 다시 가져오는 방법


  1. WSL 인스턴스 내보내기: 현재 사용 중인 WSL 인스턴스를 tar 파일로 내보낸다. PowerShell을 관리자 권한으로 실행한 후 다음 명령어를 사용한다. (여기서는 Ubuntu라는 이름의 WSL 인스턴스를 예로 들었. 실제 사용 중인 인스턴스 이름으로 변경해야 한다.)
    wsl --export Ubuntu D:\wsl_backup\Ubuntu.tar​
  2. 기존 WSL 인스턴스 제거: 내보낸 후에는 기존 인스턴스를 제거한다.
    wsl --unregister Ubuntu​
     
  3. 새 위치에 WSL 인스턴스 가져오기: 내보낸 tar 파일을 사용하여 새 위치에 WSL 인스턴스를 다시 생성한다.
    wsl --import Ubuntu D:\wsl_instances\Ubuntu D:\wsl_backup\Ubuntu.tar​
    이 때, D:\wsl_instances\Ubuntu는 새로운 WSL 인스턴스의 저장 위치이며, 변경할 수 있다.이 과정을 통해 C 드라이브가 아닌 D 드라이브에 WSL2 인스턴스의 저장 위치를 변경할 수 있다.
    명령어에서 사용한 경로나 인스턴스 이름은 상황에 맞게 조정하자.

로그인 설정 변경

WSL 인스턴스의 위치를 옮긴 후 Ubuntu에 접속할 때 기본적으로 root 사용자로 로그인되는 문제는, 사용자 계정의 기본 로그인 설정이 변경되었기 때문이다. 일반적으로, WSL은 처음 설치할 때 생성한 사용자 계정으로 로그인되도록 설정되지만, 인스턴스를 내보내고 다시 가져오는 과정에서 이 설정이 초기화될 수 있다.

 

  1. Windows PowerShell 또는 명령 프롬프트를 연다.
  2. 기본 사용자를 변경하고 싶은 WSL 인스턴스의 이름을 확인한다. 인스턴스의 목록을 보려면 다음 명령어를 사용한다:
    wsl -l -v​
  3. 기본 사용자를 변경합니다. 다음 명령어를 사용하여 원하는 인스턴스에 대해 기본 사용자를 설정할 수 있다. 여기서 your_username은 사용하고자 하는 Linux 계정의 사용자 이름이다:
    ubuntu config --default-user your_username
    이 명령어에서 ubuntu는 Ubuntu 인스턴스에 대한 명령어를 실행한다는 것을 의미한다. 만약 다른 배포판을 사용한다면 ubuntu 대신 해당 배포판의 이름을 사용해야 한다. 

 

만약 이 명령어가 작동하지 않거나 ubuntu config 명령어를 인식하지 못하는 경우, WSL 인스턴스 내에서 직접 변경하는 방법을 시도할 수 있다.

  1. WSL 인스턴스를 root 사용자로 실행한다.
  2. /etc/wsl.conf 파일을 생성하거나 편집한다. 
    nano /etc/wsl.conf​
  3. 다음 내용을 wsl.conf 파일에 추가한다:
    여기서 your_username은 사용하고자 하는 Linux 계정의 사용자 이름이다.
    [user]
    default=your_username​
  4. 파일을 저장하고 WSL 인스턴스를 종료한다. 변경 사항을 적용하기 위해 exit 를 통해 WSL 인스턴스를 완전히 종료한다.
    그리고 나서 Windows에서 다음 명령어를 실행하여 WSL 인스턴스를 종료한다:
    wsl --shutdown​
  5. WSL 인스턴스를 다시 시작한다. 이제 변경된 기본 사용자 계정으로 로그인된다.

 

새로운 WSL 인스턴스를 D 드라이브에 직접 설치하는 방법


Microsoft Store를 통해 새로운 WSL 배포판을 설치하는 과정에서 기본적으로 C 드라이브에 설치되지만, 명령어를 사용해 설치 위치를 변경할 수 있다. 

 

1. Microsoft Store에서 WSL 배포판 설치 파일 다운로드: Microsoft Store에서 원하는 Linux 배포판(예: Ubuntu, Debian 등)을 찾아서, 설치 대신 '다운로드'를 선택해 설치 파일을 로컬 시스템에 저장한다.

 

2. 명령 프롬프트 또는 PowerShell에서 설치 명령 실행: 설치 파일이 다운로드된 후, 설치를 진행하기 전에 명령 프롬프트 또는 PowerShell을 열고, 다음과 같은 형식의 명령어를 실행하여 WSL 배포판을 원하는 드라이브와 위치에 설치한다.

wsl --import <DistributionName> <InstallationLocation> <InstallTarFile>

여기서,

  • <DistributionName>은 설치하려는 Linux 배포판의 이름이다.
  • <InstallationLocation>은 배포판을 설치하려는 디렉토리의 경로다. 예를 들어, D:\WSL\distros\Ubuntu와 같이 설정할 수 있다.
  • <InstallTarFile>은 다운로드한 Linux 배포판의 설치 파일 경로다.

예시 명령어:

wsl --import Ubuntu D:\WSL\distros\Ubuntu D:\Download\Ubuntu.tar

 

3. 설치 확인 및 사용: 설치가 완료된 후, WSL을 시작하려면 Windows의 '시작' 메뉴에서 방금 설치한 Linux 배포판을 찾아 실행하거나, PowerShell 또는 명령 프롬프트에서 다음과 같이 입력다.

wsl -d Ubuntu

이 방법은 기존에 사용 중인 WSL 인스턴스를 옮기는 것이 아니라, 새로운 인스턴스를 원하는 위치에 직접 설치할 때 적합하다. 또한, Microsoft Store에서 직접 설치 파일을 다운로드하는 기능은 제한적일 수 있으므로, 배포판의 공식 홈페이지나 다른 소스에서 설치 파일을 구하는 방법도 고려해야 할 수도 있다.

'Project > Ubuntu' 카테고리의 다른 글

[Vim Plugin] YouCompleteMe  (0) 2024.05.12
멀티 OS 설치 - Windows11, Ubuntu 22.04)  (0) 2023.11.19

댓글