我的电脑有两个磁盘:
- 256 GB 固态硬盘
- 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
。
与文件系统无关的解决方案
- 创建单个分区并使用单个文件系统对其进行格式化
- 将该文件系统挂载到临时目录,例如
/mnt/storage
- 创建两个子目录:
home
和data
- 将每个子目录绑定挂载到其各自的挂载点
绑定挂载使目录的内容出现在层次结构中的第二个位置。它与常规挂载类似,只是源不是文件系统,而是层次结构中的现有位置。它们可以使用mount --bind
或bind
中的选项创建fstab
。
下的原始子目录/mnt/storage
仍然可用。
文件系统
使用 btrfs 您可以避免挂载根文件系统:
- 创建单个分区
- 创建 btrfs 文件系统
- 创建两个子卷:
@home
和@data
subvol
使用选项mount
或将每个子卷挂载到各自的挂载点fstab
这样,根文件系统就不会被挂载在任何地方。
虚拟文件系统
而且不暴露根:
- 可选:创建单个分区
- 从驱动器(或分区)创建一个 zpool。这将创建一个同名的 ZFS 文件系统
- 创建两个文件系统
tank/home
(tank/data
假设 zpool 名为tank
- 为这两个文件系统设置挂载点
- 禁用
tank
文件系统的自动挂载