나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-02-05 20:34:33

넥서스 7/2세대/리파티션 및 벽돌 복구

파일:상위 문서 아이콘.svg   상위 문서: 넥서스 7/2세대
1. 개요2. 작업 목표 및 대상3. 사전 준비
3.1. 준비물3.2. 작업 환경 준비3.3. 작업 중 사용할 ADB shell 내 명령 숙지3.4. 리커버리 상태에서 기기와 컴퓨터 간 파일 복사 관련 사항 숙지3.5. 파티션 이동 방법 숙지
4. 실제 작업
4.1. 기기 파티션 정보 백업4.2. 리파티션 작업
5. 벽돌 복구
5.1. 벽돌 상태의 정의5.2. 소프트웨어 준비5.3. 작업 순서
6. 참고 사이트 링크

1. 개요

2. 작업 목표 및 대상

#!syntax sh Model: MMC MMC32G (sd/mmc)
Disk /dev/block/mmcblk0: 3093713050B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start         End           Size          File system  Name      Flags
        5120B         67108863B     67103744B     Free Space                     // Start offset에서 17KB 까지 파티션 할당 불가.
1       67108864B     156745727B    89636864B     fat16        radio             // $$$
        156745728B    201326591B    44580864B     Free Space
2       201326592B    204472319B    3145728B                   modemst1          // $$$
3       204472320B    207618047B    3145728B                   modemst2          // $$$
        207618048B    268435455B    60817408B     Free Space
4       268435456B    283795455B    15360000B     ext4         persist           // $$$
        283795456B    335544319B    51748864B     Free Space
5       335544320B    336343039B    798720B                    m9kefs1           // $$$
6       336343040B    337141759B    798720B                    m9kefs2           // $$$
        337141760B    402653183B    65511424B     Free Space
7       402653184B    403451903B    798720B                    m9kefs3           // $$$
8       403451904B    406597631B    3145728B                   fsg               // $$$
        406597632B    469762047B    63164416B     Free Space
9       469762048B    471298047B    1536000B                   sbl1              // &&&&
10      471298048B    472834047B    1536000B                   sbl2              // &&&&
11      472834048B    474931199B    2097152B                   sbl3              // &&&&
12      474931200B    480174079B    5242880B                   aboot             // &&&&
13      480174080B    480698367B    524288B                    rpm               // &&&&
        480698368B    536870911B    56172544B     Free Space
14      536870912B    553648127B    16777216B                  boot              // $$$
        553648128B    603979775B    50331648B     Free Space
15      603979776B    604504063B    524288B                    tz                // &&&&
16      604504064B    604505087B    1024B                      pad               // &&&&
17      604505088B    606041087B    1536000B                   sbl2b             // &&&&
18      606041088B    608138239B    2097152B                   sbl3b             // &&&&
19      608138240B    613381119B    5242880B                   abootb            // &&&&
20      613381120B    613905407B    524288B                    rpmb              // &&&&
21      613905408B    614429695B    524288B                    tzb               // &&&&
        614429696B    671088639B    56658944B     Free Space
22      671088640B    1551892479B   880803840B    ext2         system            // @
23      1551892480B   2139095039B   587202560B    ext4         cache             // @
        2139095040B   2263875583B   124780544B    Free Space
24      2263875584B   2264924159B   1048576B                   misc              // @
25      2264924160B   2281701375B   16777216B                  recovery          // @
26      2281701376B   2281709567B   8192B                      DDR               // &&&&
27      2281709568B   2281717759B   8192B                      ssd               // &&&&
28      2281717760B   2281718783B   1024B                      m9kefsc           // **
        2281718784B   2348810239B   67091456B     Free Space
29      2348810240B   2348843007B   32768B                     metadata          // **
        2281718784B   2415919103B   134200320B    Free Space
