dd
是一个很棒的复制和转换工具。
有什么方法dd
(或任何其他方法)将文件的前几个字节转储到未安装的分区?
像这样的东西:
dd if=hda2.pbr of=/dev/hda2 bs=512 count=1
我试图实现的目标是将分区的 PBR 复制到文件中,并在需要时恢复它。当不需要该分区时,我将转储带有一些垃圾值的 PBR,以便底层分区将无法安装
答案1
根据您的编辑,我认为您可能会发现以下内容非常有用:
man wipefs
描述
wipefs
可以擦除文件系统、raid 或分区表签名(魔法弦)从指定的设备使签名不可见libblkid
......
选项
-a
,--all
删除所有可用的签名。可以使用列表选项来限制已删除的签名集-t
。
-b
,--backup
创建文件的签名备份$HOME/wipefs-<devname>-<offset>.bak
。欲了解更多详情,请参阅例子部分...
例子
wipefs --all --backup /dev/sdb
擦除设备中的所有签名并为每个签名
/dev/sdb
创建签名备份文件。~/wipefs-sdb-<offset>.bak
dd if=~/wipefs-sdb-0x00000438.bak of=/dev/sdb \
seek=$((0x00000438)) bs=1 conv=notrunc
ext2
从备份文件恢复签名~/wipefs-sdb-0x00000438.bak
。
答案2
你当然可以这样做。将 UNIX/Linux 中的所有内容视为文件。所以基本上它是从一个文件复制到另一个文件。
例如,您甚至可以将文本复制到分区并毫无问题地将其读回。所以你的例子是完美的。