V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
VVD
V2EX  ›  Android

如何让安卓挂载 EXT4 格式的 SD 卡?

  •  
  •   VVD · 2016-04-22 14:14:54 +08:00 · 17653 次点击
    这是一个创建于 2927 天前的主题,其中的信息可能已经有所发展或是发生改变。
    突发奇想,既然内核支持 EXT4 ,为什么不把外置储存卡格式化成 EXT4 ?我把 SD 卡格式化成 EXT4 后插入手机,结果提示 SD 卡受损,必须重新格式化。

    shell@android:/ $ mount
    rootfs / rootfs ro,relatime 0 0
    tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
    devpts /dev/pts devpts rw,relatime,mode=600 0 0
    proc /proc proc rw,relatime 0 0
    sysfs /sys sysfs rw,relatime 0 0
    none /acct cgroup rw,relatime,cpuacct 0 0
    tmpfs /mnt/secure tmpfs rw,relatime,mode=700 0 0
    tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
    tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
    none /dev/cpuctl cgroup rw,relatime,cpu 0 0
    /emmc@android /system ext4 ro,noatime,noauto_da_alloc,commit=1,data=ordered 0 0
    /emmc@usrdata /data ext4 rw,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
    /emmc@cache /cache ext4 rw,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
    /dev/block/loop0 /mnt/cd-rom iso9660 ro,relatime 0 0
    /emmc@protect_f /protect_f ext4 rw,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
    /emmc@protect_s /protect_s ext4 rw,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
    /dev/block/vold/179:8 /storage/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

    外置的 SD 卡应给是 /dev/block/vold/179:7 ,看得出没有挂载。

    查看 vold.fstab

    shell@android:/ $ cat /system/etc/vold.fstab
    ## Vold 2.0 Generic fstab
    ## - San Mehat ([email protected])
    ##

    #######################
    ## Regular device mount
    ##
    ## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
    ## label - Label for the volume
    ## mount_point - Where the volume will be mounted
    ## part - Partition # (1 based), or 'auto' for first usable partition.
    ## <sysfs_path> - List of sysfs paths to source devices
    ######################

    ## Example of a standard sdcard mount for the emulator / Dream
    # Mounts the first usable partition of the specified device --phone: sdcard2(path: /storage/sdcard1); external sd card: sdcard(path: /storage/sdcard0)
    dev_mount sdcard2 /storage/sdcard1 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_host
    dev_mount sdcard /storage/sdcard0 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host
    ## Example of a dual card setup
    # dev_mount left_sdcard /mnt/sdcard1 auto /devices/platform/goldfish_mmc.0 /devices/platform/mtk-sd.0/mmc_host/mmc0
    # dev_mount right_sdcard /mnt/sdcard2 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-sd.2/mmc_host/mmc2

    ## Example of specifying a specific partition for mounts
    # dev_mount sdcard /mnt/sdcard 2 /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.2/mmc_host/mmc1


    这该怎么改呢,才能实现自动挂载 EXT4 ?
    11 条回复    2016-05-03 21:08:22 +08:00
    aa45942
        1
    aa45942  
       2016-04-22 14:45:54 +08:00
    貌似自动挂载的是 vfat 格式,不过要挂成 EXT4 也不是不行,但是这样一来你手机插电脑上电脑就读不出 TF 卡了
    JoeyChan
        2
    JoeyChan  
       2016-04-22 14:51:34 +08:00
    系统升级到 6.0 就可以格式化成 ext4 分区了,还能当内部存储使用。
    VVD
        3
    VVD  
    OP
       2016-04-22 15:17:23 +08:00 via Android
    @aa45942 我基本只用 FTP 和 MTP 传文件,对兼容要求并不高
    VVD
        4
    VVD  
    OP
       2016-04-22 15:18:01 +08:00 via Android
    @JoeyChan 我这手机不支持更新系统了,当下载机用的
    aa45942
        5
    aa45942  
       2016-04-22 15:26:40 +08:00
    大概是改 emmc@fat 那里吧,没太深入研究过安卓的文件系统
    Septembers
        6
    Septembers  
       2016-04-22 16:42:29 +08:00 via iPad
    可以用 exFAT
    VVD
        7
    VVD  
    OP
       2016-04-22 17:23:05 +08:00
    @Septembers HOW to DO ?
    Balthild
        8
    Balthild  
       2016-04-22 23:42:09 +08:00 via iPhone
    CM12 完美支持外置 sd EXT4
    CM13 不再支持外置 sd EXT4 ,但可以格式化成内置存储。
    arch1life
        9
    arch1life  
       2016-04-23 01:36:05 +08:00
    我在储存卡上分了一个 8gb 的 ext4 分区插上后机器就自动挂载了,位于 /data/sdext2/, android 4.2.2
    kmahyyg
        10
    kmahyyg  
       2016-04-23 09:49:35 +08:00 via Android
    mark
    貌似 cm13 会把外卡(内置存储模式)格成 3 个分区,两小一大,应该是有特殊分区标识吧,大的那个就是 ext4
    s3040608090
        11
    s3040608090  
       2016-05-03 21:08:22 +08:00
    我有过相关经验,而且成功了。
    先把自启动脚本放到 /etc/init.d/下面,如果你的手机支持的话。
    需要用到 sdcard 命令: http://tieba.baidu.com/p/3308424556?pid=68631640348&cid=#68631640348
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4827 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:59 · PVG 11:59 · LAX 20:59 · JFK 23:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.