▲ 안드로이드 디바이스의 기본 복구모드 화면. ( 삼성 갤럭시 누가 7.0 버전 기준)
1. 개요
안드로이드를 탑재한 스마트 디바이스에 기본적으로 탑재되는 안드로이드의 복구 모드이다.안드로이드 스마트폰, 태블릿 등을 써오면서 공장 초기화를 한 번이라도 해본 사람들은 위 화면을 접해봤을텐데 이것이 바로 리커버리 모드에 진입한 상황이다.
2. 상세
보통 순정 상태의 리커버리 모드는 제조사 순정 OTA 파일[1] 업데이트, 캐시 파티션 초기화나 공장초기화 같은 제한적인 용도로 사용된다.안드로이드 리커버리의 경우 안드로이드 OS 상에서 돌아가는 모드가 아닌 별도의 커널과 소프트웨어로 부팅된다. 이는 안드로이드의 간섭을 받지않고 독립적으로 돌아간다는 뜻이며[2] 이런 이유덕에 안드로이드가 모종의 이유로 꼬여서 부팅이 안되도 리커버리 진입은 정상적으로 된다.
리커버리 진입의 경우 제조사나 기기마다 키조합이 다르다. 삼성 갤럭시 기준으로는 경우 하단 하드웨어키가 존재하는 S7 이전 기종은 전원이 완전히 꺼진 상태에서 전원 + 홈버튼 + 볼륨 업 키가 진입키이며 하단 하드웨어키가 삭제된 S8 이후 기준으로는 전원 + 볼륨 업 키에 USB 케이블을 연결하는 과정이 필요하다. 다른 제조사의 기기인 경우 해당 기기의 리커버리 진입 방법을 구글에 검색해보면 찾아 낼 수 있다.
사용자가 임의적으로 리커버리 모드에 진입을 하면 처음에 업데이트창[3]이 뜨고 기다리다 보면 안드로이드가 드러 눕거나 x자 눈을 한 채로 No Command란 화면을 띄우지만 거기서 좀만 인내심을 참고 기다리면 맨 위에서 나온 선택창이 뜨게 된다.[4][5]
3. 커스텀 리커버리
기존 복구모드의 경우 제조사를 위한 최소한의 기능만 들어간지라 그 기능이 공장 초기화 밖에 못하는 한계가 명확하였는데 이 복구 모드가 운영체제와 관계없이 별도로 구동 된다는것에 착안하여[6] XDA Developers에 상주하는 개발자들은 제조사 순정 zip 파일 뿐만이 아닌 수정된 zip 파일도 플래싱이 가능하게끔 하는 커스텀 리커버리를 개발하였으며, 현재는 단순 zip 플래싱을 뛰어넘어 다양한 기능을 커스텀 리커버리에서 수행할 수 있게 만들었다.삼성 갤럭시 한정으로 Odin에서 사용되는 *.tar(.md5) 안에 들어있는 recovery.img 라는 파일을 볼 수 있을 텐데, 이것이 복구 모드 파티션 파일이다. 따라서 (최신 갤럭시 기기의 경우 부트로더 잠금을 해제하고) 이 recovery.img 파일만 커스텀 리커버리로 바꿔치기해서 손쉽게 플래싱이 가능하다.
삼성을 제외한 다른 제조사들의 기기는 설치가 좀 번거롭거나 복잡할 수 있는데, 해당 기기에 맞는 부트로더 및 AVB 언락과 리커버리 파일을 fastboot를 이용하여 플래싱 하거나 루팅을 먼저 하고나서 Flashify 같은걸로 플래싱 하는 방법 등 기기마다 설치 방법이 제각각 인지라 해당 기기에 맞는 설치법을 인터넷으로 일일이 찾아봐야 한다. 플래싱에 쓰이는 파일은 보통 *.img 나 *.zip 확장자를 가진다.
3.1. ClockworkMod
▲ ClockworkMod의 구동 사진
약칭 CWM으로 불리는 이 리커버리는 안드로이드 초창기 시절부터 나온 커스텀 리커버리이며 루팅, 공장 초기화[7] 등의 기본적인 작업뿐만이 아니라 zip 파일을 내장/외장 메모리에서 따로 불러와 설치가 가능하게끔 했으며 파일 검증을 무시하여 디바이스 자체적으로 커스텀 소프트웨어 설치가 가능하게 만들었다. 아로마 스크립트라는 GUI 설치 환경을 지원하며, 터치 지원버전도 병행해서 내놓았다.
현재는 개발자가 바이너리가 너무 오래되었다며 개발에서 손을 뗐다.
3.2. PhilZ Touch Recovery
▲ PhilZ Touch Recovery의 구동 사진
PhilZ 라는 개발자가 만든 CWM 기반 터치 리커버리.[8] CWM 리커버리가 순정 리커버리처럼 키를 일일히 눌러 선택 해야했던 문제를 개선하기 위해 터치를 지원하며, 기존의 밋밋한 CWM과 다르게 화면도 굉장히 미려하며 하단 소프트키도 지원한다.
여러 가지 트윅 기능을 추가하여 이전 CWM에 비해 파티션 관리, 권한 조정 등의 고급 작업도 가능하며 상단에 배터리 잔량, 시간 표시가 추가되고 CWM과 달리 Clean to install a new ROM이라는 메뉴가 추가되어 /data 파티션과[9] /system 파티션이 포맷된다. 또한 리커버리 설정폴더 내에 aroma file manager를 따로 추가해주면 리커버리 단에서 내부 메모리 파일 관리도 가능했다.
위의 CWM 바이너리를 토대로 한 트윅 리커버리 인지라 CWM 개발이 끊기고 나서 마찬가지로 현재는 개발이 중단된 상태이다.
3.3. Team Win Recovery Project ( TWRP)
▲ 구버전 TWRP의 구동 사진
Team Win에서 만든 풀터치 리커버리. 이쪽은 완벽한 GUI를 지원한다. 위의 PhilZ 리커버리보다 다양한 기능이 추가 되었으며 테마를 지원한다! 현재 터치 기반 커스텀 리커버리 중 가장 많은 사용자를 갖고 있고 지원 기기 수도 독보적이다.
자세한 정보는 항목 참조.
3.4. OrangeFox Recovery
오픈소스인 TWRP를 기반으로 만들어졌다. OrangeFox 역시 오픈소스이며 TWRP보다 더 화려하고 많은 기능을 지원한다. 다만, 2018년도에 최초 출시되었기 때문에 아직은 TWRP에 비해 사용자가 매우 적어서 지원하는 기기가 적다.샤오미 MIUI용 Orangefox의 경우 OTA 등 유용한 기능이 많으므로, OrangeFox를 지원하는 샤오미 기기라면 TWRP보다 OrangeFox를 쓰는 편이 좋다.
기기를 공식 지원하기 위한 조건으로 다른 리커버리를 공식 지원하지 않을 것을 요청하는데, 이 때문인지 공식 홈페이지에서 다운로드 받을 수 있는 공식 기기는 많지 않다. 그럼에도 TWRP을 통해 오렌지폭스를 까는 경우가 잦은 걸 보아, 꼭 그런 건 아닌 것 같기도 하다.
3.5. LineageOS Recovery (구 Cyanogen Recovery)
항목 참조
[1]
순정일 경우 보통 update.zip 이란 이름을 가진다.
[2]
윈도우 운영체제의 복구를 위한 별도 운영체제인
Windows PE를 생각하면 된다.
[3]
시스템 업데이트 시에도 해당 창이 뜨지만 업데이트가 완료되면 위의 선택창이 안뜨고 바로 재부팅 된다.
[4]
말그대로 제조사의 커맨드에 의해 리커버리가 불려진게 아닌 사용자 임의로 리커버리 모드에 진입한거라 수행할 작업이 없어 에러창을 잠시 띄우고 커맨드를 직접 선택할 수 있게 선택창을 띄우는 것이다.
[5]
또한 이 화면은 시스템이 꼬였을 경우 부팅하다 나타날 수 있다.
[6]
별도의 운영체제로 구동되다 보니 주 운영체제의 SELinux 같은 보안을 싸그리 무시하고 리커버리가 임의로 시스템 영역의 파일을 수정하는게 가능하다.
[7]
순정 리커버리의 wipe data/factory reset 기능과 달리 공장 초기화 후에 내외장 메모리에 저장된 zip 파일을 설치해야 하기 때문에 사용자 저장영역을 따로 지우지 않는다.
[8]
CWM도 후기에 가서는 터치 리커버리를 비터치 리커버리랑 병행해서 내놓았다.
[9]
CWM과 마찬가지로 사용자 저장영역은 초기화되지 않는다.