LG Wing (LMF100N) 부트로더 언락부터 시작하는 Magisk (루팅) 설치 가이드

LG Wing (LMF100N) 부트로더 언락부터 시작하는 Magisk (루팅) 설치 가이드

목차

LG의 무선 사업부의 숨통을 끊었던 최후의 모델인 LG Wing(이하 윙)이 죽지도 않고 윙 커스텀이라는 이름으로 무덤에서 일어나고 있습니다.

중고가가 보통 5~7만 정도로 저렴한 가격에 장르는 다르지만 기가지니와 마찬가지로 단순히 기기 값보다는 개조를 위한 재료비와 공수를 생각하면 완제품의 가격이 납득이 갈 정도로 손이 많이 가는 기기입니다.

아무래도 직접 만들기엔 부담스러운 기기지만 최근 지인에게 저렴하게 파손 윙을 분양 받는 바람에 갑자기 알아보게 되었습니다.

덕분에 요목조목 구경해가며 다음 프로젝트로 윙 커스텀을 만들기 위한 준비를 진행하게 될 것 같습니다.

보통 판매되는 물건은 상품 가치가 훼손된 깨진 기기가 대부분입니다.

어린 따님이 혹시라도 건드릴까 유리조각이 튈까 무서워 박스 테이프를 깨진 유리 위에 덮어 임시로 조치해둔 상황입니다.

처음 만져보는 기기인 은 서피스 듀오를 만져봤던 느낌과는 확연히 다른데 놀랍게도 오히려 서피스 듀오보다 불편한 인터페이스를 가지고 있다는게 망한 이유일 것 같습니다.

작은 화면이니 간단하게 쓰겠다 싶었던, 기대와는 다르게 직접 만져보면 세컨드 스크린에서의 기능 제약이 마치 LG의 독자 규격마냥 OS에선 완전히 별개의 세상입니다.

따라서 개조를 위해서는 향후 언젠가 등장할지도 모르는 커스텀 롬을 대비해 반드시 부트로더 언락과 함께 Magisk를 이용한 루팅 정도는 필요할 것 처럼 보입니다.

💡
현재 레딧을 비롯해 XDA의 정보들이 파편화 되어 있고 LG Wing 의 부트로더 언락은 공식 가이드 같은게 존재하지 않습니다.
제조사도 손을 뗐기 때문에 이를 진행하면서 다양한 문제가 발생 가능합니다.
제가 진행했던 내용을 글로 남겨보지만, 이것이 부트로더 언락의 정답이라고 할 수 없을겁니다.
언락시 백업은 반드시 진행하시고 반드시 주의하시길 바랍니다.

먼저 업데이트를 진행하지 않고 구매 당시 안드로이드 12버전으로 부트로더 언락을 진행해보았습니다만 버전이 최신의 13이라고 해서 진행 과정이 다를 것은 없을겁니다.

🤔
기존에 이미 윙 커스텀으로 완성된 기기들의 경우 중요한 주의사항이 있습니다.

만약 윙에 메인 디스플레이가 없다면 메인 스크린으로 보고 따라할 파트들 덕분에 본 가이드의 작업이 사실상 불가능하리라 생각됩니다.

혹시나 싶어 테스트 해보니 초기화 직후에는 외부 디스플레이를 연결해도 모니터에 검은 바탕 화면만 나오고 메뉴 버튼은 보이지만 기능이 동작하질 않았습니다.

부트로더 진입이야 메뉴가 얼마 안되니 횟수로 커버가 가능하나 메인 스크린이 없다면 전체 과정을 감으로 입력해야하기에 입력 계통은 마우스를 연결하더라도 윙의 초기 설정 화면 자체를 쉽게 넘어갈 수 없기 때문에 문제가 되겠습니다.

따라서 미리 원본 디스플레이 확인이 가능한 상황에서만 작업을 진행하시길 바랍니다.

1. LG 통합 드라이버 설치

다른 안드로이드 기기와 마찬가지로 제조사 드라이버 없이 바로 PC에 연결해서 사용할 수는 없기 때문에 드라이버 설치는 필수입니다.

가장 먼저 제조사인 LG에서 제공하는 공식 통합 드라이버를 설치해야합니다.

굳이 사이트로 가실 필요 없이 위 파일을 받아주세요.

다운로드는 윈도우 인스톨러 형태로 설치가 간편합니다.

다음 만 기계처럼 계속 눌러주시면 통합 드라이버의 설치가 완료됩니다.

윙의 드라이버 설치가 모두 완료 되었다는 메세지까지 보시면 완료입니다.

윈도우의 장치 관리자에서 드디어 안드로이드 기기 및 USB 모뎀으로 잡히기 시작합니다.

만에하나 드라이버 설치 이후 위처럼 타 드라이버와 충돌이 발생하게 된다면 드라이버를 삭제하고 재설치하거나 재부팅 등으로 문제를 개선해야합니다.

2. 안드로이드 SDK(ADB 드라이버) 및 구글 USB 드라이버 설치

SDK 플랫폼 도구 출시 노트 | Android Studio | Android Developers
Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.

안드로이드 기기에 전송하는 ADB 명령어를 사용해야 하니 안드로이드의 개발자용 플랫폼 도구 역시 설치해야합니다.

위 구글 안드로이드 개발자 사이트에서 다운로드 링크를 제공하고 있습니다.

전체 SDK 설치는 사실상 개발 툴을 몽딸 설치하는 것이나 마찬가지이니 단순히 SDK 플랫폼 도구(ADB 포함)만 다운로드 받아주면 되겠습니다.

아무래도 사이트가 일반인이 다루기 복잡한 편이니 아래 파일을 받아주시면 됩니다.

굳이 구글 개발자 사이트에 방문할 필요도 없이 가장 용량이 작은 위 포터블 버전을 다운로드 받아줍니다.

다운로드 받으시면 압축을 풀어주세요.

여담이지만 주의사항으로는 윈도우의 사용자명이 한글이거나 하는 등의 이슈들이 자주 발생해 이유모를 에러를 발생시키곤 합니다.

그러니 여러분은 마음 편하게 윈도우의 C 드라이브에 압축을 풀어 두는 것을 추천합니다.

제 경우는 기본 폴더명을 그대로 C:\platform-tools 경로에 폴더를 옮겨 두었습니다.

여러분도 동일하게 따라오신다면 불필요한 문제가 발생하지 않습니다.

