不久前,当我使用 MS-DOS 时,我遇到了一个问题,MS-DOS 只能使用 FAT16 驱动器,该驱动器仅允许 2GB 分区。不幸的是,我必须复制 2.6 GB 大小的文件,而分区根本放不下,不幸的是,所有这些文件都必须放在同一个目录/分区中。
今天,当我创建我的操作系统时,我想将来有人可能会遇到类似的问题。
在 unix 中,联合文件系统可以通过将两个分区安装到同一路径来表示。运行ls
将显示分区 1 和分区 2 上的所有文件。在这种情况下,一个分区也不需要其他分区能够读取所有文件。
这将解决我在 MS-DOS 与 FAT16 中遇到的“分区最大大小太小”的问题。
我的问题是联合文件系统的优缺点是什么?
感谢@Hennes 在评论中给了我名字union filesystem
,这让我能够更好地表述这个问题。
我不知道如何更容易地解释它...请随意编辑。
答案1
我在家里就用这种技术。我有一个 3TB 的硬盘,上面运行着几个虚拟机。大多数虚拟机的分区都很小,因为它们只需要操作系统和一些程序,但其中一个是我的文件存储。
由于 PC 性能不是那么强大,我需要在一个共享上拥有大量存储空间,而又不需要运行繁重的操作系统。我选择了 Windows 2000 作为操作系统,但 Windows 2000 的限制是只能找到 2TB 的硬盘。由于我使用的是 VM,因此我可以创建任意数量的虚拟硬盘,但这也适用于真实磁盘。
我创建了一个 2TB 的分区和一个约 1TB 的分区(我计算了空间以便它能容纳)
我启动了 Windows 2000,找到了 2 个磁盘。我将两个磁盘都转换为动态磁盘,并创建了一个跨两个磁盘的分区。
我现在有一个 3TB 的分区,它跨越 2 个虚拟磁盘。我甚至可以将一个虚拟磁盘移动到其他位置,一切都会继续正常工作。只要我使用 Windows,就可以访问这些数据。我已将磁盘连接到 Windows 10 VM,能够导入动态磁盘阵列并使用它,例如缩小和扩大分区,然后将其移回 Windows 2000,它仍然可以工作。
这样做的好处是,磁盘的连接顺序实际上并不重要,只要它们都存在即可。
使用多个磁盘执行此操作的缺点是,由于有多个磁盘可能发生故障,因此发生磁盘故障并因此整个分区无法访问的可能性更高。
另一个需要注意的是,这确实需要 Windows 2000 及更高版本,并且使用 NTFS。您的问题具体是关于 FAT16 和 msdos。我认为 MSDos 可以在 FAT32 上运行,但我不确定。