IT/System Digging
[wsl] wsl d 드라이브로 옮기고 계정 정상화하기
심량
2022. 7. 15. 01:39
wsl 을 d 드라이브로 옮기는 일은 dongle94님의 글에 잘 설명되어 있습니다.
다만, 이 방법을 따라하면 딱 하나 안되는게 있습니다. 기존 계정으로 로그인되지 않고 root 계정으로 로그인됩니다..
이리저리 뒤져본 결과 해결책을 찾아 옮기는 방법을 간단히 정리하고 계정 정상화하는 방법을 기록하겠습니다.
- 가정
- c:, d: 드라이브 2개로 나눠져 있고 d 드라이브 용량이 충분히 크게 남아있다고 가정합니다.
- Win+R 키 눌러서 cmd 실행
- 현재 내가 설치한 wsl 이름 확인
-
wsl -l --all
- Ubuntu(기본값)
- dongle94 님 글과 달리 제 환경은 리눅스 이름이 달라서 실행이 되질 않았습니다. 이 명령으로 확인하니 Ubuntu 로 되어 있는 것을 확인할 수가 있습니다.
-
- d 드라이브로 운영체제 이미지 내보내기
- wsl --export 명령에 위에서 확인한 wsl 이름을 첫번째 인자로 적어줍니다. 두번째 인자는 저장할 파일명입니다.
- wsl --export Ubuntu d:\u2004.tar
- 내보낸 이미지 d 드라이브에 복원하기
- wsl --import Ubuntu-20.04 d:\wsl\ubuntu_20_04\ d:\u2004.tar
- 기존 wsl 삭제
- wsl --unregister 명령에 위에서 확인한 wsl 이름을 적어줍니다.
- 복원하지 않고 삭제하면 제 pc 에서는 삭제가 되지 않았습니다.
- wsl --unregister Ubuntu
- wsl -l --all 로 기존 wsl 이름인 Ubuntu 가 삭제되어 안보이는지 확인합니다. 혹시나 삭제가 안 된 것 같으면 wsl --unregister Ubuntu 명령을 다시 실행해줍니다. 지금 복원한 Ubuntu-20.04 를 지우면 절대 안됩니다 --
- 기본 로그인 계정 변경
- 이 상태로 wsl 이나 bash 를 실행하면 root 계정으로 로그인됩니다. 물론 su 원래계정명 으로 원래 계정도 사용할 수 있지만 root 계정이 활성화되는 것이 꺼림칙합니다. 다음 명령으로 얼른 바꿔줬습니다.
- wsl1
- ubuntu config --default-user 원래사용자명
- ※ wsl2 에서도 실행은 되는데.. c 드라이브 새 배포판을 설치해버립니다.
- wsl2
- touch /etc/wsl.conf
- [user]
default=my_id_쓰세요
- [user]
- touch /etc/wsl.conf
- 이 작업까지 마친 후에 wsl 이나 bash 를 실행하시면 원래 계정으로 로그인할 수 있습니다.