与文件系统无关的解决方案

与文件系统无关的解决方案

我的电脑有两个磁盘:

  1. 256 GB 固态硬盘
  2. 4 TB 固态硬盘

我在 256 GB SSD 上安装了 Linux。因此/将其安装在上面。

我希望/home/data都位于 4 TB SSD 上。但我不想创建两个分区。我希望所有内容都位于一个分区中。

这可能吗?

编辑:

  • 我不想要两个分区,因为我不想弄乱或担心空间问题。我想要两个分区/home,并/data尽可能多地填充 4 TB 的空间。在 Windows 上,4 TB 显示为,D:我将我的主文件夹移动到,D:\home并且还有一个D:\data
  • 我不想/home显示/data相同的目录结构。它们是独特的文件夹,每个文件夹都有自己的内容。
  • 如果有必要,我愿意进行全新安装并格式化所有磁盘以根据需要进行配置。
  • 在我的电脑安装 Linux 之前,我运行的是 Windows 10。我已删除 Windows 10 并转而使用 Linux。此系统上不再有 Windows。
  • 我并不关心分区方案是什么,只要它有意义就行。
  • /data旨在供任何用户读取/写入 - 如果这很重要的话。

这是我/etc/fstab现在的情况:

UUID=... /               ext4    errors=remount-ro 0       1
UUID=...                            /boot/efi       vfat    umask=0077      0       1
UUID=... /home           ext4    defaults        0       2
UUID=... none            swap    sw              0       0

以下是输出lsblkl

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   3.6T  0 disk 
└─sda1        8:1    0   3.6T  0 part /home
nvme0n1     259:0    0 238.5G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0   237G  0 part /
└─nvme0n1p3 259:3    0   977M  0 part [SWAP]

答案1

对于这三种解决方案来说,可用磁盘空间由/home和共享/data

与文件系统无关的解决方案

  1. 创建单个分区并使用单个文件系统对其进行格式化
  2. 将该文件系统挂载到临时目录,例如/mnt/storage
  3. 创建两个子目录:homedata
  4. 将每个子目录绑定挂载到其各自的挂载点

绑定挂载使目录的内容出现在层次结构中的第二个位置。它与常规挂载类似,只是源不是文件系统,而是层次结构中的现有位置。它们可以使用mount --bindbind中的选项创建fstab

下的原始子目录/mnt/storage仍然可用。

文件系统

使用 btrfs 您可以避免挂载根文件系统:

  1. 创建单个分区
  2. 创建 btrfs 文件系统
  3. 创建两个子卷:@home@data
  4. subvol使用选项mount或将每个子卷挂载到各自的挂载点fstab

这样,根文件系统就不会被挂载在任何地方。

虚拟文件系统

而且不暴露根:

  1. 可选:创建单个分区
  2. 从驱动器(或分区)创建一个 zpool。这将创建一个同名的 ZFS 文件系统
  3. 创建两个文件系统tank/hometank/data假设 zpool 名为tank
  4. 为这两个文件系统设置挂载点
  5. 禁用tank文件系统的自动挂载

相关内容