개요
WSL
내 우분투 OS에서 딥러닝 학습을 위한 데이터셋을 사용하기 위해 스토리지 크기를 확장할 필요가 있어 해당 방법을 수행한 내용을 기록한다. WSL2
의 리눅스 OS는 현재 스토리지에서 용량을 사용할 시 기본적으로 늘어나는 최대 용량이 있다. 당장 파티션의 크기가 작아보여도 용량을 채우다 보면 이 최대 용량까지 파티션 크기가 늘어나다가 스토리지가 다 차면 에러를 일으킨다. 해당 포스팅은 이 최대 용량을 늘리는 작업을 다뤄본다.
사전작업
크기를 늘리려는 리눅스 배포판의 설치 위치를 알아야한다. 본인의 다른 포스팅인 리눅스 설치경로 변경을 통해 설치경로를 옮겼다면 해당 경로에, 혹은 한번도 리눅스 설치경로를 옮긴적이 없다면 기본 경로인 C:\Users\{유저명}\AppData\Local\Packages\<리눅스배포판이름>\LocalState
경로에 ext4.vhdx
파일이 존재하는 위치를 확인한다. 기본경로에서 확인 할 때는 <리눅스배포판이름>
이 알아보기 힘들게 되어있을 수 있는데 다음 명령어를 통해 본인이 조정하고자하는 배포판의 디렉토리 이름을 확인할 수 있다. <distro>
칸에 자신의 배포판 이름을 적는다.
$ Get-AppxPackage -Name "*<distro>*" | Select PackageFamilyName
# EX) Get-AppxPackage -Name "*ubuntu-20.04*" | Select PackageFamilyName
본인은 D:\wsl\ubuntu-20.04\ext4.vhdx
경로를 확인하였다.
작업
WSL 종료
우선 가동중인 모든 리눅스 배포판들을 종료한다. 다음 명령어로 모든 리눅스들을 한번에 종료할 수 있다.
$ wsl --shutdown
디스크 수정
우선 CMD
를 관리자 권한으로 실행시키고 다음 명령어들을 수행한다. 아래 명령어 중 <pathToVHD>
는 위의 사전작업에서 확인한 리눅스의 스토리지 경로이다. 우선 현재 디스크 상태를 확인한다.
$ diskpart
DISKPART> Select vdisk file="<pathToVHD>"
# Select vdisk file="D:\wsl\ubuntu-20.04\ext4.vhdx"
DISKPART> detail vdisk
#장치 유형 ID: 0 (알 수 없음)
#공급업체 ID: {00000000-0000-0000-0000-000000000000} (알 수 없음)
#상태: 추가됨
#가상 크기: 256 GB
#물리적 크기: 184 GB
#파일 이름: D:\wsl\ubuntu-20.04\ext4.vhdx
#자식임: 아니요
#부모 파일 이름:
#연결된 디스크#: 찾을 수 없음.
다음의 명령어를 통해 현재 선택된 디스크(리눅스 OS의)를 원하는 용량으로 확장한다. 물론 물리 디스크에 그 만큼의 공간이 있어야한다. 또한 단위는 메가바이트 단위 이므로 예를들어 500GB를 원하면 500000
으로 입력한다. 크기를 확장하고 diskpart
를 종료한다.
DISKPART> expand vdisk maximum=500000
DISKPART> exit
리눅스 배포판에서 파티션 수정
자신이 스토리지 크기를 변경하려는 리눅스 배포판을 실행시켜 터미널로 들어간다. df -h
등의 명령어를 통해 각 파티션의 스토리지 크기를 보면 /
(루트) 파티션을 맡고있는 /dev/sdb
등의 파티션의 용량을 확인할 수 있다. 아래의 명령어를 통해 해당 파티션의 크기를 변경한다. 단위는 메가바이트 단위이고 M
알파벳을 붙여줌에 주의하자.
# sudo resize2fs /dev/sdb <sizeofMB>M
$ sudo resize2fs /dev/sdb 500000M
시간이 일부 소요될 수 있는 작업이고 완료 되면 다음과 같은 로그가 출력된다.
resize2fs 1.44.1 (24-Mar-2021)
Filesystem at /dev/sdb is mounted on /; on-line resizing required
old_desc_blocks = 32, new_desc_blocks = 38
The filesystem on /dev/sdb is now 78643200 (4k) blocks long.
참고링크: wsl 하드디스크 확장
댓글남기기