我正在使用 Python 3 编写一些代码来备份我的硬盘。
我的问题是,某些 RAID 和其他内容会隐藏某些驱动器的第一个和/或最后一个兆字节中的内容。我想确保复制并恢复任何此类内容。第一个兆字节很容易,但我不确定如何最好地完成最后一个兆字节。
我看到有关清除最后 1MB 的旧线程,但答案大多是在 shell 中。例如,请参阅擦除硬盘驱动器的最后 1MB
但我想阅读并恢复它,并且我想使用Python,所以我需要一些帮助。
我正在使用 Python 3 编写一些代码来备份我的硬盘。
我的问题是,某些 RAID 和其他内容会隐藏某些驱动器的第一个和/或最后一个兆字节中的内容。我想确保复制并恢复任何此类内容。第一个兆字节很容易,但我不确定如何最好地完成最后一个兆字节。
我看到有关清除最后 1MB 的旧线程,但答案大多是在 shell 中。例如,请参阅擦除硬盘驱动器的最后 1MB
但我想阅读并恢复它,并且我想使用Python,所以我需要一些帮助。
块设备就像普通文件一样,也有大小。您可以查询它,计算最后一个兆字节的开始位置
seek
:或类似的。
然而,当然,这就像块设备的启动一样,当然只是Linux看到的东西;如果硬件对操作系统隐藏了第一个或最后一个 MB,则无法规避这一点。什么都不能。
单独备份第一个和最后一个兆字节是很不寻常的——如果没有中间的东西,它们就毫无用处,而没有它们,中间的东西也毫无用处。因此,无论如何,您基本上总是会在获得这些区域的地方进行全磁盘备份;或者您只备份与数据相关的部分(即,只是相关分区,或者实际上只是文件系统提供的文件),然后这些部分是不相关的。