Get the Google USB Driver | Android Studio | Android Developers
The Google USB Driver is required to perform adb debugging on Windows with Google devices.

이어서 adb 와는 짝꿍과도 같은 구글 USB 드라이버 역시 미리 설치하도록 하겠습니다.

마찬가지로 사이트에서 동의 버튼을 눌러 드라이버를 다운로드 해줍니다.

편의를 위해 직업 업로드 해두니 위 파일을 다운로드 받아 압축을 풀어주셔도 되겠습니다.

구글 USB 드라이버(usb_driver)의 압축을 풀어주시고 폴더 내에 동봉 된 android_winusb.inf 파일에 마우스 우클릭 👉 설치 메뉴를 선택해 드라이버를 설치하도록 하겠습니다.

3. QPST(Qualcomm Product Support Tools) 설치

LG의 마지막 작품인 은 처참하게 망해버렸기 때문에 멀쩡한 커스텀 리커버리라던가 툴이 존재하질 않습니다.

따라서 칩셋 제조사인 퀄컴의 개발자 및 엔지니어 용 툴인 QPST를 이용해서 내부 파티션에 직접 접근해서 백업하거나 설치하는 작업을 진행하셔야 합니다.

QPST 파일을 다운로드 받아 압축을 풀어줍니다.

마찬가지로 윈도우 인스톨러 형태이기 때문에 설치가 몹시 간단합니다.

위 사진처럼 따로 선택할 것은 없고 라이센스의 동의 정도만 체크한 뒤 Next 만 연타하시면 설치가 완료됩니다.

4. Qualcomm High-Speed USB QDLoader 설치

퀄컴의 엔지니어들이 복구 작업 혹은 디버깅테스트 용으로 사용하는 퀄컴 HS 드라이버 역시 필요합니다.

긴급 다운로드 모드라 불리는 통칭 EDL 모드 (Emergency Download Mode)를 사용하기 위해 반드시 위 Qualcomm-HS-USB-QDLoader-9008-Driver 가 필요하니 반드시 설치해야합니다.

다운로드 받은 파일의 압축을 풀고 작업에 사용할 PC의 사양에 맞게 선택 설치해주세요.

대부분은 둘 중 아래의 64비트용 드라이버를 설치하시면 되겠습니다.

간단한 윈도우 인스톨러로 제공하기에 라이센스 동의만 해주시면 선택할 것 없이 기본 옵션만으로 간단하게 설치가 가능합니다.

그러나 만에 하나 설치 중에 위와 같은 메세지를 보게 되신다면 드라이버의 설치가 불가능한 상황입니다.

이 경우 단순히 기존에 다른 퀄컴 드라이버가 설치되어 있는 것이니 삭제하시거나 해당 드라이버를 그대로 사용하셔도 무관할테니 굳이 설치하지 않으셔도 됩니다.

제 경우는 PC 에 설치되어 있던 기존 퀄컴 통합 드라이버를 삭제하고 위 HS 드라이버로 재설치했습니다.

5. QFIL(Qualcomm Flash Image Loader) 설정

이전 QPST 설치 과정에서 자연스럽게 설치된 QFIL(Qualcomm Flash Image Loader) 입니다.

윈도우 버튼을 눌러 QFIL을 입력해 검색하면 쉽게 조회되는데 바로 실행이 가능합니다.

처음 실행하게 되면 뭔가 굉장히 투박하고 복잡해 보이는 모습이지만, 의외로 사용해 보니 한번 해놓은 설정은 계속 기억하고 있는 꽤나 편리한 프로그램이었습니다.

QFIL의 가장 위 쪽을 보시면 프로그램의 첫 화면에서부터 특정 포트를 선택해달라는 메세지가 보입니다.

우측의 Select Port(포트 선택)를 눌러 연결이 가능하지만, 먼저 EDL 모드의에 진입한 기기가 연결되어 있어야 하고 이후 윙의 파티션을 조작하는 등의 작업이 가능합니다.

그 전에 반드시 필요한 설정 파일이 있습니다.

퀄컴 칩셋을 사용하는 디바이스에 펌웨어를 플래싱하거나 데이터를 전송하기 위해서는 별도의 추가 설정 파일이 필요합니다.

이는 LG 윙에 사용되는 고속 데이터 전송 프로토콜인 FireHose 설정 파일입니다.

이를 다운로드 받아 마찬가지로 한글 경로가 없는 위치로 이동해야합니다.

C:\platform-tools

위 사진처럼 안전하게 안드로이드 SDK를 복사해두었던 C:\platform-tools 경로 내에 폴더 째로 복사하도록 하겠습니다.

윈도우의 C 드라이브는 사실상 한글 경로가 없기 때문에 한글로 인한 경로문제를 피하기 위한 가장 좋은 방법이기도 합니다.

이제 다음은 QFIL에서 방금 다운로드 받아둔 파일을 이용해 설정을 진행하겠습니다.

좌측 상단의 Select Build Type 항목에서 FlatBuild 항목을 선택해줍니다.

빌드 타입을 Flat Build로 선택했다면 다음은 Browse 를 눌러 FireHose 파일을 열어줍니다.

미리 C 드라이브에 넣어둔 파일들 중에 윙의 전용 파일인 FireHose 설정이 들어있는 prog_ufs_firehose_sm7250_lge.elf 를 선택하도록 하겠습니다.

다음은 윙의 FireHose 설정을 진행하도록 하겠습니다.

상단 메뉴의 Configuration 을 눌러 FireHose Configuration 을 선택해줍니다.

Download Configuration 설정 팝업이 열립니다.

퀄컴 기기를 위한 프로그램인 QFIL, QPST 등에서 펌웨어를 플래싱할 때 사용하는 주요 설정이니 때문에 주의해서 XDA에서 알려준 대로만 진행하겠습니다.

(1) Read Serial Number 를 선택합니다.

(2) Device Type 은 기본값이 emmc기 때문에 ufs로 변경합니다.

(3) Auto Backup Restore QCN, Enable Multi-SIM QCN 을 모두 체크합니다.

이제 프로그램 설정은 모두 끝났습니다.

6. LG Wing 공장 초기화 (Factory Reset)

프로그램은 준비 되었으니 이제는 윙의 공장 초기화가 필요합니다.

설정에서 휴대폰 초기화 메뉴를 통해 간단하게 진행이 가능한데 초기화 이후에는 USB 디버깅 옵션을 사용해야 하니 개발자 옵션을 미리 활성화하겠습니다.

