본문 바로가기
전자기기

[Nvidia Shield K1] 루팅방법 및 추천 설정(수정중)

by 바이로카나 2018. 3. 27.
반응형

예전에 비하면 루팅의 당위성이 많이 줄어들긴 했지만, 그렇다고 완전히 없어진 것은 아닙니다. 아직도 순정 안드로이드에 부족한 부분이 있거든요. Nvidia Shield K1의 경우도 비슷하게, 부족한 램 관리를 위해 Greenify 루팅 버젼을 켜야하거나 하단 소프트키가 게임중 튀어나오는 경우를 막기 위해 순정 소프트키를 없애고 대신 서드파티 소프트키를 쓴다든가 하는 경우가 있습니다.


루팅방법은 이곳의 설명을 참고하였으며, 루팅을 하면서 생기는 모든 돌발상황에 대해서 최대한 답변은 드릴 수 있어도 책임은 지지 않습니다.


2018년 3월에 나온 K1 5.4버젼까지 아무 문제없이 루팅이 되는 것을 확인하였습니다.


주의사항 : 외장 SD카드가 꽂혀있는 상태에서 부트로더 언락을 해버리면 내장 메모리는 물론 SD카드 내용까지 전부 초기화됩니다. 언락 전에 꼭 백업하고 필요한 경우 SD카드를 분리하시기 바랍니다. sd카드를 내장 메모리처럼 사용하는 Adoptable Storage 기능을 사용중인 경우, 언락 후 재장착을 하더라도 사용이 불가능합니다. 이때는 그냥 SD카드에 있는 내용을 전부 백업한 후, 같이 초기화하는 걸 추천합니다.


Magisk(Magisk Manager는 루팅이 끝나고 기기 내에서 설치하는 것 입니다. 루팅용으로는 Stable ver Magisk를 받아주세요.) 

다운로드 링크


위 4가지를 다운받습니다.


ADB and Fastboot : 컴퓨터와 연결된 안드로이드 기기를 PC에서의 커맨드 입력을 통해 여러 작업을 수행할 수 있게 만듭니다.

Shield Family Drivers : PC에서 엔비디아 쉴드 K1을 인식할 수 있게 하는 드라이버입니다.

TWRP : 부트로더 락/언락 및 루팅을 위한 도구입니다.

Magisk : 과거 대표 매니저 앱이었던 Supersu의 역할을 하는 앱입니다. 루팅 탐지 우회가 제대로 안돼 여러모로 제약이 큰 Supersu 대신 Magisk를 추천합니다. 



0. ※중요!!!언락을 해야하는 경우, K1에 있던 모든 자료를 백업합니다.[각주:1] 언락하면 장착된 sd카드를 포함한 K1 내부의 자료가 삭제됩니다.


1. Minimal ADB and Fastboot를 설치합니다.


2. Minimal ADB and Fastboot가 설치되어 있는 폴더(기본 경로 Program Files(x86) - Minimal ADB and Fastboot)에 TWRP의 압축을 풀어서 나온 img 파일Magisk-vxx.x(xxxxx).zip 파을 집어넣습니다.

(이 때, 해당 파일 이름을 간단하게 지정하면 나중에 매우 편합니다. 필자는 twrp.img, magisk.zip으로 파일 이름을 바꾸었습니다.)


3. K1의 개발자 옵션을 열고 USB 디버깅을 활성화 합니다.


4. K1을 PC에 연결합니다. K1 화면 상에 디버깅을 물어보는 창이 뜨면 성공입니다. 허용을 눌러주세요. 


+ adb에서 인식하지 못할 경우 : Shield Family Drivers를 설치합니다.

Shield Family Drivers는 설치형이 아니라 inf 형태로 되어있기 때문에 장치관리자에서 드라이버 업데이트를 하셔야 합니다.

5. 이제 Fastboot를 실행하면(시작화면 A부분에 단축 아이콘이 있습니다. 찾지 못하시면 위에서 언급한 기본 경로에서 직접 실행하세요.) 커맨드창이 뜨는데, adb devices라고 입력하여 연결목록에 K1이 뜨면 1차 준비 완료입니다.

위가 K1과 PC연결이 실패했을 경우. 아래가 연결에 성공했을 경우입니다.


아래와 같이 일련번호와 device라는 말이 뜨지 않으면 연결에 실패했다는 뜻이니 usb선을 바꾸거나 연결하는 포트를 바꿔보거나[각주:2] 하시기 바랍니다. 필자의 경우엔 연결이 안정적으로 되지않고 연결-연결해제가 반복되는 현상이 일어났는데 usb선을 바꾸니까 해결되더군요.


