스마트폰 용량 부족 해결! SD카드를 내부저장소로 바꾸기

언젠가부터 내 스마트폰에서 용량이 부족하다면서 계속 알림이 떴다. 저가폰이라 내부저장소가 16GB 밖에 되지 않았지만, 추가로 마이크로SD 카드 16GB를 달았는데도 그렇다.

안드로이드가 앱을 설치하고 필요한 데이터를 저장하는 곳은 특별히 지정하지 않는한 내부메모리이다. 외부메모리는 단지 사진이나 동영상만 저장할 수 있을 뿐이다. 외부메모리에 여유가 많음에도 불구하고, 메모리가 부족하다고 뻗어버리는 것은 바로 이 때문이다.

수시로 잘 쓰지 않는 앱을 지우곤 했지만, 가면 갈수록 필요한 앱들은 많아지고, 쓰면 쓸수록 필요한 데이터는 쌓인다. 이제 한계에 이르렀다.

그러다가 외부메모리를 내부저장소처럼 쓸 수 있다는 사실을 알게되었다. 안드로이드 6.0 마시멜로부터 지원되기 시작한 기능이다. 정리하면 외부메모리와 내부메모리를 하나로 엮어서 모두 내부메모리처럼 쓸 수 있는 기능이다.


최신버전의 안드로이드인 경우, 설정의 "저장소" 메뉴로 들어가 마이크로SD를 선택한 다음 "설정"으로 들어가면 내부저장소로 포맷하는 메뉴를 볼 수 있다. 내부저장소로 사용할 수 있으려면 암호화된 형식으로 포맷을 해야 하기 때문에 이런 과정을 거치는 것이다.


이렇게 메뉴가 제공된다면 더 없이 편한데... 막상 안드로이드 6.0 이상인데도 이 메뉴가 제공되지 않는 단말기가 꽤 많다. 내가 사용하는 TG 루나폰도 마찬가지다.

OS에는 해당 기능이 들어있지만, 단말제조사에서 이 기능의 메뉴를 빼먹은 탓이다. 다행히 폴 오브라이언이라는 사람이 ADB 쉘을 이용하여 직접 포맷하는 방법을 알아내고 공개했다. 이대로 해서 성공했고, 내 단말에서 직접 해본 과정을 정리해 본다.

준비사항


먼저 속도가 빠른 마이크로 SD카드를 스마트폰에 끼워야 한다. 아래 화면에서 보다시피 내부저장소는 11GB중 10.27GB를 이미 사용중이라 더 이상 어떤 앱도 깔지 못하는 상황이다. 이 작업을 하면 마이크로 SD의 내용이 모두 지워지기 때문에, 이미 데이터가 들어있다면 모두 백업받아 둔다.


설정의 "휴대전화 정보" 메뉴로 들어가 안드로이드 버전이 6.0 이상임을 확인한다. 6.0 이하 버전이라면 단말기 제조사에서 제공하는 OS 업그레이드를 해보아야 한다.


adb 설치하기


adb는 Android Debug Bridge이 약자로 개발자들이 사용하는 디버깅 도구이다. 이 툴을 통해 안드로이드 단말에 접속하여 커맨드를 실행하는 등 다양한 작업을 할 수 있다. 안드로이드 개발자라면 이미 깔려 있겠지만, 일반 사용자라면 안드로이드 SDK 플랫폼 툴을 설치하는 것이 가장 간편하다. 자신의 OS에 맞는 플랫폼 툴을 설치하자. 나는 리눅스 버전을 깔았다. 


다운로드 받은 파일은 zip파일이므로 적당한 곳에 압축을 푼다. 여기서 우리가 사용할 명령인 adb를 볼 수 있다.



스마트폰 준비하기 


스마트폰이 설정 메뉴에서 "개발자 옵션"이 있는지 확인하자.


만일 "개발자 옵션" 메뉴가 안보인다면 "휴대전화 정보" 메뉴로 들어가 제일 아래의 "빌드 번호" 영역을 7번 빠르게 터치하자. 그러면 개발자 옵션이 활성화된다.


개발자 옵션 메뉴로 들어가 할 일은 "USB 디버깅" 옵션을 켜는 것이다.


스마트폰 연결하고 포맷하기


스마트폰에 데이터 케이블을 꽂고 adb를 설치한 PC에 연결한다. 단말기가 인식되면 쉘을 실행시켜 아까 설치한 플랫폼 SDK 폴더로 들어간다. (윈도우이면 cmd) 그리고 adb shell 명령을 실행한다. 

$ adb shell 

그러면 스마트폰에서 아래와 같이 연결을 허용할 것인지 묻는 확인창이 뜰 것이다. "확인"을 누른다. 그러면 스마트폰 내부로 연결되어 쉘 프롬프트가 나올 것이다. 


윈도우즈에서도 동일하다. cmd.exe를 실행시킨 후 플랫폼 SDK를 설치한 폴더로 들어간다. 그리고 "adb shell" 명령을 실행하면 된다.


이제 sm list-disks 명령으로 외부메모리의 리스트를 얻어온다. 아래와 같은 식으로 출력될 것인데, 단말기마다 숫자나 형태가 다르다.

$ sm list-disks
disk:179,64

위에서 나온 디스크 아이디를 이용해서 이제 파티션을 다음 명령으로 만든다.

$ sm partition disk:179,64 private

물론 외부저장소를 내부저장소와 외부저장소로 반반 나누어 사용할 수도 있다. 하지만 굳이 그럴 이유가 없기 때문에 그냥 통으로 파티션을 만들었다. 반반 나누어 파티션하는 방법은 폴 오브라이언의 글을 참고하기 바란다.

정리하면 다음과 같이 간단하다.


SD카드가 내부저장소와 통합되었는지 확인하기

위 과정은 1~2분 내에 완료된다. 싱거울 정도로... 완료되었으면 "저장소 및 USB" 메뉴로 들어가본다. 처음과 달라진 점이 보일 것이다. 먼저 저장용량이 SD카드 용량만큼 늘어났다. (내 경우는 11GB -> 25GB) 그리고 SD카드 위에 붙어있던 "휴대용 저장소"라는 제목이 사라지고, 아이콘도 보라색으로 바뀌었다.


이것으로 제대로 되었다고 믿을 수 있지만, 새로 앱을 깔아보면 확신할 수 있다. 용량이 제법 큰 TheoTown을 이 상태에서 설치하고 앱 정보를 보았더니, 저장공간이 "외부저장소"임을 알 수 있다. 


안드로이드는 원래 내부저장소와 통합된 마이크로SD의 빈 공간을 보아서 알아서 나누어 사용하는 것 같다. 사용자는 그냥 아무 신경쓰지 않고, 내부메모리가 늘어난 것으로 생각하면 된다.

이렇게 해서 내 스마트폰 용량부족 문제를 해결했다!

댓글 없음:

댓글 쓰기

인기글