客观的
我有一个闪存驱动器,我想使用自定义内存管理来处理“秘密文件”。我需要一些帮助,了解如何使用设备上的两个分区实现以下功能:
- 只读或 CDFS 分区
- 隐藏/未挂载分区
分区 2 将包含原始/加密数据。其用途是使用分区 1 上的实用程序进行评估,该实用程序将解密/读取分区 2 上的数据。2.
- 1 上的实用程序还允许添加部分数据。2.
- 我不希望在设备插入时将第 2 部分安装在 Windows / Linux / OSX 上。
- 如果可能,将从其 UID 路径访问第 2 部分。这可能会根据所采用的解决方案而改变。
我怎样才能得到这样的行为?
我迄今为止尝试过的方法
- 我使用了一个名为 BOOTICE 的实用程序来编辑分区 ID,但隐藏 ID 仅在 Linux/OSX 上可用,而在 Windows 上不可用。
- 我读到过,隐藏 ID 仅在 Windows 的固定驱动器上有效,但在可移动设备上无效。因此,我尝试翻转闪存上的可移动位,但没有成功。
- 第 2 部分目前是 FAT32 格式。
答案1
据我所知,“隐藏”分区是为了解决 MBR 和早期 Windows 版本的局限性而遗留下来的。它们对于在驱动器上拥有多个逻辑卷以及告诉操作系统在启动时不要查看某些分区很有用。
我不知道你说的“隐藏”分区在 Linux 上受到尊重是什么意思,因为你肯定可以挂载它们。如果你想要“隐藏”分区的内容保密,你应该考虑加密它。
如果您确实只是想在磁盘上保留未加密的内容但对操作系统隐藏,那么跨平台的方法是在其上创建一个分区和一个文件系统,然后从分区表中删除该分区。
然后,您需要提供一个“解锁”脚本来恢复分区表(简单)或一个使用 FUSE/winFsp 挂载分区的程序(有点难)。
跨平台加密文件系统比其中任何一个都更简单。