3. 이제 커맨드창에 adb reboot bootloader 라고 입력하면 K1 재부팅 후 부트로더가 가동됩니다.

[자료화면]

언락을 했을 경우 5번 과정으로 넘어가면 됩니다.




4-1. 부트로더 언락을 한번도 하지 않았을 경우 이제 언락을 해야합니다. fastboot oem unlock이라고 치면 sd카드를 포함한 K1 내부의 모든 데이터가 지워짐과 동시에 언락이 됩니다. 이후 K1 기기상의 볼륨 버튼을 눌러 reboot를 골라 전원버튼을 누르면 자동으로 재부팅됩니다.


혹시나 언락되어 있는 상황에서 위의 커맨드를 또 입력하면 


(bootloader) Bootloader is already unlocked.

OKAY [  0.016s]

finished. total time: 0.016s


이런 식의 메세지가 출력되면서 아무런 일도 일어나지 않습니다. (포맷×)


4-2. 재부팅이 되면 K1의 개발자 옵션을 다시 열고 USB 디버깅 허용을 합니다.


5. 다시 adb reboot bootloader라고 쳐서 부트로더에 재진입합니다.


6. K1이 부트로더에 진입한 걸 확인한 후 fastboot boot twrp.img[각주:3]라고 치면 k1 기기상에 다운로드가 완료되었다는 말과 함께 Unmodified System Partition이라는 창이 떠있음을 확인할 수 있습니다.

[자료화면]


7. 아래부분을 스와이프를 한 후, Advance - Adb Sideload - Swipe to Start Sideload 스와이프 합니다.


8. K1화면상으로 뭔가 진행되는 듯하다가 멈추는 것처럼 보이는 시점이 있습니다. 이때 PC상에서 adb sideload magisk.zip[각주:4]을 입력하면 해당 파일이 전송중이라는 메세지가 뜬 후 설치가 됩니다. 


9. 설치가 완료된 걸 확인하면 K1의 화면을 스와이프 해주고 Reboot System을 누르면 재부팅이 되면서 루팅이 완료됩니다.

루팅 후 첫 부팅할 때는 걸리는 시간이 꽤 오래걸리더군요.(어림잡아 3~5분 정도) 느긋하게 기다려주세요.


10. 부팅이 완료되었으면 기기 내에 Magisk Manager APK를 다운받아서 설치합니다.


11. K1의 업데이트를 할 때마다 루팅내역이 초기화됩니다. 그때마다 부트로더 언락 과정을 제외한 1~10과정을 반복해주면 됩니다.






쉴드 제조사 공식 초기화 방법

https://docs.nvidia.com/gameworks/content/devices/shield_flashing_from_image.htm


제조사 공식 팩토리 이미지

https://developer.nvidia.com/gameworksdownload#?search=SHIELD%20Tablet%20K1&tx=$additional,shield

실제 최신버젼은 2018년에 공개된 5.4(안드로이드 7.0)이지만 해당 주소에는 5.2까지만 올라와있으므로 5.2로 초기화 > 기기 내 OTA로 5.4 업데이트 > 기기 내 초기화 과정을 거치면 됩니다.



* Supersu 기반 루팅을 해제하기 위해서는 이곳에서 다운받은 zip파일을 루팅하듯이 똑같이 TWRP로 집어넣으면 됩니다.


[추가 설명 예정]


시스템 기본 소프트키 삭제

/system build.prop 파일 수정해야함


qemu.hw.mainkeys=1

로 바꾸면 소프트키가 없어짐(하드웨어 키가 있는 것 처럼 속임으로써 소프트키를 없앰)


simple control을 설치하여 다른 곳에 소프트키가 나오도록 설정

(약 1000~2000원정도의 유료앱)


qemu.hw.mainkeys=1




greenify




  1. 언락을 이미 했으면 자료는 지워지지 않습니다. 하지만 만일의 사태에 대비하여 필수자료의 백업 정도는 하는 걸 추천합니다. [본문으로]
  2. usb허브를 통해 K1을 연결하면 안된다는 제보가 있습니다. [본문으로]
  3. 위에서 언급했듯이 필자는 파일이름을 twrp.img로 바꿔서 이렇게 입력한 것이며, 파일이름이 다르다면 그 다른 이름을 그대로 입력해주시면 됩니다. [본문으로]
  4. 위에서 언급했듯이 필자는 파일이름을 supersu.zip으로 바꿔서 이렇게 입력한 것이며, 파일이름이 다르다면 그 다른 이름을 그대로 입력해주시면 됩니다. [본문으로]
반응형