rw에서 / system을 다시 마운트 할 수 없습니다


15

필자는 / system / app 폴더에 adb로 앱을 푸시하려고 필사적으로 시도합니다 (저비용 태블릿에 PlayStore를 설치하기 위해). 그래서 루트 권한으로 / system 파티션을 다시 마운트하려고했습니다 .

mount -o remount,rw /system 

그러나 매번 같은 반응을합니다.

mount: Read-only filesystem

그리고 나는이 명령으로 시도했습니다 :

mount -o remount,rw -t ext4 /dev/block/actc /system

그러나 그것은 같은 것입니다 ... 그리고 나는 왜 루트 사용자조차도 이것을 수정할 수없는 이유를 이해하지 못합니다 ...

따라서 누군가 아이디어가 있다면 한 사람을 고통스럽게 구할 수 있습니다.


1
Android 4.4.2, Nexus 4와 동일한 문제가 있습니다.이 명령을 만들 때 커널은 다음 메시지를 dmesg :에 추가합니다 EXT4-fs (mmcblk0p21): re-mounted. Opts: (null). 왜 (null)? 나는 분명히 요청했다 rw!
Dmitry

이것을 알아 낸 적이 있습니까? 같은 문제가 있습니다. 삼성 갤럭시 탭 사용.
Jacob Minshall

@JacobMinshall과 @Dmitry에 관심이 있다면 xbin을 암시 적으로 실행하지 말고`/ system / bin / mount를 명시 적으로 실행 해보십시오. 그것은 나를 위해 일했다.
Jon Coombs

답변:


14

mountcommand 구문은 일반적으로 대상을 지정해야합니다.

mount -o remount,rw /system /system

이 결과는 문제를 더 잘 이해하는 데 유용 할 수 있습니다.

cat /proc/mounts

최후의 수단으로 루트가 있으므로 시스템의 원시 이미지를 저장하고 상자에 마운트 한 다음 앱을 푸시 한 다음 장치에서 다시 플래시 할 수 있습니다. 원시 시스템 이미지를 저장하려면 다음을 수행하십시오.

dd if=<block device mounted on /system> of=<output file>

그렇게하면 문제가 발생할 경우를 대비하여 원본 시스템 이미지를 유지하십시오.


내가 재고 롬에 dd 명령을 받았으면 좋겠다 ...
Wang

@ 왕 나는 dd가 누락 된 것을 본 적이 없지만 일부 장치에는 불완전한 시스템 이미지가있을 수 있습니다.이 경우 cat / block / device> output-file
zeiky.dev를 사용

1

나는 이것이 일반적으로 어떻게 적용되는지 잘 모르겠지만, 같은 문제가 있었고이 reddit 의견이 나를 위해 그것을 해결했다는 것을 발견했습니다 (Android Lollikat, cm11).

http://www.reddit.com/r/cyanogenmod/comments/2m9t61/how_do_i_remount_system_rw_on_cm11_m12/

기본적으로 나는 /system/bin/mount -o ...그냥 대신 명시 적으로 사용하여 다시 마운트해야했습니다 mount -o .... 어느 시점에서 / system / xbin의 버전이 우선 순위를 갖기 시작했으며 어떤 이유로 버전이 자동으로 실패한다고 생각합니다. (link2sd가 최근까지 RO에 대해 불평하기 시작하지 않았기 때문에 "어느 시점에서"라고 말합니다.) PATH를 편집하여 명령 줄을 사용할 필요가 없도록 명령 줄을 사용할 필요가 없도록 PATH를 수정하는 것이 가능해 보입니다. 앱이이를 수행해야합니다. 그래도 아직 확실하지 않습니다.

FWIW, 내 장치의 실제 스크립트는 다음과 같습니다 (cm11 / LolliKat의 s5360). 어디서나 실행되지만 / system / xbin에 저장하여 쉘에서 전 세계적으로 사용할 수 있습니다.

#!/system/bin/sh
echo "Remounting /system as RW (read/write)..."
/system/bin/mount -o remount,rw /system
mount | grep yaff

마지막 줄은 실제로 작동했는지 여부에 대한 빠른 피드백을 제공하는 것입니다 (내 내부 파티션이 yaff2이므로). 이전 줄은 다음 중 하나와 같이 더 명확하게 만들 수 있지만 내 장치에서는 필요하지 않습니다.

/system/bin/mount -o remount,rw /system /system
/system/bin/mount -o remount,rw /system /system
/system/bin/mount -o remount,rw /dev/block/mtdblock8 /system
/system/bin/mount -o remount,rw -t yaffs2 /dev/block/mtdblock8 /system

mount -o remount,rw /system 나를 위해 일했다. 내 기기는 Android 5.1.1이 포함 된 Nexus 5입니다. LMY48B
Maksim Dmitriev

1

나를 위해 ... 아무것도 작동하지 않았고 마침내 이것이 효과가있었습니다.

adb root
adb remount

1
"adbd는 프로덕션 빌드에서 루트로 실행할 수 없습니다"
Vadzim

0

안전하지 않은 커널 (boot.img)이 있습니까? 시스템 파티션에 대한 쓰기 액세스는 일반적으로 부팅시 커널에 의해 차단됩니다. adb를 사용하여 / system에 대한 쓰기 액세스 권한을 얻으려면 수정 된 커널을 플래시해야합니다.

OS에서 / system을 r / w로 마운트 할 수 있습니까? 그런 다음 adb 또는 일반 USB (장치에 따라 MTP 또는 대용량 저장 장치)를 사용하여 파일을 SD 카드로 푸시 한 다음 장치의 터미널 또는 루트 가능 파일 관리자를 사용하여 올바른 위치에 복사하고 권한을 설정할 수 있습니다. 그런 다음 재부팅하면 설치되어 있어야합니다.


우리가 / system에 액세스하려고 할 때 아직 루트가 아니라고 생각합니다. 루트 adb 쉘을 사용하는 요점은 su와 같은 것을 / system에 푸시하여 루트로 만드는 것입니다.
Wang

@ 왕 OP는 그가 이미 루트를 가지고 있다고 명시했다
zeiky.dev

0

TWRP의 복구 모드를 사용하여 rw에서 시스템을 마운트하고 "Mount"를 누르고 "System"을 선택하여 "Mount as read-only"가 선택되어 있지 않은지 확인했습니다. 그런 다음 system/appTWRP의 내장 파일 관리자를 사용하여 APK를 폴더에 복사 할 수 있습니다.

ADB 또는 터미널 에뮬레이터를 사용하여 rw로 마운트하려는 다른 모든 시도는 실패했습니다. BusyBox를 사용하지 않았습니다.

기억에서, 그것은 과거에 저에게 효과적이었습니다.


0

나는 비슷한 문제가 있었다. Busybox를 사용했을 때 성공했습니다 (Toybox 시스템 앱과 혼동하지 마십시오).

busybox mount -o remount,rw /system 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.