/ system을 다시 쓰기 가능 또는 읽기 전용으로 마운트하는 방법은 무엇입니까? (RW / RO)


55

/systemAndroid 휴대 전화에서 재기록 가능 또는 읽기 전용 디렉토리를 마운트하려면 어떻게 해야합니까?

답변:


63

/system디렉토리 RW 또는 RO를 마운트하는 방법에는 몇 가지가 있습니다 . 그러나 루트가 필요합니다.

방법 1 :

  1. 휴대폰을 컴퓨터에 연결하십시오. (휴대 전화에서 USB 디버깅이 활성화되어 있는지 확인하십시오)

  2. PC에서 CMD/ Terminal를 엽니 다 .

    • Windows : CTRL+ R을 입력 한 다음을 입력하십시오 cmd.

    • 우분투 : CTRL+ ALT+ T.

    • Mac : 터미널로 이동하여 /Applications/Utilities/두 번 클릭하십시오 .

  3. 이것을 입력하십시오 :

    1. adb shell
    2. su

    3. 다음 중 하나를 선택하십시오 ( /system완료되면 RO 에 보안 마운트 를 위해)

      • 마운트 시스템 RW : mount -o rw,remount /system
      • 마운트 시스템 RO : mount -o ro,remount /system

방법 2 :

  1. terminal안드로이드 폰에서 열기 ( 여기에서 다운로드 ) :
  2. 이것을 다음에 입력하십시오 terminal:

    1. su

    2. 다음 중 하나를 선택하십시오 ( /system완료되면 RO 에 보안 마운트 를 위해)

      • 마운트 시스템 RW : mount -o rw,remount /system
      • 마운트 시스템 RO : mount -o ro,remount /system

방법 3 :

터미널에서 매번 명령을 입력하지 않으려면이 작업을 수행하도록 설계된 앱을 작성했습니다.


안드로이드 2.3

Android 2.3을 실행하고 명령이 실패한 사용자는 https://android.stackexchange.com/a/125437/95577을 참조하십시오.


4
이 방법 (방법 1)은 더 이상 최신 Android에서 작동하지 않는 것 같습니다. Android 6을 실행하는 Android 에뮬레이터에서 수행하려고하지만 항상 "mount : 읽기 전용 파일 시스템"오류가 발생합니다. adb root를 실행했지만 아무런 차이가 없습니다. 무엇을 할 수 있는지에 대한 아이디어가 있습니까?
diidu

1
알았어요 에뮬레이터를 시작할 때 -writable-system 명령 행 옵션을 사용해야합니다. 그런 다음 첫 번째 adb 다시 마운트가 성공한 것 같습니다. ... 나는 아직 rw로 바뀌는 것을 보지 못했습니다.
diidu

에뮬레이터-쓰기 가능은 여전히 ​​정답입니다.
Edgar Aroutiounian

"Android 2.3을 실행하는 사람들을 위해"-문구가 잘 전달되지 않습니다. 나는 당신이> = 2.3 또는 <= 2.3 (또는 2.3에 특정 버그가있는 경우 정확히 2.3 일 가능성이 적음)을 의미한다고 생각 하지만 우리는 어느 이유를 알지 못합니다.
Don Hatch

2

-writable-system 에뮬레이터

빌드 후 에뮬레이터를 시작할 때 다음을 사용해야합니다.

. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system

그런 다음 나중에 실행하려면 -writable-system옵션을 유지해야합니다. 그렇지 않으면 이미지 변경 사항이 표시되지 않습니다.

emulator -show-kernel -verbose -writable-system

-verbose에뮬레이터가 기본값에서 전환되었음을 보여줍니다 -drive.

if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img,read-only

에:

if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576

그러므로 그것은 :

  • 제거 ,read-only

  • system-qemu.img.qcow2대신에 사용 합니다 system-qemu.img.

    이는 변경 -writable-sytem후 이후의 부츠 를 통과 한 후에 만 ​​변경 사항이 표시됨을 의미합니다 !

    qcow2 이미지는 다음 과 같이 기본 이미지 위에 작은 오버레이 라는 것을 알 수 있습니다 .

    qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
    

    포함한다 :

    backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
    

에뮬레이터 -help에서도이를 확인합니다.

emulator -help

포함한다 :

-writable-system     make system & vendor image writable after 'adb remount'

adb remount + adb root

https://android.stackexchange.com/a/110928/126934에mount 언급 된 바로 가기라고 생각 하지만 매우 편리합니다.

adb root
adb remount
adb shell

adb help 포함한다 :

 root                     restart adbd with root permissions
 remount
     remount /system, /vendor, and /oem partitions read-write

원래 시스템 이미지를 복원

사용자 데이터와 동일 : .qcow2오버레이를 제거하고 수동으로 다시 생성하십시오. https : //.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- 실행 중

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