【问题标题】:Android: mount different userdata partition at bootAndroid:在启动时挂载不同的用户数据分区
【发布时间】:2016-06-15 02:58:11
【问题描述】:

在我的三星 Note 10.1 上,我希望能够挂载不同的用户数据分区。我的目标是通过修改init.rc 脚本在启动时实现这一点,因为这似乎是设置所有文件系统并安装分区用户数据、系统等。例如,有一行mkdir /data 0771 system system,在我听来好像它为 userdata 分区设置了挂载点。 userdata分区对应块设备/dev/block/mmcblk0p12

现在,我想要的不是挂载mmcblk0p12,而是挂载mmcblk0p12 的映像,我已将其放置在插入设备的µSD 卡上。 µSD 卡可通过块设备/dev/block/vold/179:17 访问。这意味着我需要先安装 µSD 卡,然后再安装 µSD 卡上的映像。

但这就是我失败的地方。我不知道如何在init.rc 中安装 µSD 卡,更不用说之后如何安装映像了。我已经多次添加mount -t ext4 /dev/block/vold/179\:17 /mnt/extSdCard 行,但它给我的只是一个引导循环。

那么,有人知道怎么做吗?

EDIT1:显然分区安装在fstab.sdmk4x12 中,所以我添加了/dev/block/vold/179\:17 /mnt/extSdCard ext 4 noatime,nosuid,nodev,discard,noauto_da_alloc,journal_async_commit,erros=panic wait,check 行。不幸的是,这不起作用,但内核日志给了我Cannot mount filesystem on /dev/block/vold/179\:17 at /mnt/extSdCard

EDIT2:我愚蠢的不要使用/dev/block/mmcblk1p1,它是µSD 卡的分区。这样,我现在可以通过修改 fstab.sdmk4x12 文件来安装 µSD 卡。

EDIT3:在我能够挂载 µSD 卡之后,如何挂载映像的问题仍然存在。我已经修改了挂载 userdata 分区的行。该行与 EDIT1+2 中的行相同,但使用图像/storage/extSdCard/userdata.img 将其安装到/data。但我想它显然无法安装图像。设备启动,但显示一些错误,说明用户数据分区已损坏。它还为我提供了重置它的选项,但当然这只影响 userdata 分区,并且一旦我重新启动,它就会尝试再次挂载我的映像,失败并再次向我显示此错误。

【问题讨论】:

标签: android linux mount block-device


【解决方案1】:

我找到了解决方法。我没有尝试挂载映像,而是将所有文件从/data 复制到µSD 卡上的分区上,并将分区挂载为fstab.sdmk4x12 中的/data(即,将/dev/block/mmcblk1p1 挂载为/data )。所有应用程序等现在都将存储在 µSD 卡上的分区中。

【讨论】:

    猜你喜欢
    • 2014-06-26
    • 2021-06-20
    • 2017-12-24
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    相关资源
    最近更新 更多