휴대폰 초기화를 진행하면 부팅 중에 알아서 기존 사용자 데이터를 지우고 깨끗한 상태가 됩니다.

초기화 이후 가장 먼저 반기는 것은 통신사의 추노 로고입니다.

이를 통해 어떤 통신사의 윙이었는지 확인이 가능한데 제가 구매한 제품은 KT 전용 윙이었습니다.

일반적인 저가형 중고 윙은 전면 액정이 박살난게 기본사양?! 이기 때문에 터치가 까다로운데 아무래도 C 타입 허브 하나 정도는 구비하는 편이 작업이 수월하겠습니다.

제 경우는 간신히 터치가 가능한 영역으로 작업하다가 결국 허브에 마우스 기능이 가능한 키보드를 연결했습니다.

최초 초기화 이후 기본 설정에서는 너무나도 중요한 포인트가 있습니다.

안드로이드는 사용자 비밀번호가 걸리면 암호화가 적용되기 때문에 무조건 작업전 에서는 잠금이 없는 상태여야 한다는게 중요합니다.

🚨
초기화 이후 윙에 절대로 비밀번호를 설정하시면 안됩니다.

추가로 와이파이 설정 정도만 간단하게 진행하고 홈 화면으로 진입합니다.

홈 화면에 진입하면 개통이 필요하다는 문구 정도만 확인이 가능합니다.

제 기기는 안드로이드 12 버전에 머물던 윙이었으며 최신 버전은 통신 3사 모두 업데이트 되어 지금은 안드로이드 13 버전입니다.

그러나 미리 업데이트할 생각은 못하고 그대로 12버전에서 부트로더 언락을 진행했으니 참고하세요.

7. 개발자 모드 및 USB 디버깅, OEM 언락 활성화

PC와의 연결을 위해 안드로이드의 개발자 옵션USB 디버깅 옵션을 활성화해야만 합니다.

윙의 설정시스템 메뉴 👉 휴대폰 정보로 이동해줍니다.

휴대폰 정보 메뉴에서 소프트웨어 정보를 선택하고 빌드 번호를 여러번 연타해줍니다.

화면 하단에 개발자가 되셨습니다. 알림 메세지가 나타날 때까지 연타해주셔야합니다.

이제 개발자가 되셨다면 뒤로 나오셔서 시스템 메뉴의 새로 생긴 개발자 옵션 메뉴로 이동합니다.

처음 개발자 옵션을 진입할때 경고가 발생하는데 가볍게 무시해주도록 합니다.

여기서는 USB 디버깅 옵션과 OEM 잠금 해제 사용 이렇게 두가지 옵션을 활성화해줍니다.

개발자 옵션을 활성화 했다면 이제 PC와 한번 연결해야합니다.

USB 디버깅은 미리 PC 정보안드로이드가 받아 두었다가 등록해서 허용하는 식이기 때문에 최초 한번은 허용을 직접 눌러야하기 때문입니다.

따라서 PC 와 연결할 때 USB 디버깅을 허용하시겠습니까? 라는 질문이 나타나면 확인을 눌러 등록해주도록 합니다.

8. EDL 모드 (Emergency Download Mode) 진입

영상이 아니면 이해할 수 없는 EDL 모드 진입 방법

이제 윙의 긴급 복구 모드 진입이 필요합니다.

부트로더 언락을 작업하면서 가장 괴로움을 받았던 파트로, 유튜브를 보기 전엔 글로 이해할 수도 도저히 말로 설명하기도 어려운 과제였습니다.

아이폰의 DFU 모드부터 안드로이드 부터 닌텐도 스위치까지 다양한 제조사의 복구 모드를 경험해보았지만 이런 기도 메타와도 같은 괴상한 방식의 복구 모드 진입방식은 처음입니다.

글로 설명하자면 볼륨 - 버튼과 전원 버튼을 동시에 꾹 누르고 버티면 자동으로 위처럼 강제 종료에 들어갑니다.

전원 종료 이후 다시 기기가 켜질 때 추가로 볼륨 +를 연타하면 됩니다.

말은 쉽지만 EDL 모드의 진입 타이밍이 굉장히 애매해서 위 유튜브 영상으로 진입 방법을 직접 참고해보시길 바랍니다.

이번엔 PC에서 QFIL을 실행시켜 둔 채로 EDL 모드 진입 여부를 바로 확인하기 위해 USB 케이블로 PC와 미리 연결한 채로 진행해야 진입 여부를 확인하기 편합니다.

좌측 상단의 포트 부분의 문구에 집중하며 영상처럼 볼륨 - 버튼과 전원 버튼을 누르고 있는 채로 쉬지 말고 성공할 때까지 볼륨 +를 연타해줍니다.

이 과정에서 기기의 전원이 여러번 꺼지는데 혹시!? 전원 버튼에서 손을 떼야하지 않을까하는 고민이 생기더라도 떼면 안됩니다.

신기하게도 전원 버튼을 떼면 EDL 모드만 요리조리 피해서 안드로이드로 부팅되버리니 오로지 화면의 포트 부분에 집중합니다.

만약 EDL 모드 진입에 성공한다면 위처럼 좌측 상단 No Port Available 문구 대신 Please Select an Existing Port 라는 메세지로 변경되거나 연결된 드라이버 문구가 나타납니다.

사진엔 케이블을 뺐지만 본래 연결한 채로 진입

이때 전원 버튼에서 손을 후다닥 떼 주시면 ​EDL 모드로 연결 된 것 입니다.

이어서 우측에 보이는 SelectPort 버튼을 클릭해줍니다.

미리 설치해둔 (2)퀄컴 HS 드라이버로 연결된 COM5등의 시리얼 포트 번호가 나타납니다.

만에 하나 드라이버가 엉뚱하게 연결될지도 모르니 중앙의 Show Non QDLoader\Diag Port 도 한번 체크해두도록 하겠습니다.

다음은 (1)OK 를 눌러 QFIL에서 해당 포트로 직접 연결하도록 하겠습니다.

상단의 메뉴 중 Tools 를 선택하고 아래의 하위 메뉴 중 Partiton Manager(파티션 매니저) 를 선택해줍니다.

현재 선택한 FireHose 파일이 맞는지 다시 한번 묻게 되는데 다시 한번 파일명이 맞는지 점검하시고 OK를 눌러 넘어갑니다.

드라이버가 제대로 연결되지 않았다면 아래의 Status에 따로 에러 메세지가 나타납니다.

