Windows/Linux 共享系统驱动器存储格式化

Windows/Linux 共享系统驱动器存储格式化

我计划设置 Windows10 和 ArchLinux 的双启动。它们将共享 1TB SSD 和 3TB HDD。我应该如何格式化不同驱动器上的分区?

ext4 与 NTFS 相比有哪些优势?我是否应该在 ext4 以外的其他文件系统上运行 Linux?

编辑:

明确地说,我问的是主系统 SSD 和以后添加以扩展存储的任何 HDD 的格式选择。我对 Windows10 的主要用例是游戏,对 Linux 的主要用例是编程和数据处理。

这是我目前的想法:

系统 SSD:

+-------------------------------------------------------------------------------+
|500MB EFI     | 250GB NTFS Windows10  | 250GB ext4(?) Arch  | 500GB ?? Shared  |
+-------------------------------------------------------------------------------+

未来扩展3TB +硬盘:

+-----------------+
| 3TB+ exFat(?)   | 
+-----------------+

对于 SSD 上的共享空间,我应该选择什么?对于 SSD,这是好的布局吗?对于将来要添加的内部扩展驱动器,我应该选择什么?

答案1

根据个人经验,使用双启动设置用于完全相同的目的(只是使用 Gentoo 而不是 Arch),您需要 5 个主分区:

  • EFI 系统分区(假设您使用 UEFI 进行启动,您确实应该这样做,因为它比传统的多启动配置更容易管理)。需要格式化为 FAT32,Windows 将在安装过程中自动创建。除非您将其兼作 Linux 启动分区(MS 引导加载程序加上基本的 GRUB 安装目前约为 64MB,并且不太可能增长那么多),否则您可能只需要 128MB 的空间。
  • Microsoft 保留分区。这是 Windows 安装程序出于通常不明原因创建的奇怪的约 100MB 空分区。现在它基本上没用了,但如果没有它,Windows 上的某些东西仍然会卡住。
  • Widows C: 驱动器。需要 NTFS 格式(Windows 早已不再支持在 C 驱动器上使用除 NTFS 以外的任何格式,而 ReFS 尚未完全为消费者使用做好准备)。默认情况下,请勿从 LINUX 安装此卷,它将要最终会给你带来麻烦(不过,如果你需要的话,可以设置一下,这样你就可以将其从 Linux 以读写方式挂载)。假设你配置了 Windows 和你用来将东西放在共享分区上的任何游戏启动器,那么这只需要大约 32GB 加上你需要的用于存储此处数据的空间。
  • Linux 根分区。需要是标准 Linux 文件系统(例如 ext4、XFS 或 BTRFS)。选择哪个其实并不重要,因为您无法从 Windows 可靠地访问它们。就我个人而言,我实际上会在 LVM 上使用 BTRFS,但您需要一个专用的 Linux 启动分区来实现这一点(这应该再次是标准 Linux 文件系统,因为几乎所有标准启动加载程序都对它们有更好的支持),并且需要更多努力才能合理地维护。如果您选择将共享数据分区用于您的主目录,您可以轻松(安全地)将其缩小到 16GB 而不会出现问题。
  • 共享数据分区。应为 NTFS 或 exFAT。如果使用 NTFS,请使用 NTFS-3G 而不是内核驱动程序,并设置正确的用户映射(查看 NTFS-3G 文档了解如何执行此操作)。如果使用 exFAT,可能使用 FUSE 驱动程序而不是三星驱动程序(并希望 MS 能够清醒过来并提出 LKML 补丁,这些补丁将在不久的将来真正合并)。理想情况下,这应该是您的大部分磁盘空间,特别是如果您同时配置 Windows 和 Linux 以充分利用它。

已更新以解决评论:

与 NTFS 相比,在 Windows 中将游戏安装在 exFAT 上可能会或可能不会影响性能。大多数性能差异仅在写入文件时才真正重要,而不是读取文件(因此您会在更新或安装期间看到一些差异,但在玩游戏时通常不会看到),即使如此,软件也必须非常糟糕才会出现重大问题。

至于在共享数据分区上安装 Linux 软件,如果您使用的是 exFAT 或 NTFS,则可能无法做到这一点,除非您在其上添加另一层以提供 POSIX 语义(即使这样,您可能也无法做到这一点,至少不能通过包管理器做到这一点)。但是,您不需要这样做。与 Windows 不同,Linux 不会浪费大量磁盘空间来存放数十个基本相同的库副本,因此,只要您将文档和开发工作区存储在单独的分区中,就完全有可能在不到 8GB 的​​空间内安装一个包含完整桌面环境(包括完整的办公套件和适用于多种语言/框架的完整开发环境)的 Linux。

答案2

我建议你使用 exFAT。原因如下:

  • 据我所知,没有文件系统允许以 Windows 和 Linux 都可以使用的方式设置权限。这意味着,我们不需要考虑文件系统安全性。
  • Windows 完美支持 exFAT,Linux 支持通过 FUSE 实现,但根据我的经验,三星内核模块的效果更好github除此之外,微软还承诺将 exFAT 打造为 Linux 上的一级文件系统。
  • Linux 下的实际性能(使用内核驱动程序)几乎是 NTFS 的两倍,特别是当您具有并发访问模式时。

答案3

考虑多分区方法。我会考虑 EFI(用于 UEFI/引导加载程序支持的小型 FAT 分区),然后考虑专用 Linux - 可能是 EXT4 和专用 Windows NTFS 分区。

我会为数据创建第三个(或者两个,如果你想要 HDD 和 SSD)分区,我会用 VFAT 格式化(但你可以使用 NTFS)。如果你想要这些数据在两个操作系统下加密和可读,你可能要考虑使用 truecrypt

相关内容