我的情况很简单:我的安卓手机有 2Gb 大小的内置 microSD 卡,空间不够了。现在我买了一张新的 16Gb microSD 卡,想把它迁移到那里。
步骤:1.插入旧 SD 卡,使用 dd 进行备份
# dd if=/dev/mmcblk0 of=backup.img bs=1M
- 插入新 SD 卡,添加旧图片
# dd if=backup.img of/dev/mmcblk0 bs=1M
- 调整分区大小...等等,我在那里看不到分区
# fdisk /dev/mmcblk0 欢迎使用 fdisk (util-linux 2.21.2)。 更改将仅保留在内存中,直到您决定写入它们。 使用写入命令前请务必小心。 命令(m 获取帮助):p 磁盘 /dev/mmcblk0:16.0 GB,16001269760 字节 4 个磁头,16 个扇区/磁道,488320 个磁柱,总共 31252480 个扇区 单位 = 1 * 512 = 512 字节的扇区 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标识符:0x00000000 设备启动开始结束块ID系统 命令(m 获取帮助):
好的,我们尝试调整大小?
#resize2fs /dev/mmcblk0 复制代码 resize2fs 1.42.3(2012 年 5 月 14 日) resize2fs:尝试打开 /dev/mmcblk0 时超级块中的魔数错误 找不到有效的文件系统超级块。
GParted 显示 16Gb fat16 分区,但可用大小仍然是旧 microSD 的 2Gb 大小。
我做错了什么?
答案1
创建新的文件系统,rsync 文件。您不需要 dd,如果您使用“-a”选项,rsync 会更快,并且会复制所有内容。
奇怪的是,您既无法使用 resize2fs,也无法看到分区。唯一的问题是,这是 FAT32 SD 卡吗?不太可能是 ext2/3/4,这是 resize2fs 唯一支持的文件系统。您是否尝试过 fatresize?