위처럼 Download Fail 메세지가 나타나면 설치해둔 드라이버를 점검해야합니다.

윈도우의 장치 관리자에서 확인 가능한 드라이버의 상태가 이상한 것일 수 있습니다.

우선 PC의 재부팅을 한번 진행해보시고 그래도 오류가 계속 발생한다면 퀄컴 HS 드라이버를 다시 설치해줍니다.

정상적인 연결이라면 위처럼 문제 없이 다음 과정으로 진행이 가능합니다.

드라이버가 연결 되면 포트 번호에 따라 일종의 고정된 경로로 파일을 주고 받습니다.

바로 C:\Users\{사용자명}\AppData\Roaming\Qualcomm\QFIL\COMPORT_{포트번호} 의 경로에서 작업 중에 직접 파일을 확인하실 수 있습니다.

파티션 매니저가 실행되면 이제 주요 파티션을 백업하도록 하겠습니다.

9. QFIL 파티션 매니저를 이용해 파티션 백업

파티션 매니저에서는 부트로더 언락을 위해 데이터를 덮어 쓰게 될 4개의 파티션을 실수를 대비해서 반드시 먼저 백업해야만 합니다.

파티션은 abl_a, abl_b, sid_a, sid_b 등으로 총 4개의 주요 파티션을 백업합니다.

사실 boot_aboot_b 파티션도 필요하지만 부트로더 언락 이후 기기가 다시 초기화 되어 버리기 때문에 Magisk 작업 시 별도로 후술하도록 하겠습니다.

파티션 매니저의 목록에서는 왠지 마우스 휠로는 조작이 어려우니 저는 키보드의 방향키를 주로 사용했으니 참고하세요.

가장 먼저 abl_a 파티션을 찾아 마우스 우측 버튼 클릭 후 Manage Partition Data를 선택합니다.

다음은 위 사진처럼 팝업이 나타나는데 아래와 같은 기능들을 가지고 있습니다.

이름 용도
Read Data 현재 파티션을 읽어 bin 파일로 특정 경로에 저장할때 사용(백업)
Load Image 별도 이미지를 해당 파티션에 플래싱하는 기능으로 사용에 주의

현재는 백업이 목적이니 ReadData를 눌러 abl_a 파티션을 bin(바이너리) 파일로 백업해 두고 부트로더 언락 이후 복원에 사용하겠습니다.

이전 EDL 모드에서 설명드렸던 것 처럼 실제 QFIL에서 주고 받는 파일의 경로는 사용자의 숨김 폴더인 AppDataQualcomm 폴더 안에서 진행됩니다.

C:\Users\{사용자명}\AppData\Roaming\Qualcomm\QFIL\COMPORT_{포트번호} 의 경로에서 백업된 파일을 보실 수 있으며 ReadData의 경우 이름이 헷갈리기 때문에 미리 백업되자마자 파일명을 그때 그때 바로 파일명을 수정하는 것이 좋겠습니다.

abl_a 파티션을 백업하고 파일명도 정리해두었다면 팝업 우측의 Close 버튼을 눌러 닫아줍니다.

이어서 abl_b 파티션도 동일한 방법으로 백업을 진행합니다.

C:\Users\{사용자명}\AppData\Roaming\Qualcomm\QFIL\COMPORT_{포트번호}의 파일명은 바로바로 바꿔 주셔야 복원시 크게 헷갈리지 않고 작업이 가능합니다.

반드시 이름을 미리미리 변경해서 헷갈리지 않도록 맞춰 두도록 합니다.

이어서 sid_a도 작업 과정이 다를 것은 없습니다.

마우스 우클릭으로 나타나는 메뉴에서 Manage Partition Data 를 선택합니다.

생성된 파일의 로그와 실제 파일명을 비교해가며 헷갈리지 않도록 별도 폴더에 따로 백업해둡니다.

다음 sid_b의 경우 가장 아래쪽에서 부터 올라가며 찾으면 파티션을 좀 더 찾기가 수월합니다.

모두 같은 방식으로 백업을 진행합니다.

파티션 선택이후 ReadData 그리고 C:\Users\{사용자명}\AppData\Roaming\Qualcomm\QFIL\COMPORT_{포트번호} 경로에서 파일명을 수정합니다.

마지막 네번째 백업까지 잘 관리해두셨다가 경우에 따라 나중에 복원해야합니다.

아무쪼록 따로 잘 보관해두도록 합니다.

10. QFIL 파티션 복원 (부트로더 언락 가능한 버전)

백업이 모두 완료되었다면 백업과 같은 메뉴인 Manage Partiton Data 를 통해 부트로더 언락이 가능한 버전으로 파티션을 교체하도록 하겠습니다.

레딧에서 구할 수 있는 LG 부트로고가 나타나는 버전의 eng 부트로더 데이터를 덮어쓰고 긴급 복구 모드에서 OEM 부트로더 언락(OEM BootLoader Unlock)을 진행 한 뒤 정상적인 LTE 사용을 위해 백업해둔 4개의 파티션을 다시 복원해야합니다.

먼저 abl_a부터 복원을 진행하겠습니다.

백업은 ReadData를 통해 진행했지만 이번엔 Load Image를 통해 올바른 파티션 백업파일을 선택해 복원해야합니다.

미리 다운로드 받아둔 abl_a.bin 파일을 선택해주도록 하겠습니다.

전체 파티션을 백업해둔게 아니라면 한번의 실수로 돌이킬 수 없는 상황이 벌어지니 반드시 내가 지금 복원하려는 파티션이 abl_a, abl_b, sid_a, sid_b 등의 작업 대상 파티션인지 두번 확인하세요.

다음은 abl_b 파티션의 데이터를 복원해야 합니다.

마찬가지로 미리 다운로드 받아둔 파티션 파일들 중 abl_a 와 마찬가지로 같은 파일인 abl_a.bin을 똑같이 abl_b 파티션에도 복원해줍니다.

여담이지만 다른 멘트가 없어서 정말 적용이 되었나 궁금할 수 있는데 이런 경우 아래의 Status 에 나타나는 로그를 열어보면 확인이 가능합니다.

위처럼 정상적으로 Done 메세지를 출력 중인 것을 볼 수 있습니다.

파티션의 복원이 완료되면 Close 버튼을 눌러 닫아주세요.

이번엔 sid_a, sid_b 파티션에 같은 파일인 frp.bin 파일로 복원하도록 하겠습니다.

이어서 sid_b 파티션까지 총 네개의 파티션을 모두 복원해줍니다.

