如何在adb shell下mount Android下的分区
1个回答
展开全部
通过adbshell访问Android。有时候会在已经root的系统文件下面进行读写,例如/system,但是会提示类似readonlyfilesystem的信息。目前发现两种方法,该方法只在自己的测试机上成功,不保证其他机子一样。我的是HuaweiU8818下面的例子都是围绕/system目录。方法一:使用df命令查看#dfdfFilesystemSizeUsedFreeBlksize/dev197M64K197M4096/mnt/asec197M0K197M4096/mnt/obb197M0K197M4096/system295M245M50M4096/data755M26M728M4096/cache188M4M184M4096/HWUserData2G1024K2G32768/cust59M14M44M4096/mnt/sdcard7G753M6G32768/mnt/secure/asec7G753M6G32768看到/system分区有295MB的大小。接着查看/proc下的partitions#cat/proc/partitionscat/proc/partitionsmajorminor#blocksname17903817472mmcblk0179120mmcblk0p11792300mmcblk0p21793133120mmcblk0p317941mmcblk0p4179512288mmcblk0p51796196608mmcblk0p617974096mmcblk0p717983072mmcblk0p817994096mmcblk0p9179103072mmcblk0p10179113072mmcblk0p1117912393216mmcblk0p1217913786432mmcblk0p13179144096mmcblk0p14179158192mmcblk0p151791620480mmcblk0p16179174096mmcblk0p171791881920mmcblk0p18179192154496mmcblk0p19179327761920mmcblk1179337757824mmcblk1p13104096mtdblock0看出,分区mmcblk012的大小最接近295MB,判断挂载点/system就对应该它了。(其实,可以在/proc/mounts下面看的更直接。。。)于是,输入以下mount命令#mount-oremount,rw/dev/block/mmcblk0p12/system就可以在/system下面进行写操作。当然,如果不打算重启机子的话,最好还是将它恢复到readonly状态。输入:#mount-oremount,ro/dev/block/mmcblk0p12/system该方法比较麻烦的是还要判断某挂载点跟分区,理论上说必须要将它们对应上来,否则会出错。而实际上试过将不同的分区跟挂载点remount一下,居然还是可以的。原因暂时不明。方法二:考虑到上面用斜黑体字写的现象,尝试用其他信息代替”/dev/block/mmcblk0p12“,试了一下居然也是可行的!直接输入下列命令即可:#mount-oremount,rwmtd@system/system第二种方法虽然也是可以的。之所以这么写是参考init.rc里面的mount写法。不清楚这个是怎么回事,要是原生的linuxmount命令应该不会这样的。update:2013.11其实,没必要像上面方法一和方法二那么复杂.还可以更简单.只需要输入:#mount-oremount,rw/system即可.linux系统自己会去维护一个已经mount的表.所以只需要输入现有的挂载点就行啦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询