30      2415919104B   30937169407B  28521250304B  ext4         userdata          // **
        30937169408B  30937181695B  12288B        Free Space                     // End offset에서 12KB 전방까지 파티션 할당 불가.

 @    1순위 작업 대상 : system 파티션과 그에 인접한 파티션으로서, 필수적으로 이동시키거나 크기 조절이 필요한 파티션
 **   2순위 작업 대상 : system 파티션 용량 추가 확보를 위해 이동시키거나 크기 조절이 필요한 파티션
 $$$  3순위 작업 대상 : 잉여공간으로 이동이 가능하고 이동하더라도 문제를 일으키지 않는 파티션
 &&&& 작업 불가       : 이동이나 변조 시 부팅이 되지 않고 벽돌 상태를 유발하는 파티션
}}}

3. 사전 준비

3.1. 준비물

1. 하드웨어
2. 소프트웨어

3.2. 작업 환경 준비

1. 기기를 부트로더로 진입시킨다.
2. 기기 OEM lock 상태를 확인한다.
3. 기기에 TWRP 리커버리를 설치한다.
4. 기기를 리커버리로 진입시킨다.
5. ADB 연결 상태를 확인한다.
6. parted 실행파일을 기기에 복사하고 Shell로 진입하여 실행권한을 준다. 기기에 복사한 parted 파일은 기기 재부팅 시점에 삭제되므로 새로이 리커버리에 진입해 parted 작업을 해야 할 경우 반복하여 실행한다.
adb shell
~ # chmod +x /sbin/parted}}}

3.3. 작업 중 사용할 ADB shell 내 명령 숙지

1. mount/umount 명령
2. dd 명령
3. parted 실행 파일 사용방법

3.4. 리커버리 상태에서 기기와 컴퓨터 간 파일 복사 관련 사항 숙지

3.5. 파티션 이동 방법 숙지

~ # parted /dev/block/mmcblk0 mkpart primary [시작 지점] [끝 지점]
~ # parted /dev/block/mmcblk0 name [22/23/30] [system/cache/userdata]
리커버리 재진입
~ # mke2fs -q -t ext4 -E discard /dev/block/mmcblk0p[22/23/30]}}}~ # parted /dev/block/mmcblk0p rm [파티션 번호]
~ # parted /dev/block/mmcblk0p mkpart primary [시작 지점] [끝 지점]
~ # parted /dev/block/mmcblk0p name [파티션 번호] [파티션 이름]
~ # dd if=/sdcard/[이미지이름].img of=/dev/block/mmcblk0p[파티션 번호]}}}

4. 실제 작업

4.1. 기기 파티션 정보 백업

#!syntax sh dd if=/dev/block/mmcblk0p1 of=/sdcard/01radio.img
dd if=/dev/block/mmcblk0p2 of=/sdcard/02modemst1.img
dd if=/dev/block/mmcblk0p3 of=/sdcard/03modemst2.img
dd if=/dev/block/mmcblk0p4 of=/sdcard/04persist.img
dd if=/dev/block/mmcblk0p5 of=/sdcard/05m9kefs1.img
dd if=/dev/block/mmcblk0p6 of=/sdcard/06m9kefs2.img
dd if=/dev/block/mmcblk0p7 of=/sdcard/07m9kefs3.img
dd if=/dev/block/mmcblk0p8 of=/sdcard/08fsg.img
dd if=/dev/block/mmcblk0p9 of=/sdcard/09sbl1.img
dd if=/dev/block/mmcblk0p10 of=/sdcard/10sbl2.img
dd if=/dev/block/mmcblk0p11 of=/sdcard/11sbl3.img
dd if=/dev/block/mmcblk0p12 of=/sdcard/12aboot.img
dd if=/dev/block/mmcblk0p13 of=/sdcard/13rpm.img
dd if=/dev/block/mmcblk0p14 of=/sdcard/14boot.img
dd if=/dev/block/mmcblk0p15 of=/sdcard/15tz.img
dd if=/dev/block/mmcblk0p16 of=/sdcard/16pad.img
dd if=/dev/block/mmcblk0p17 of=/sdcard/17sbl2b.img
dd if=/dev/block/mmcblk0p18 of=/sdcard/18sbl3b.img
dd if=/dev/block/mmcblk0p19 of=/sdcard/19abootb.img
dd if=/dev/block/mmcblk0p20 of=/sdcard/20rpmb.img
dd if=/dev/block/mmcblk0p21 of=/sdcard/21tzb.img
dd if=/dev/block/mmcblk0p24 of=/sdcard/24misc.img
dd if=/dev/block/mmcblk0p25 of=/sdcard/25recovery.img
dd if=/dev/block/mmcblk0p26 of=/sdcard/26DDR.img
dd if=/dev/block/mmcblk0p27 of=/sdcard/27ssd.img
dd if=/dev/block/mmcblk0p28 of=/sdcard/28m9kefsc.img
dd if=/dev/block/mmcblk0p29 of=/sdcard/29metadata.img
}}}