이렇게 모든 원본 파티션을 백업 후 다운로드 받은 해외 LG 버전의 abl_a.binfrp.bin을 덮어 썼다면 작업은 완료입니다.

마지막으로 파티션 매니저 창에서 Close 를 눌러 닫아줍니다.

이제 파티션 매니저 창을 닫으면 자동으로 EDL 모드가 새로고침되고 윙의 실제 파티션에 수정한 내용이 적용되어 새로고침 됩니다.

아래의 OK를 누르고 재연결 되기까지 잠시 기다려줍니다.

QFIL 하단에 Status 항목에 Finish Reset EDL 이라는 메세지가 나타난다면 작업이 완전히 완료된 것입니다.

이제 복원이 모두 완료되었으니 우측 하단의 Exit를 눌러 QFIL을 종료합니다.

볼륨 - 버튼과 전원 버튼을 길게 눌러 기기를 강제 재부팅해줍니다.

이제 윙을 부팅해보면 놀랍게도 KT 기기가 LG 로고로 변경된 것을 볼 수 있습니다.

데이터는 모두 초기화 되었으며 추가로 통신사의 캐리어 정보가 맞지 않아 에러를 보이는 모습도 보이는군요.

이와 같은 문제 때문에 QFIL에서 기존 파티션을 백업해 둔 것이니 부트로더 언락 이후에는 파티션 복원으로 수리가 가능합니다.

빠르게 기본 설정을 진행하시면 되는데 마찬가지로 윙의 비밀번호는 따로 설정하지 않아야 합니다.

기기가 초기화 되는 바람에 다시 한번 개발자 옵션 역시 설정해야만 합니다.

시스템 👉 휴대폰 정보 👉 소프트웨어 정보 👉 빌드번호 연타로 개발자 권한을 획득합니다.

다음은 개발자 옵션으로 진입해주세요.

부트로더 언락을 위해 OEM 잠금해제 사용을 활성화 하고 USB 디버깅 역시 활성화해줍니다.

다음은 PC와 연결해 USB 디버깅 권한을 다시 한번 허용해주면 준비는 완료입니다.

11. 안드로이드의 adb를 이용한 부트로더 언락 (OEM Unlock)

이제 파티션은 모두 해외 LG 부트로고가 나타나는 상태로 일단 안드로이드가 구동은 되는 상황입니다.

추후 개통이라던가 LTE 관련해서는 기기정보를 강제로 수정한거나 다름 없다보니 아마도 정상적인 사용은 불가능할 것으로 생각되는군요.

위 상태에서 데이터 통신은 가능하더라도 통화 수/발신등은 불가능 할 것입니다.

1. 안드로이드 SDK(ADB 드라이버) 설치 과정에서 저와 같은 경로에 설치했다면 C:\platform-tools 경로에 adb 가 준비되어 있는 상황일 겁니다.

작업 표시줄의 주소를 먼저 Ctrl+C 를 눌러 복사해둡니다.

adb는 단독으로 실해되는 프로그램이 아니기 때문에 명령 프롬프트가 필요합니다.

PC에서 하단의 검색 버튼을 눌러 cmd(명령프롬프트) 를 검색하고 실행해주세요.

cd C:\platform-tools

다음은 adb 명령어를 사용하기 위해 Ctrl+C 로 미리 클립보드에 복사해둔 adb 설치 경로로 이동하겠습니다.

위 명령어를 복사해서 마우스 우클릭으로 cmd에 붙여 넣기가 가능합니다.

엔터를 입력해서 platform-tools 경로로 이동해줍니다.

다음은 adb 를 이용해 fastboot 모드로 부팅하도록 하겠습니다.

adb reboot fastboot

위 명령어를 복사해 마우스 우클릭으로 붙여넣기하고 엔터를 눌러주세요.

만약 위 사진처럼 에러가 발생한다면 설정의 개발자 모드에서 USB 디버깅이 활성화되지 않았거나 권한이 없는 것입니다.

USB 디버깅 옵션을 재차 확인하고 PC와 연결해서 권한을 한번 주는 것으로 해결 가능합니다.

adb를 통해 fastboot 재부팅 명령어가 실행되면 이 자동으로 종료되고 재부팅이 진행됩니다.

이제 fastbootd 라고 큼지막하게 표시된 윙의 fastboot 화면이 나타납니다.

fastbootd 화면에서는 볼륨 키로 이동 전원 키가 선택이니 아래로 이동하셔서 Reboot to bootloader 메뉴를 선택해줍니다.

아래의 Reboot to bootloader 를 볼륨키로 이동해 선택하고 전원키로 실행해줍니다.

이제 새로운 화면으로 진입하는데 윙의 부트로더 설정 화면입니다.

아래의 DEVICE STATE - Locked 라는 빨간색 항목을 보면 현재 기기의 부트로더는 잠겨있는 상태로 확인됩니다.

위 사진처럼 부트로더 모드에 진입한 채로 PC 에 연결하면 USB를 통해 fastboot 명령을 사용할 수 있는 상태가 됩니다.

단 정상적인 진입이 아니다 보니 그런건지 제 경우 드라이버가 자동으로 적용되질 않았습니다.

만약 드라이버가 정상적으로 인식되었는지 확인하려면 윈도우 11 기준으로 시작 버튼의 마우스 우클릭 👉 장치 관리자를 실행해줍니다.

장치관리자에 들어가 보면 안드로이드의 드라이버가 엉뚱하게 잡혀 있는 상황이라면, fastboot 명령이 실행될 수 있도록 기타 장치속성을 눌러 직접 안드로이드 드라이버를 지정해야합니다.

기타 장치로 보이는 Android속성 창이 열리면 드라이버 업데이트를 눌러줍니다.

만약 드라이버에 문제가 있는 경우 미리 설치해두었던 구글의 ADB 드라이버를 지정하면 정상적인 명령어 실행이 가능합니다.

제 경우는 가장 첫 번째인 ADB Testing Interface를 지정했습니다.

부트로더 화면에 진입하고 드라이버까지 지정이 되었다면, 이제 PC에서 adb를 통해 fastboot 명령어를 전달할 수 있습니다.

cd C:\platform-tools

윈도우의 명령 프롬프트인 cmd에서 C드라이브adb 설치 경로로 이동해줍니다.

fastboot oem unlock 

adb를 통해 fastboot oem unlock 를 실행해줍니다.

