Bagaimana cara me-mount / sistem ditulis ulang atau hanya-baca? (RW / RO)


Jawaban:


63

Ada beberapa metode bagaimana Anda bisa memasang /systemRW atau RO direktori Anda . Namun, itu akan membutuhkan root.

Metode 1:

  1. Hubungkan ponsel Anda ke komputer. (Pastikan USB debugging diaktifkan di ponsel Anda)

  2. Buka CMD/ Terminaldi PC Anda.

    • Windows: CTRL+ R, lalu ketik cmd.

    • Ubuntu: CTRL+ ALT+ T.

    • Mac: Navigasikan ke /Applications/Utilities/dan klik dua kali pada Terminal .

  3. Ketikkan ini:

    1. adb shell
    2. su

    3. Pilih satu: (untuk keamanan mount /systemkembali ke RO saat selesai)

      • Pasang sistem RW: mount -o rw,remount /system
      • Pasang sistem RO: mount -o ro,remount /system

Metode 2:

  1. Buka terminaldi ponsel android Anda (unduh di sini ):
  2. Ketikkan ini di terminal:

    1. su

    2. Pilih satu: (untuk keamanan mount /systemkembali ke RO saat selesai)

      • Pasang sistem RW: mount -o rw,remount /system
      • Pasang sistem RO: mount -o ro,remount /system

Metode 3:

Jika Anda tidak ingin mengetik perintah setiap kali di terminal, saya telah menulis aplikasi yang dirancang untuk melakukan ini untuk Anda:


Android 2.3

Untuk orang yang menjalankan Android 2.3 dan perintah gagal, lihat jawaban ini: https://android.stackexchange.com/a/125437/95577


4
Tampaknya ini (metode 1) tidak lagi berfungsi pada Android yang lebih baru. Saya mencoba melakukannya di Android emulator yang menjalankan Android 6, tetapi selalu mendapatkan kesalahan "mount: Read-only file system". Saya sudah menjalankan root adb, tetapi tidak ada bedanya. Adakah yang tahu apa yang bisa dilakukan?
diidu

1
Saya mengerti, agak. Saya harus menggunakan opsi -writable-system command line ketika memulai emulator. Kemudian remount adb pertama tampaknya berhasil. Sepertinya ... Saya belum melihatnya berubah ke rw.
diidu

emulator -writable masih merupakan jawaban yang benar.
Edgar Aroutiounian

"Untuk orang yang menjalankan Android 2.3" - frasa itu tidak berkomunikasi dengan baik. Saya menduga maksud Anda> = 2.3 atau <= 2.3 (atau, lebih kecil kemungkinannya, tepatnya 2.3 jika ada bug tertentu hanya dalam 2.3) tetapi kami tidak tahu yang mana dan mengapa.
Don Hatch

2

-writable-system untuk emulator

Saat meluncurkan emulator setelah build with, Anda harus menggunakan:

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

Kemudian, untuk proses selanjutnya, Anda harus menyimpan -writable-systemopsi, atau perubahan gambar tidak akan terlihat:

emulator -show-kernel -verbose -writable-system

-verbosemenunjukkan kepada kita bahwa emulator beralih dari default -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

untuk:

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

Oleh karena itu:

  • menghapus ,read-only

  • menggunakan system-qemu.img.qcow2bukan system-qemu.img.

    Ini menyiratkan bahwa perubahan hanya akan terlihat setelah itu jika Anda meneruskan -writable-sytemboot berikutnya setelah perubahan dilakukan!

    Kita dapat melihat bahwa gambar qcow2 hanyalah overlay kecil di atas gambar dasar karena:

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

    mengandung:

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

Emulator -helpjuga mengkonfirmasi ini:

emulator -help

mengandung:

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

adb remount + adb root

Saya pikir ini hanyalah jalan pintas untuk mountseperti yang disebutkan di https://android.stackexchange.com/a/110928/126934 , tetapi sangat mudah:

adb root
adb remount
adb shell

adb help mengandung:

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

Kembalikan gambar sistem asli

Sama seperti untuk userdata: hapus .qcow2overlay, dan hasilkan ulang secara manual: https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and- running-it-on-the

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.