![在 SSD 上安装 Boot 和操作系统,在 HDD 上安装](https://linux22.com/image/44616/%E5%9C%A8%20SSD%20%E4%B8%8A%E5%AE%89%E8%A3%85%20Boot%20%E5%92%8C%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%9C%A8%20HDD%20%E4%B8%8A%E5%AE%89%E8%A3%85.png)
好的,我为我的笔记本电脑配备了 SSD,目前正在设置我的系统。在 SSD 上,我想要主操作系统(在本例中为 Crunchbang),也许还有一些交换,而在 HDD 上,我想要我的主目录以及几乎所有与系统本身无关的内容。
由于我不太适合文件系统,那么什么是分区的好方法,主要是如何实现上述分离?
答案1
一定要把你的交换区放在SSD上;如果您使用挂起到磁盘(又名休眠),这特别方便,因为它使用的磁盘是交换分区。
Linux 发行版安装程序通常提供一种将 home(或其他)放在单独分区上的方法;我从来没有使用过 crunchbang,但如果有一个阶段需要您选择分区等,那么您也可以通过添加另一个分区并给它一个挂载点来做到这一点/home
。
如果您不这样做或不能这样做,那么随后的任何时候都可以很容易地完成(因此,如果您不想在 SSD 开始填满之前打扰,您可以等待)。您可能想注销并以 root 身份执行此操作(不是 sudo,以 root 身份登录),这样移动当前的 /home 就不会搞砸任何事情。
首先,您需要将新的格式化分区临时安装到某个位置,以便您可以复制到其中。
一旦您确定 /home 中具有 $HOME 的所有用户(root 不是)都已注销,并且没有属于该用户的进程正在运行(使用 进行检查ps -o cmd,user,group -A | grep <user name>
),下一步就是将 /home 中的内容移动到临时安装的分区中,使用您通常用来移动此类内容的任何工具(例如文件浏览器或 rsync)。 你不想移动 /home 本身,但您想移动其中的所有内容。
现在从 /mnt 或任何地方卸载分区,然后将其重新安装到 home,例如:
mount /dev/sdb1 /home
现在的系统和以前一样,只是家里的东西在另一台设备上。最后要做的事情是添加一行,/etc/fstab
以便主分区将在启动时自动安装。为此,最好使用磁盘 UUID 而不是设备节点标签;你可以通过ls -l /dev/disk/by-uuid
(完全一样,逐字)找出答案。 fstab 中的行应如下所示:
UUID=<the uuid> /home ext4 defaults 0 2
请记住,如果您在某个时候重新格式化磁盘,其 uuid 将发生变化。如果您只想使用设备节点,请仅使用该节点(例如,/dev/sdb1
),但请注意,如果您附加或删除了一些磁盘,这些节点都可能在启动时发生更改(这就是 uuid 更安全的原因)。看一下man fstab
以了解这些字段;显然,如果分区不是 ext4,那么您还需要其他分区。最后两个应该没问题(除非你用来dump
备份,但你会知道你是否这样做,你可能不这样做)。
这样做时要注意的一件事是硬链接。软链接没问题,因为目录树根本没有改变,但硬链接(你可能不会有任何链接,尤其是在新安装时)不能跨越多个设备。