정상적으로 adb 명령어가 동작했다면 재부팅이 진행 되면서 위 사진처럼 OEM Unlock 화면이 나타나게 됩니다.

볼륨 버튼을 이용해 UNLOCK THE BOOTLOADER 메뉴로 이동하고 전원버튼을 눌러 선택해줍니다.

다시 한번 기기가 재부팅 되며 이번엔 부팅할 때 부트로더 언락 되었으니 주의하라는 문구가 부팅할 때 첫 화면이 추가 됩니다.

그리고 부트로더가 언락이 되면서 기존 사용자의 정보를 보호하기 위해 윙의 모든 데이터가 삭제 되고 완전히 초기화 되는 모습을 볼 수 있습니다.

재부팅 된 윙은 기본 설정을 간단히 마치고 다음 작업을 위해 다시 한번 개발자 옵션활성화 시켜줘야합니다.

이번엔 OEM 잠금 해제 사용 옵션이 완전히 비활성화 된 것을 확인할 수 있습니다.

부트로더가 이미 잠금 해제 되었습니다. 라는 문구가 보인다면 드디어 부트로더 언락 작업이 모두 완료 된 것이라 할 수 있습니다.

이는 fastboot 모드를 진입해서 Reboot to bootloader 에서도 부트로더 언락 상태를 확인이 가능합니다.

아래의 DEVICE STATE - unlocked 라는 빨간색 항목을 보면 이젠 기기의 부트로더가 잠금 해제된 것을 확인 가능합니다.

다음은 EDL 모드에 다시 진입해서 위의 정상적인 통신사 사용을 위해 미리 백업해 둔 원본 파티션으로 데이터를 복원하는 과정이 필요합니다.

12. QFIL에서 백업해 두었던 원본 파티션의 복원

현재 윙의 상태는 LG 부트로고가 나타나는 부트로더 언락이 가능한 eng 부트로더 데이터를 덮어 씌워 두었던 상태입니다.

처음 파티션 매니저에서 부트로더 언락 작업 전에 데이터를 덮어 쓰게 될 4개의 파티션을 미리 백업해두었던 것을 다시 원본 파티션으로 복원하는 과정을 진행해야합니다.

목표인 부트로더 언락이 완료된 이 시점에 다시 한번 긴급 복구모드인 EDL 모드로 진입해 기존에 백업해둔 4개의 파티션을 다시 복원해야합니다.

윙에 복구할 파티션은 abl_a, abl_b, sid_a, sid_b 등으로 총 4개의 파티션이 복원 대상에 해당합니다.

EDL 모드에 진입한 윙에 파티션을 복원하는 작업을 위해 QFIL을 다시 실행해줍니다.

퀄컴 HS 드라이버 를 이용해 윙이 PC와 연결 되었다면 상단의 (1) Tools 메뉴를 눌러 (2) Partition Manager 로 진입해줍니다.

abl_a 부터 시작해서 abl_b 등의 파티션을 모두 백업해둔 원본 파티션으로 복원해줍니다.

마우스 우클릭 이후 나타나는 메뉴에서 Manage Partition Data 를 클릭해줍니다.

이름 용도
Read Data 현재 파티션을 읽어 bin 파일로 특정 경로에 저장할때 사용(백업)
Load Image 별도 이미지를 해당 파티션에 플래싱하는 기능으로 사용에 주의

이번엔 Raw Data Manager 창에서 우측의 Load Image 버튼을 이용해 백업해둔 파티션 파일을 선택하고 복원하겠습니다.

10. 부트로더 언락 가능한 버전으로 파티션 교체 과정에서 백업해 둔 파일들을 이용해 abl_a, abl_b ,sid_a ,sid_b4개의 파티션을 모두 복원해줍니다.

백업과는 달리 복원의 경우는 다른 안전장치가 전혀 없기 때문에 파일 선택에 주의하시길 바랍니다.

모든 파티션 복원에 성공한다면 Raw Data Manager 창을 닫고 위처럼 Finish Reset To DEL 이란 메세지가 나타날 때까지 기다려줍니다.

다음은 볼륨 (-)전원 버튼을 눌러 기기를 강제로 재부팅해줍니다.

그렇게 윙은 다시 KT 통신사 기준으로 복원이 완료되었습니다.

KT 유심(usim)을 넣어 테스트를 해보니 원본 파티션 복원 이전의 LG 부트로고 버전에 발생하던 통화 불가 문제가 해결된 모습입니다.

통신사의 LTE 데이터 통신 역시 잘 동작하는 것으로 보입니다.

드디어 부트로더 언락이 모두 완료된 윙을 완성하게 되었습니다.

13. 마지스크(Magisk) 를 이용한 루트 권한 획득

마지막 과제는 루트 권한이 필요한 일부 작업들을 윙에서 작업할 수 있도록 마지스크를 설치할 예정입니다.

작업간의 편의를 위해 내장 메모리에 넣어도 좋지만 SD 카드 에 복사해서 사용하도록 하겠습니다.

마지스크는 하이브리드 루팅과 비슷한 형태로 기존의 완전한 루팅 작업보다는 은행앱이나 여타 루트 권한을 제한하는 앱 등에서 비교적 안전하게 사용이 가능합니다.

대부분의 기능을 정상적으로 사용 가능한 것과 별개로 소위 블로터 앱이라 불리는 통신사의 쓰레기 앱들을 삭제하거나 윙의 쓰로틀 제한을 일부 해소하는 등의 다양한 작업을 할 수 있습니다.

Releases · topjohnwu/Magisk
The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.

먼저 위 마지스크(Magisk) 공식 깃허브의 릴리즈 탭에서 apk 를 다운로드 받아 설치 할 수 있습니다.

크롬 기준으로 설치시 보안 경고를 해제하고 마지스크apk를 설치해줍니다.

앱을 이용해 부트파티션을 조작해 마지스크를 설치 가능하니 우선 부트 파티션인 boot_a, boot_b 를 백업해야만 합니다.

그렇다면 또 다시 긴급 복구 모드인 EDL 모드의 진입이 필요합니다.

볼륨 (-) 버튼을 누른채로 전원 버튼을 길게 눌러 기기를 종료하고 그대로 누른채 볼륨 (+) 연타로 EDL 모드로 진입해줍니다.

QFIL에 연결이 완료되면 이번엔 부트 파티션들을 백업하도록 하겠습니다.

상단의 메뉴 중 Tools 를 선택하고 아래의 하위 메뉴 중 Partiton Manager(파티션 매니저) 를 선택해줍니다.

