Android 安卓8.1可以';t重新安装/system,/dev/block/pci/pci0000:00/0000:00:03.0/按名称/system';是只读的

Android 安卓8.1可以';t重新安装/system,/dev/block/pci/pci0000:00/0000:00:03.0/按名称/system';是只读的,android,adb,mount,Android,Adb,Mount,我在StackOverflow上发现了一些类似的问题,比如,我尝试了这些Anwser,但都不适合我,所以请不要为这个问题添加重复的标记。 我在AVD(Android 8.1 x86)上重新安装/system,我的尝试如下: 1|generic_x86:/ # cat /proc/mounts rootfs / rootfs rw,seclabel,size=859768k,nr_inodes=214942 0 0 tmpfs /dev tmpfs rw,seclabel,nosuid,relat

我在StackOverflow上发现了一些类似的问题,比如,我尝试了这些Anwser,但都不适合我,所以请不要为这个问题添加重复的标记。 我在AVD(Android 8.1 x86)上重新安装/system,我的尝试如下:

1|generic_x86:/ # cat /proc/mounts
rootfs / rootfs rw,seclabel,size=859768k,nr_inodes=214942 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime,gid=3009,hidepid=2 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0 
/dev/block/pci/pci0000:00/0000:00:07.0/by-name/vendor /vendor ext4 ro,seclabel,relatime,data=ordered 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
debugfs /sys/kernel/debug debugfs rw,seclabel,relatime,mode=755 0 0
tmpfs /mnt tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /config configfs rw,relatime 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
pstore /sys/fs/pstore pstore rw,seclabel,relatime 0 0
/dev/block/vdb /cache ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
tmpfs /storage tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,seclabel,relatime 0 0
/dev/block/dm-0 /data ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
/dev/block/dm-0 /data/var/run/netns ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
proc /data/var/run/netns/router proc rw,relatime,gid=3009,hidepid=2 0 0
proc /data/var/run/netns/router proc rw,relatime,gid=3009,hidepid=2 0 0
/data/media /mnt/runtime/default/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid 0 0
/data/media /storage/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid 0 0
/data/media /mnt/runtime/read/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=23,derive_gid 0 0
/data/media /mnt/runtime/write/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=7,derive_gid,default_normal 0 0
generic_x86:/ # getenforce
Enforcing
generic_x86:/ # mount -o rw,remount /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # setenforce 0
generic_x86:/ # mount -o rw,remount /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # getenforce
Permissive
generic_x86:/ # setenforce 1
generic_x86:/ # getenforce
Enforcing
generic_x86:/ # setenforce 0
generic_x86:/ # mount -o rw,remount /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-n
by-name/  by-num/
generic_x86:/ # mount -o rw,remount /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # chmod 777 /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system
generic_x86:/ # mount -o rw,remount /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t rfs /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t rfs /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system  /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t ext4 /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t ext4 /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system  /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t ext4  /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # clear
[2J[Hgeneric_x86:/ # cd..
/system/bin/sh: cd..: not found
127|generic_x86:/ # su
generic_x86:/ # whoami
root
generic_x86:/ # cat /proc/mounts
rootfs / rootfs rw,seclabel,size=859768k,nr_inodes=214942 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime,gid=3009,hidepid=2 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/pci/pci0000:00/0000:00:07.0/by-name/vendor /vendor ext4 ro,seclabel,relatime,data=ordered 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
debugfs /sys/kernel/debug debugfs rw,seclabel,relatime,mode=755 0 0
tmpfs /mnt tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /config configfs rw,relatime 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
pstore /sys/fs/pstore pstore rw,seclabel,relatime 0 0
/dev/block/vdb /cache ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
tmpfs /storage tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,seclabel,relatime 0 0
/dev/block/dm-0 /data ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
/dev/block/dm-0 /data/var/run/netns ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
proc /data/var/run/netns/router proc rw,relatime,gid=3009,hidepid=2 0 0
proc /data/var/run/netns/router proc rw,relatime,gid=3009,hidepid=2 0 0
/data/media /mnt/runtime/default/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid 0 0
/data/media /storage/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid 0 0
/data/media /mnt/runtime/read/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=23,derive_gid 0 0
/data/media /mnt/runtime/write/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=7,derive_gid,default_normal 0 0
generic_x86:/ # mount -o rw,remount -t ext4 /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t ext4 /dev/b
binder  block/
generic_x86:/ # mount -o rw,remount -t ext4 /dev/block/pci/pci0000\:00/0000
0000:00:03.0/  0000:00:04.0/  0000:00:05.0/  0000:00:06.0/  0000:00:07.0/
generic_x86:/ # mount -o rw,remount -t ext4 /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system  /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ #
130|generic_x86:/ # exit
130|generic_x86:/ # exit

C:\Users\Administrator>adb -s emulator-5554 root

C:\Users\Administrator>adb -s emulator-5554 remount
remount of /system failed: Read-only file system
remount of /vendor failed: Read-only file system
remount failed

C:\Users\Administrator>adb -s emulator-5554 disable-verity

C:\Users\Administrator>adb -s emulator-5554 reboot

C:\Users\Administrator>adb -s emulator-5554 root

C:\Users\Administrator>adb -s emulator-5554 remount
error: closed

C:\Users\Administrator>adb -s emulator-5554 remount
Not running as root. Try "adb root" first.

C:\Users\Administrator>adb -s emulator-5554 root

C:\Users\Administrator>adb -s emulator-5554 remount
remount succeeded

C:\Users\Administrator>adb -s emulator-5554 shell
generic_x86:/ # mount -o rw,remount -t ext4 /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only
generic_x86:/ # mount -o rw,remount -t ext4 /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system /sys
sys/     system/
generic_x86:/ # mount -o rw,remount -t ext4 /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system /system/
mount: '/system/' not in /proc/mounts
1|generic_x86:/ # mount -o rw,remount -t ext4 /dev/block/pci/pci0000\:00/0000\:00\:03.0/by-name/system /system
'/dev/block/pci/pci0000:00/0000:00:03.0/by-name/system' is read-only

我通过以下步骤修复了与您完全相同的问题:

  • 使用
    \adb.exe shell打开shell
  • 使用shell中的命令
    cat/proc/mounts
    打开mounts文件
  • /system行中,查看装载类型(在我的例子中是ext4)和路径(/dev/block…)
  • 退出shell,然后运行
    \adb.exe root
    ,然后运行命令
    \adb.exe shell“mount-o rw,remount-t/system”
  • 如果问题仍然存在,请运行
    \adb.exe重新启动
    ,然后重试步骤4
  • 我希望这能解决你的问题

    编辑:您需要使用powershell上的可写系统映像启动emulator。转到android sdk目录中的emulator文件夹,然后运行

    .\emulator.exe -avd $deviceName -writable-system
    

    这有助于我在AVD上保持更改的持久性

    谢谢,它是werried,三周前,我按照你说的那样尝试了,但没有成功,但这次解决方案很好,顺便说一句,我今天重新创建了一个新的AVD(安卓8.1 X86模拟器)。谢谢<代码>重新启动有帮助(我还从AVD管理器在Android emulator上进行了冷启动)。我还得到了
    mount:'/dev/block/pci/pci0000:00/0000:00:03.0/by name/system'在fstab中不可由用户安装。在本例中,我编写了
    su
    以获取根权限,并再次尝试步骤4。