【发布时间】:2022-10-01 23:56:06
【问题描述】:
我正在测试一个在 Raspberry Pi OS 上使用的程序。它所做的大部分工作是读取系统驱动器上的分区信息,这将是(在这种情况下)/boot 和 / 并且没有额外的分区,只有两个。我正在使用调用sfdisk 的Python 脚本。我做了这么多示例显示的事情:我从系统驱动器获取信息,将其作为输出读取,然后将其用作输入以运行命令以格式化目标驱动器。
我正在使用 Python 并使用 subprocess.run() 执行此操作。我正在编写的脚本,当它在目标驱动器上写入第二个分区时,将其写入小尺寸,然后我使用 parted 将分区扩展到驱动器的末尾。在两次测试之间,为了擦除我的数据以便我可以重新开始,我一直在使用 sfdisk 为驱动器的完整大小创建一个分区。另外,此时我正在使用 USB 记忆棒进行测试。我通常会将其用于驱动器或使用 SD 卡。
我发现的问题是文件结构在目标驱动器的分区上是持久的。 (所有这一段都是关于目标驱动器的。)如果我把它分成 2 个分区(最终我需要使用),我发现 /boot,第一个小分区,仍然有以前使用的所有文件分区。如果我试图通过只在驱动器上创建一个大分区来擦除信息,我仍然只能在那个分区中看到 /boot 分区的原始文件。如果我将它分成 2 个分区,则位置将与我通常制作 Raspbian 映像时的位置相同,并且我发现 /boot 和系统驱动器中的文件仍然存在。
因此,重新分区,将分区放在同一位置,让我的文件仍然完好无损,因为以前的分区在同一扇区中的化身。
为了测试,我想清除所有信息,以便我从每个测试重新开始,但我不想只使用dd 并将千兆字节的 0 或 1 写入整个驱动器以清除数据.
我能做些什么来确保:
- 分区表在测试之间被清除
- 分区的任何目录结构或文件信息都被清除了,所以当我开始测试时,任何分区上都没有文件仍然存在?
【问题讨论】:
标签: linux partitioning