boot_a 파티션을 선택하고 우클릭 한 뒤 Manage Partition Data 를 선택합니다.

Raw Data Manager 창에서 좌측의 read Data 를 선택해 C:\Users\{사용자명}\AppData\Roaming\Qualcomm\QFIL\COMPORT_{포트번호} 의 경로에서 백업된 데이터의 파일명을 변경하고 저장해줍니다.

위 사진처럼 백업 된 파티션 데이터의 이름을 변경하고 기존 백업파일과 함께 모아두도록 하겠습니다.

파일을 모두 백업했다면 이제 SD 카드에 복사하도록 하겠습니다.

물론 여러분이 여분의 SD 카드가 없는 경우라면 내부 공유 저장용량에 넣어도 무관합니다.

윙을 USBPC와 연결하고 MTP 모드로 연결해줍니다.

PC에서는 이제 윙의 내부 저장소를 바로 접근이 가능합니다.

다음은 MTP 모드로 연결된 윙의 저장소에 접근하도록 하겠습니다.

제 경우 윙의 SD 카드 폴더가 보이니 진입하도록 하겠습니다.

백업해 두었던 윙의 부트 파티션 파일인 boot_a.bin, boot_b.bin을 복사해줍니다.

마지스크를 실행하고 상단의 Magisk 앱 내의 상단 설치 버튼을 눌러줍니다.

화면의 상단부가 터치가 되질 않아 제 경우 별도 키보드 마우스를 이용했습니다.

설치 메뉴에서는 파일 선택 및 패치를 눌러주시고 미리 복사해둔 부트 파티션 백업 파일인 boot_a.bin 파일을 선택해줍니다.

파일을 선택하고 설치 버튼을 누르면 알아서 마지스크가 백업해두었던 윙의 부트 파티션에 설치됩니다.

마지스크 앱을 통해 패치된 부트 파티션 파일은 별도로 기본 경로에 따라 윙의 내부 공유 저장용량에 저장됩니다.

미리 파일명을 수정해 따로 백업해 두도록 하겠습니다.

윙의 내부 저장소에 접근해 내부 공유 저장용량으로 이동합니다.

여러가지 내부 폴더가 보이는데 이 중에 Download 폴더로 이동해줍니다.

아까 부트 파티션 파일의 패치를 적용할 때 보았던 파일명으로 저장된 이미지가 보입니다.

키보드의 F2 혹은 마우스 우클릭 후 파일의 이름을 변경해줍니다.

원본인 boot_a.bin 으로 파일명을 변경했습니다.

윙의 부트 파티션은 boot_b.bin까지 총 2종이니 둘 모두 똑같이 마지스크의 패치를 적용해야만 합니다.

같은 방식으로 boot_b.bin 파일 역시 패치해줍니다.

같은 방식으로 패치를 적용하고 마찬가지로 이름을 변경해줍니다.

마지스크가 적용된 boot_a.binboot_b.bin 파일이 모두 준비되었습니다.

바탕 화면 등의 경로에 우선 복사해줍니다.

이제 QFIL에서 복원에 사용해야 하니 마찬가지로 경로 문제가 발생하지 않도록 C 드라이브adb 의 경로였던 platform-tools 폴더에도 magisk 라는 폴더를 만들어줍니다.

그리고 magisk 폴더에 패치된 부트 파티션 파일의 복사를 진행했습니다.

당연하게도 사용자가 안드로이드에 부트 파티션을 바로 반영할 방법이 없습니다.

따라서 다시 EDL 모드로 진입해 위 마지스크가 패치된 부트 파티션을 적용해야합니다.

윙이 EDL 모드로 진입에 성공한다면 Select Port를 눌러 줍니다.

아마 여러분도 지금쯤이라면 긴급 복구 모드가 익숙해지셨으리라 생각됩니다.

마찬가지로 퀄컴 HS 드라이버를 선택하고 OK를 눌러줍니다.

상단의 메뉴 중 Tools 를 선택하고 아래의 하위 메뉴 중 Partiton Manager(파티션 매니저) 를 선택해줍니다.

파티션 매니저를 열면 boot_a 부터 먼저 패치된 버전으로 복원하도록 하겠습니다.

마우스 우클릭 이후 manage partition Data 를 선택해줍니다.

Raw Data Manager 팝업에서 Load Image 버튼을 눌러줍니다.

미리 C 드라이브에 옮겨 두었던 패치된 부트 파티션 boot_a.bin 파일을 선택해줍니다.

아래의 Status 로그에 정상적으로 적용된 것이 보이는군요.

boot_a 의 복원이 완료 되었으니 Raw Data Manager 에서 Close 를 눌러 닫아줍니다.

이번에도 마찬가지로 boot_b 파티션을 복원해줍니다.

언제나 엉뚱한 파티션에 복원을 하지 않도록 선택에 각별히 주의해주세요.

같은 방법으로 Load Image 버튼을 눌러 마지스크 패치가 적용된 boot_b.bin 파일을 선택하고 열기 버튼을 눌러 적용해줍니다.

boot_b의 복원이 완료되면 Close 버튼을 눌러 닫아줍니다.

모든 작업이 완료 되었으니 Close 버튼을 눌러 파티션 매니저를 닫아줍니다.

경고창이 나타나면 OK 버튼을 눌러줍니다.

QFILEDL 모드를 리셋하는 동안 기다려줍니다.

모든 작업이 완료되고 Finish Reset To EDL 문구가 보입니다.

우측 하단의 Exit 버튼을 눌러 QFIL을 닫아줍니다.

그리고 볼륨 (-) 버튼 및 전원 버튼을 길게 눌러 기기를 재부팅하도록 하겠습니다.

기기가 재부팅 되면 Magisk 앱을 실행시켜줍니다.

이제 마지스크 앱에서 전에 없던 새로운 문구인 추가 설정 필요 팝업이 나타납니다.

확인 버튼을 눌러 주시면 5초 후 기기가 재부팅됩니다.

다시 한번 기기가 재부팅 되고나면 마지스크 앱을 실행할 때 하단의 슈퍼유저 권한이 모두 해제된 것을 확인 할 수 있습니다.

이제부터는 마지스크의 모듈을 설치해서 사용하거나 루트 권한을 요구하는 앱을 허용하는 등의 추가적인 작업이 가능합니다.

드디어 부트로더 언락과 함께 루트 권한까지 모든 작업이 완료되었습니다.