4.2. 리파티션 작업

Disk /dev/block/mmcblk0: 30937186304B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
5120B 18431B 13312B Free Space1 18432B 89655295B 89636864B fat16 radio // $$$2 89655296B 92801023B 3145728B modemst1 // $$$3 92801024B 95946751B 3145728B modemst2 // $$$4 95946752B 111306751B 15360000B ext4 persist // $$$5 111306752B 112105471B 798720B m9kefs1 // $$$6 112105472B 112904191B 798720B m9kefs2 // $$$7 112904192B 113702911B 798720B m9kefs3 // $$$8 113702912B 116848639B 3145728B fsg // $$$
24 116848640B 117897215B 1048576B misc // $$$
29 117897216B 117929983B 32768B metadata // $$$
25 117929984B 134707199B 16777216B recovery // $$$
23 134707200B 469762047B 335054848B ext4 cache // @@
9 469762048B 471298047B 1536000B sbl1
10 471298048B 472834047B 1536000B sbl2
11 472834048B 474931199B 2097152B sbl3
12 474931200B 480174079B 5242880B aboot
13 480174080B 480698367B 524288B rpm
480698368B 536870911B 56172544B Free Space
14 536870912B 553648127B 16777216B boot
553648128B 603979775B 50331648B Free Space
15 603979776B 604504063B 524288B tz
16 604504064B 604505087B 1024B pad
17 604505088B 606041087B 1536000B sbl2b
18 606041088B 608138239B 2097152B sbl3b
19 608138240B 613381119B 5242880B abootb
20 613381120B 613905407B 524288B rpmb
21 613905408B 614429695B 524288B tzb
22 614429696B 2281701375B 1667271680B ext2 system // @@
26 2281701376B 2281709567B 8192B DDR
27 2281709568B 2281717759B 8192B ssd
28 2281717760B 2281718783B 1024B m9kefsc
30 2281718784B 30937169407B 28655450624B ext4 userdata // @@
30937169408B 30937181695B 12288B Free Space

@@ 이동 및 용량을 변경한 파티션
$$$ 단순 이동한 파티션}}}}}}Disk /dev/block/mmcblk0: 3093713050B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
5120B 67108863B 67103744B Free Space
1 67108864B 156745727B 89636864B fat16 radio
156745728B 201326591B 44580864B Free Space
2 201326592B 204472319B 3145728B modemst1
3 204472320B 207618047B 3145728B modemst2
207618048B 268435455B 60817408B Free Space
4 268435456B 283795455B 15360000B ext4 persist
283795456B 335544319B 51748864B Free Space
5 335544320B 336343039B 798720B m9kefs1
6 336343040B 337141759B 798720B m9kefs2
337141760B 402653183B 65511424B Free Space
7 402653184B 403451903B 798720B m9kefs3
8 403451904B 406597631B 3145728B fsg
406597632B 469729279B 63131648B Free Space
29 469729280B 469762047B 32768B metadata // $$$
9 469762048B 471298047B 1536000B sbl1
10 471298048B 472834047B 1536000B sbl2
11 472834048B 474931199B 2097152B sbl3
12 474931200B 480174079B 5242880B aboot
13 480174080B 480698367B 524288B rpm
480698368B 536870911B 56172544B Free Space
14 536870912B 553648127B 16777216B boot
553648128B 603979775B 50331648B Free Space
15 603979776B 604504063B 524288B tz
16 604504064B 604505087B 1024B pad
17 604505088B 606041087B 1536000B sbl2b
18 606041088B 608138239B 2097152B sbl3b
19 608138240B 613381119B 5242880B abootb
20 613381120B 613905407B 524288B rpmb
21 613905408B 614429695B 524288B tzb
23 614429696B 2263875583B 1649445888B ext4 cache // @@
24 2263875584B 2264924159B 1048576B misc
25 2264924160B 2281701375B 16777216B recovery
26 2281701376B 2281709567B 8192B DDR
27 2281709568B 2281717759B 8192B ssd
28 2281717760B 2281718783B 1024B m9kefsc
22 2281718784B 4429202431B 2147483648B ext2 system // @@
30 4429202432B 30937169407B 26507966976B ext4 userdata // @@
30937169408B 30937181695B 12288B Free Space

