如何使用 Linux 迁移 SD 卡?

如何使用 Linux 迁移 SD 卡?

我的情况很简单:我的安卓手机有 2Gb 大小的内置 microSD 卡,空间不够了。现在我买了一张新的 16Gb microSD 卡,想把它迁移到那里。

步骤:1.插入旧 SD 卡,使用 dd 进行备份

# dd if=/dev/mmcblk0 of=backup.img bs=1M
  1. 插入新 SD 卡,添加旧图片
# dd if=backup.img of/dev/mmcblk0 bs=1M
  1. 调整分区大小...等等,我在那里看不到分区
# 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?

相关内容