如何在 Linux 中将目录转换为分区

如果您在安装操作系统期间选择了默认选项,那么您的所有文件夹很可能都位于同一个分区中,即根 ( / ) 分区。 虽然这完全没问题,但当您想要重新安装操作系统时,它会带来挑战,因为您将无法保留您的文件和文档。 整个根系都被擦干净了。 良好的做法要求您创建一个单独的主分区以及引导和交换分区,以便您可以轻松地重新安装操作系统。

如果您已经拥有主文件夹以及同一分区中的其他文件夹,请不要担心。 在本指南中,我们演示了如何将主文件夹迁移到另一个分区。 我们将使用一个外部驱动器来演示这一点,我们将备份主目录并将其配置为一个分区。

步骤 1:确认主分区和外部驱动器的大小

第一步是确认主目录的大小。

$ df -Th /home

在我们的例子中,我们的目录是 13G。

外部驱动器的大小应大于您的主目录。 我们有一个 16GB 的外部驱动器,应该足以完成这项工作。

第 2 步:格式化外部 USB 驱动器

在下一步中,我们将使用 分机4 文件格式。 首先,我们将卸载驱动器。

$ unmount /dev/sdb

然后我们将使用它格式化它 分机4 文件格式。

$ mkfs.ext4 /dev/sdb

步骤 3:创建用于挂载驱动器的目录

接下来创建一个用于安装外部驱动器的目录。 在我们的例子中,我们创建了 /srv/家 目录。

$ mkdir -p /srv/home

然后,如下安装外部驱动器。

$ mount /dev/sdb /srv/home

要确认驱动器已安装,请使用如下所示的命令

$ df -Th | grep sdb

第 4 步:将主目录复制到已安装的驱动器

接下来,将主目录中的所有文件传输或复制到 /srv/家/ 挂载点。

$ rsync -av /home/* /srv/home/

这可能需要一段时间,具体取决于您的主目录的内容,尤其是在 Downloads 目录中。 因此,请耐心等待复制过程的进行。

完成后,您将获得复制的总大小的摘要。 在我们的例子中,传输的文件大小为 3GB。

您可以按如下方式验证磁盘空间使用情况:

$ df -Th | grep sdb

第五步:挂载文件系统

接下来,删除主目录下的所有文件和文件夹。

# rm -rf /home/*

然后卸载 /srv/家 挂载点 /dev/sdb 设备已安装。

# umount /srv/home

接下来,将外部驱动器安装到主文件夹。

# mount /dev/sdb /home/

并列出其内容以确保您的文件夹完好无损。

# ls -l /home

然后按如下方式设置目录权限,以防万一默认umask发生变化。

# chmod -R 755 /home

笔记:

我们所做的更改将无法在重新启动后继续存在。 为了解决这个问题,我们需要在 /etc/fstab 文件。

但首先,让我们获取外部卷的 UUID。 您可以按如下方式实现:

$ blkid /dev/sdb

/dev/sdb: UUID="56bd886b-daa0-4bc4-add1-e0e2b64bff01" TYPE="ext4"

接下来,访问 /etc/fstab 文件。

# vim /etc/fstab

然后附加以下参数

UUID=[ID] /home ext4 defaults 0 2

在我们的例子中,我们有:

UUID="56bd886b-daa0-4bc4-add1-e0e2b64bff01" /home ext4 defaults 0 2

Save 文件并重新加载 /etc/fstab 文件。

# mount -a

您的主文件夹现已迁移并可以在单独的分区中访问。