@@ 이동 및 용량을 변경한 파티션
$$$ 단순 이동한 파티션}}}}}}

5. 벽돌 복구

5.1. 벽돌 상태의 정의

5.2. 소프트웨어 준비

5.3. 작업 순서

1. 기기를 컴퓨터에서 분리시키고 전원버튼 누른 상태를 10초 이상 유지한다. 기기 화면은 변화가 없으나 재부팅된다.

2. 기기를 컴퓨터에 연결했을 때 USB 장치 연결음이 들리고 장치관리자에 노란색 삼각형과 함께 QHSUSB_DLOAD 라는 장치가 보이면 기기 드라이버(Qualcomm Serial Port)를 설치한다. 장치 관리자에 보여지는 장치 이름에 Qualcomm HS-USB QDLoader 9008 (COMx) 이 보여야 제대로 통신이 가능한 상태이다. 만약 Qualcomm HS-USB Diagnostics 9006 (COMx) 이 보인다면 외장 디스크로 인식되는 상태이니 \[디바이스 제거]-\[기기 재부팅]-\[컴퓨터 재부팅]-\[드라이버 설치] 과정을 반복한다.

3. MiFlash를 설치한다.

4. MiFlash를 실행하고 Refresh 버튼을 눌러 기기 목록이 갱신되는지 확인한다. Device 항목에 COMx 형식으로 표기되어야 하며, ₩?₩... 형식으로 알아보기 어려운 문자열이 뜬다면 2번 항목에서 언급한 외장 디스크 상태이므로 \[디바이스 제거]-\[기기 재부팅]-\[컴퓨터 재부팅]-\[드라이버 설치] 과정을 반복한다.

5. MiFlash의 Browse를 눌러 부트로더 플래시 이미지가 있는 폴더를 지정한다.

6. Flash all except storage를 선택해두고 Flash 버튼을 누른다. 약 85~90초 뒤에 기기를 분리하고 기기 전원버튼과 Vol Down 버튼을 동시에 10초 이상 누르고 있으면 부트로더로 진입하게 된다.

7. 명령 프롬프트에서 GPT 바이너리와 순정 부트로더, TWRP 리커버리를 설치한다.
{{{#!syntax sh fastboot flash gpt C:\temp\gpt_both0.bin
fastboot flash bootloader C:\temp\bootloader-deb-flo-04.08.img
fastboot flash recovery C:\temp\twrp-3.7.0_9-0-deb_followmsi.img}}}
8. 리커버리로 진입이 가능한지 재차 확인하고, 부트로더로 재부팅해 순정이미지를 적용하거나 리커버리에서 수동 리파티션 작업과 커스텀롬 설치를 진행한다.

6. 참고 사이트 링크



[1] 하드웨어적인 문제가 없고 단순히 작업 중 문제가 생겨 부트로더 모드 진입이 되지 않는 경우에 한정