/home从HDD 中的单独分区转到默认配置,其中/home有一个文件夹/,位于 SSD 中

/home从HDD 中的单独分区转到默认配置,其中/home有一个文件夹/,位于 SSD 中

最近我重新安装了 ubuntu 并创建了两个分区。整个系统位于 SSD 上,/home 位于另一个分区(HD 中)内。但是,我希望 /home 保留在 SSD 上,而 HD 作为第二个 /home,仅用于存储文件。有人能帮助我吗?

注意:如果存在丢失文件的风险,我无法从 HD 上的 /home 释放内存。如果可能的话,我想在 SSD 上创建一个 /home 并重命名旧的 /home,这样系统中就不会发生冲突。

答案1

/home从HDD 中的单独分区转到默认配置,其中/home有一个文件夹/,位于 SSD 中

我们将从运行 Ubuntu 18.04 的 Live USB 执行此操作,以便我们可以使用该/home分区并将其挂载为/internal_home

步骤 1:从 Live USB Ubuntu 启动

选择无需安装即可试用 Ubuntu选项,因为我们想从 USB 而不是内部 SSD 运行 Ubuntu。

/home第 2 步:找到分区/的uuid

Ctrl按+ Alt+打开终端T并输入:

sudo blkid > myUUIDs.txt

保持终端打开并转到文件(也称为 Nautilus),找到文件myUUIDs.txt并双击打开它,这样您就可以轻松复制和粘贴内部驱动器/home/分区的 UUID。您稍后会需要它们。

步骤 3:安装/home/分区

由于这只是暂时的,挂载点是什么并不重要。您可以使用 Nautilus 单击并挂载它们。但是,自动生成的挂载点很难输入。因此我们将使用命令行创建 2 个挂载点并将两个分区挂载在那里。

第一的,将一些临时文件夹作为挂载点

sudo mkdir /internal_root
sudo mkdir /internal_home

第二,挂载两个内部分区

我假设:

  • 1234-UUID-OF-SYSTEM-PARTITION是您的内部/(根)分区,
  • 1234-UUID-OF-HOME-PARTITION是您当前的主分区。

复制并粘贴正确的UUID 输入终端使用前请先执行上述第 2 步。

sudo mount --uuid 1234-UUID-OF-SYSTEM-PARTITION /internal_root
sudo mount --uuid 1234-UUID-OF-HOME-PARTITION   /internal_home

步骤 4:将主文件夹从其自己的分区复制到 SSD 下/

使用以下命令将旧/home分区中的所有内容复制到新/home文件夹。请注意,您不需要创建该文件夹,因为它是作为分区的挂载点创建的。

sudo rsync -aXS --exclude='/*/.gvfs' /internal_home/. /internal_root/home/.

步骤 5:为旧目录创建新的挂载点

我们需要为旧家创建一个新的接入点,以便我们可以使用它来存储数据,我将称之为oldhome。使用以下命令:

sudo mkdir //internal_root/oldhome

笔记:我不建议将旧主目录挂载在 下/media。此文件夹通常保留给系统临时自动挂载分区。

替代方案将使用以下命令oldhome在现有文件夹下创建文件夹:/mnt

sudo mkdir //internal_root/mnt/oldhome

步骤 6:编辑以在 Ubuntu 启动时自动/etc/fstab挂载oldhome

使用以下命令/etc/fstab以管理员权限在 gedit 中打开。

sudo -H gedit /internal_root/etc/fstab

查找包含主分区 UUID 的行。请参阅步骤 2 以获取 UUID。将其更改为如下所示:

UUID=1234-UUID-OF-HOME-PARTITION  /oldhome ext4 defaults 0 2

旧分区1234-UUID-OF-HOME-PARTITION的 UUID 号码在哪里/home第2步。请注意,在此文件中我们不包含/internal_root/创建oldhome文件夹时的前缀。

保存文件并退出gedit

步骤 7:重新启动计算机并启动至内部 SSD

如果一切顺利,您的/home并不位于 SSD 中的默认位置。

要使用 Nautilus 访问/oldhome分区,您需要转到其他地点并点击计算机图标并导航至oldhome

希望这可以帮助

答案2

我将尝试使用无需实时启动的方法来回答。

  1. 启动电脑并等待 grub 菜单出现
  2. 在 grub 菜单中,选择“默认”选项并按下e
  3. 编辑以 linux 开头的行,并init=/bin/bash在末尾附加
  4. 按 CTRL+x
  5. root 提示问题之后mount -o remount,rw /
  6. 为你的新家创建新目录:mkdir /mnt/newhome
  7. 老山之家:mount /home
  8. 安装新家:mount /dev/ssd_partition /mnt/newhome
  9. 复制所有数据:cp -rp /home/* /mnt/newhome/
  10. 相应地修改/etc/fstab/home 挂载点的条目
  11. 重启
  12. 利润 :)

答案3

这是一个已有 1 年历史的问题,但对于那些遇到...

我认为你忘记删除旧的 /home它仍然在文件系统中浪费空间(看看/(根)分区的尺寸)

正如其他答案中所解释的,复制/同步新分区中的所有文件

你不需要实时图像

同步

  1. 使用您喜欢的工具将新分区挂载到某处(我使用了没有 root 权限的 gnome-disks。)

为了方便起见,请为分区指定一个除名称之外的标签,以便磁盘可以使用 /media/username 中的给定标签创建挂载点

  1. 同步
    sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/my_user/home/.  
  
  1. 在 /etc/fstab 中添加新分区,但在第 5 步将其注释掉(开头的 #)
# UUID=1234-你的 UID /home ext4 默认值 0 2
  1. 为了确定我正在查看哪个主文件夹,我通常会创建一个空文件(这是可选的)

    $ touch /media/my_user/home/blahhhhh

释放不再需要的空间

  1. 在安全模式下重新启动并获取 root shell(很简单,只需按照屏幕上的消息操作即可)

  2. 查看/home,你应该不是查看文件 /home/blahhhh

    $ ls /home

因为新的 /home 尚未挂载(fstab 中的行已被注释),而是 / 文件系统的部分可用。

  1. 如果你想仔细检查你的新主分区中是否有所有文件,请挂载它并查找文件 /home/blahhhh

    $ mkdir /新主页
     $ mount /dev/the_new_home_partition /new_home
     $ ls /新主页  
    
*you may want to use /dev/dev_name instead the UUID: it is shorter to write.* 
  1. 如果你高兴...删除旧目录下的所有文件

    警告 !!!!!! 确定你在哪里,你在做什么......没有回头路

         $ rm -fr /主页/*
    

    警告 !!!!!

新的主目录候选分区仍然挂载在 /new_home

  1. 编辑 /etc/fstab 并取消注释(删除 #)/home 条目

      UUID=1234-你的UID /home ext4 默认值 0 2

8.重启

  1. 检查挂载在/(根)上的空间分区

尝试了解自己正在做的事情...如果您犯了错误,您将失去一切...

相关内容