我正在备份2GB SD卡(及其分区表等),其中包含500 MB(未使用1.5 GB)
dd if=/dev/sdX | gzip > my_image.gz
它将备份500 MB有用数据,但也可能:
一些随机数据(无害),
零数据(无害),
dd if=/dev/zero ...
删除SD卡,则甚至以前在“未使用空间”字节中的SD卡上的个人数据。这不是潜在的数据泄漏吗?
1)以dd
那种方式备份SD卡是否安全? (考虑到一些先前删除的个人数据可能会保存在备份中!)
2)有没有办法在dd
之前将所有未使用的空间“归零”?
答案 0 :(得分:1)
是。使用dd
读取设备会创建一个图像文件,您可以再次dd
直接返回。它与您准备刻录到CD上的iso
非常相似。
这样做的唯一缺点是你有一个磁盘映像,而不是结构化文件系统。所以你会有一些浪费的空间(一个dd
图像包含空白空间 - 这应该被压缩掉,但它还包括随机丢弃的任何垃圾)你和你如果要从中提取单个文件,还需要手动安装它。根据您使用的操作系统,这可能更容易或更难。
您可能希望将ufsdump
或tar
视为替代方案。
答案 1 :(得分:1)
是的它会起作用,是的,正如你所说,如果你有任何隐藏的旧数据,它也会存储在你的图像中。因此,如果您担心不存储这些文件,请使用tar。
如果要将未使用的空间归零,可以使用zerofree,请检查以下线程: https://unix.stackexchange.com/questions/44234/clear-unused-space-with-zeros-ext3-ext4 (假设您使用的是ext3或ext4)。
老实说,不知道如何用脂肪做这件事(如果它是一个sd你可能会使用它),也许唯一的办法就是把所有东西都给掉,把它变成零,然后解压...
要恢复备份,你应该将它恢复到至少与那个一样大的SD(如果它更大,它会浪费一些空间,因为分区只有2Gb,但它仍然有用。)
正如我在评论中所说,当您需要保留所有时,使用dd是很好的,例如引导扇区和分区配置。如果您没有这些,并且想要将文件保存在那里,请使用好的'焦油。