通过外部 SD 卡扩展 Linux 分区

通过外部 SD 卡扩展 Linux 分区

我在一台只有 32 GB SSD 的笔记本电脑上安装了 Linux,我希望能够添加 SD 卡并扩展系统,以便内部 SSD 和外部 SD 卡是连续的。

我希望系统仍然从内部 SSD 启动,但根文件系统位于 SD 卡上,因此当我使用包管理器安装新软件等时,它都会安装在(更大的)SD 卡上。

我希望有人能为我指明正确的方向,告诉我如何以最好的方式做到这一点。

答案1

在 Unix 中,您可以在目录树层次结构中的任何点创建到其他文件系统的链接。

例如,如果您的 SD 卡安装为/mnt,您可以简单地进入另一个有顶级目录的目录,然后简单地执行以下操作:

$ ln -s existing_dir /mnt

这将位于如下目录中:

$ pwd
/usr

$ ls -l
total 120
dr-xr-xr-x.  2 root root 24576 Jul  5 05:11 bin
drwxr-xr-x.  2 root root  4096 Nov  5  2016 etc
drwxr-xr-x.  2 root root  4096 Nov  5  2016 games
drwxr-xr-x. 34 root root  4096 Jul  5 03:00 include
dr-xr-xr-x. 30 root root  4096 Jul  5 03:00 lib
dr-xr-xr-x. 45 root root 36864 Jul  5 03:13 lib64
drwxr-xr-x. 26 root root  4096 Jul  5 03:13 libexec
drwxr-xr-x. 12 root root  4096 May  2 10:39 local
dr-xr-xr-x.  2 root root 20480 Jul  5 03:13 sbin
drwxr-xr-x. 96 root root  4096 Jul  5 03:13 share
drwxr-xr-x.  5 root root  4096 Jul  5 03:00 src
lrwxrwxrwx.  1 root root    10 May  2 10:39 tmp -> ../var/tmp

并且existing_dir将是上述目录之一。顺便说一句,请注意 /usr/tmp 目录也采用了类似的方法,其中它是到另一个位置的链接。

这是一个好主意吗?

可能不会,除非你真的知道自己在做什么。通过这样做,您可能会发现部分数据位于 1 个 HDD 分区上,而其余数据则位于 SD 存储上。如果其中任何一个失败,都将导致系统发生灾难性故障。

如果在安装/设置之前将 SD 存储放入系统中,情况会好一些,因为理论上,所有操作系统的文件系统都将包含在单个 SD 卡上。

我可能仍然不会以这种方式处理事情,但这只是我的 0.02 美元。

相关内容