대부분은 여기까지 오셨다면 작업이 모두 끝나실 겁니다.

14. LG ROM UP을 이용한 비공식 업데이트

기존 안드로이드 12버전에서 LG 해외 버전으로 강제 변경해서 부트로더 언락을 했더니 그런건지 OTA 업데이트를 시도할 때 번번히 실패하고 말았습니다.

게다가 화면 자동회전의 경우, 업데이트만 시도하면 이후로는 제대로 동작하지 않고 있기 때문에 반드시 업데이트가 필요한 상황입니다.

이대로 안드로이드 12에 머무를 수 없으니 어떻게든 업데이트 방법을 찾아봅니다.

우선 억울하게도 LG의 공식 PC용 업데이트 툴인 LG Bridge는 아무런 도움이 되질 못했습니다.

여러분은 시도해 볼 필요도 없다고 생각합니다.

다음은 해외에서 다른 대안을 찾았으니 바로 위 LG ROM UP이라는 비공식 프로그램입니다.

마찬가지로 LG의 통합 USB 드라이버를 이용하는 프로그램으로 사용자가 펌웨어 파일을 자유롭게 설치가 가능했습니다.

별도의 설치 없이 실행파일로 구동

다만 일반적인 이미지가 아닌 KDZ 라는 포맷의 파일만 사용 가능하며 이후 공식 업데이트는 불가능하고 앞으로는 수동으로 업데이트를 해야만 하니 주의가 필요합니다.

게다가 KT 용 펌웨어를 엎어버리고 자급제 버전의 롬을 올리는 것도 가능하나 국내에서 IMEI가 제대로 동작할지 자신이 없어 우선 KT 통신사 버전의 최신 펌웨어로 업데이트를 진행했습니다.

List Firmware KDZ of LG Wing 5G / LMF100N
List Firmware KDZ of LG Wing 5G / LMF100N - Download Free and Max speed from LGROM.com

위 링크에서 마지막으로 출시된 안드로이드 13 버전인 T 버전을 클릭해줍니다.

제 윙의 통신사 버전에 맞게 위 사진의 KTF 버전을 KDZ를 다운로드 받아 설치했습니다.

우측의 Download 버튼을 눌러 다운로드가 가능합니다.

프로그램은 구조가 매우 간결한데 단순히 KDZ 파일의 선택 이후 아래의 FLASH 버튼을 눌러 설치만 해주면 간단하게 바로 업데이트가 진행됩니다.

하단에는 여전히 에러 메세지가 보이긴 하지만 정상적으로 업데이트가 진행되었습니다.

펌웨어의 설치가 완료되면 아래의 Reboot 버튼을 눌러 기기를 재부팅해줍니다.

드디어 최신 버전의 안드로이드 13버전의 윙으로 둔갑했습니다.

향후 업데이트가 귀찮긴 하지만 OTA 공식 업데이트가 정상적으로 진행되지 않는 형편에서는 최선이었다고 할 수 있겠군요.

15. 작업 후기

추가로 XDA에 올라와 있던 윙의 TWRP를 발견하고 신나서 부팅을 해보려고 했으나 생각과는 달리 전혀 동작하질 않았습니다.

cd C:\platform-tools

adb 경로로 이동해서 커스텀 리커버리인 TWRP로 부팅해볼 참이었습니다.

adb reboot fastboot

우선 국내 펌웨어로는 fastboot 진입까진 가능했습니다.

fastboot boot twrpwing.img

아무래도 해외 버전 펌웨어에 특화 되어있는 것인지 기존 안드로이드 12 및 현재 13 버전에서 국내 펌웨어 쪽이라면 부트로더 자체가 동작하지 않는 것으로 보입니다.

나중에라도 따로 커스텀 펌웨어가 등장하면 기기에 플래싱할 일이 있다면 써먹고 싶었는데 아쉬운 부분입니다.

다음으로는 사용하는 드라이버가 정확히 어떤 이름인지 확인이 필요합니다.

작업 간에 가장 저를 괴롭히던 것은 부트로더 모드에서 기본 ADB 드라이버가 안잡히는 문제였습니다.

뭔가 adb 명령이 제대로 적용되질 않는다면 장치 관리자에서 기타 장치로 무엇이 잡혀 있는지 주기적으로 확인을 할 필요가 있습니다.

제 경우 LTE 모듈이 달린 노트북에서 퀄컴이 아니라 자꾸 위 퀵텔의 LTE 모듈을 잡아서 QFIL이 저를 혼란스럽게 만들었습니다.

이름마저 비슷해서 처음엔 퀄컴의 드라이버 이름이 저런가!?보다 하고 착각하고 말았는데 결국 엉뚱한 드라이버였습니다.

결국 노트북에 설치된 LTE 모듈의 이름을 떠올리며 뭔가 잘못되었단 것을 깨달았습니다.

이렇게 엉뚱한 드라이버가 잡히면 아무리 바꾸어 보려고 해도 연결이 되질 않는데 그렇다고 LTE 모듈 드라이버를 날릴 수는 없으니 결국 다른 일반 데스크탑 PC에서 작업을 진행하게 되었습니다.

그리고 해외 유저들 사이에서 안내되고 있는 퀄컴의 또 다른 통합 드라이버입니다.

현재 부트로더 언락 가이드에서는 퀄컴 HS 드라이버를 사용했지만 아마도 정황상 위 통합 드라이버는 퀄컴 HS 드라이버까지 모두 포함된 것이니 사용해도 무관할 것으로 보입니다.

다운로드는 간단하고 설치역시 특별한 것은 없었습니다만, 둘 다 한번에 설치할 순 없었습니다.

작업 간에는 용도에 맞게 하나만 설치하는 것이 유리할 것 같아 굳이 퀄컴의 통합 드라이버를 사용하진 않았습니다.

그럼에도 저와는 달리 만약 퀄컴 드라이버 문제가 계속 된다면 위 통합 드라이버를 한번 설치해서 사용해보시는 것을 추천드립니다.

여기까지 긴 내용을 따라오시느라 수고하셨습니다.

도움이 되시길 바랍니다.

감사합니다.

비정기로 발행되는 추천 포스트를 이메일로 받아 보실 수 있습니다.

특별한 추천 포스트를 바로 이메일로 받아보세요. 물론 무료입니다!
좋아요! 받은 편지함을 확인하고 구독을 확인하려면 링크를 클릭하십시오.
오류! 유효한 이메일 주소를 입력하십시오!