将新硬盘安装在与旧硬盘相同的文件目录中

将新硬盘安装在与旧硬盘相同的文件目录中

我有一台 1TB 的 Unix 计算机,已完全安装在/。我安装了一个新的 10TB HDD 并将其安装在/hdd

我想知道我是否仍然可以写入/home/usr并使用新的存储空间,或者我应该:

  • 复制/home到我的新硬盘/其他地方,然后按原样使用它。

或者

  • 安装新的硬盘/并按原样使用。我发现将两个硬盘安装在同一个目录中应该没有问题来自这篇文章,是真的吗?

最佳做法是什么?这是我第一次将新硬盘安装到计算机上。

谢谢

答案1

我想知道我是否还能写入/home/usr并使用新设备的存储空间

不是,因为磁盘当前安装在 /hdd 上,而不是 /home/usr 上。

如果你想使用 HDD 作为 /home/usr,你应该首先移动将所有数据从现有的 /home/usr 复制到 HDD,然后在那里重新安装 HDD。

(也就是说,如果磁盘适合与 /home 一起使用 - 即速度足够快而不会令人烦恼。就我个人而言,我将继续为 /home 使用 SSD,并将 HDD 保持在 /hdd,并创建像“/home/user/Movies → /hdd/Movies”这样的符号链接以方便使用。)

将新的硬盘挂载到 / 并按原样使用。我发现从这篇文章中可以发现将两个硬盘挂载到同一个目录中应该没有问题,是真的吗?

是也不是。确实如此,因为损害什么都行……但这并不意味着它能做任何有用的事。所以大部分答案都是“不”。

在 Linux 中(与大多数其他系统一样),挂载不透明. 如果你将磁盘 2 安装在/,那么仅有的磁盘 2 的内容将可见/– 磁盘 1 的先前内容将被覆盖且无法访问。(事实上,命令/bin/umount也将变得无法访问,因此您唯一能做的就是重新启动。)

(因此建议移动数据而不是复制。)

但是,相反的做法可能很有用:您可以将同一硬盘挂载到两个目录上。(这通常是通过从现有挂载开始的“绑定挂载”间接完成的,但我很确定 Linux 也允许从 /dev/sdX 启动两个挂载。)例如,如果您想让新磁盘挂载在/home/usr 同时/hdd(例如出于组织目的),这是可能的。

最后,如果您想要一个“合并”挂载,允许在同一位置访问两个磁盘上的文件,这在技术上是可行的 - 但我不建议对 /home 这样做。但是,您可以使用 MergerFS 之类的东西来合并 /hdd1 和 /hdd2。

答案2

有很多方法可以解决这个问题 - 但似乎你缺少了一些重要的基础知识。你真的想知道硬盘是如何构造的 - 如果你有 LVM(抽象磁盘管理,很常见),那么最好的解决方案与没有 LVM 时不同。

你不能让 2 个硬盘从同一个目录访问和安装 - 您引用的帖子是正确的,但具有误导性。根据答案,您可以安装两个驱动器,但后面的命令将使前面的驱动器无法访问。

如果您想要存储在新驱动器上的所有数据都在 /home/usr 中,那么对于新手来说,一个好的、简单的、相当安全的解决方案是执行以下操作(有方法只需 2 个步骤即可完成此操作,但对您的技术水平而言风险更大)-

  1. mkdir -p /hdd/home/usr # 这将在第二个磁盘上创建一个新的子目录。
  2. cp -var /home/usr/* /hdd/home/usr # 复制您的数据。

如果上述命令 2 有效

  1. mv /home/usr /home/oldusr # 重命名旧的 homedir
  2. 更改 /etc/fstab 文件 - 将 /hdd 更改为 /home/usr
  3. 重启,登录,输入自由度 并检查 10TB 分区/驱动器是否已安装为 /home/usr
  4. rm -r /home/oldusr # 这是危险的一点,它会从您的旧驱动器中删除数据 - 只有当您确定现在正在从 10tb 分区访问数据时才执行此操作。

处理此问题的另一种方法是使用符号链接 - 这将允许您将系统的多个部分嫁接到新磁盘上,并且不需要编辑 /etc/fstab

  1. mkdir -p /hdd/home
  2. cp -var /home/usr /hdd/home # 将数据复制到新位置
  3. 检查您的数据是否已复制到
  4. rmdir /home/usr/ # 如果失败则您的数据可能未完全迁移。
  5. ln -s /hdd/home/usr /home/usr # 创建一个符号链接,这样当人们进入 /home/usr 时,他们实际上指的是 /hdd/home/usr

您可以以类似的方式移动文件系统的其他部分 - 只需避免特殊目录(例如 /dev 等虚拟目录以及在启动过程早期可能需要的其他目录,如 /etc)

相关内容