如何将 Linux 主目录移动到另一个驱动器如何将 Linux 主目录移动到另一个驱动器如何将 Linux 主目录移动到另一个驱动器如何将 Linux 主目录移动到另一个驱动器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何将 Linux 主目录移动到另一个驱动器

想要将您的 Linux 主文件夹移动到另一个驱动器?这是一个简单明了的分步方法,适用于任何发行版。移动您的主文件夹意味着您可以重新安装 Linux 而不必担心您的个人文件。

为什么要将您的主文件夹分开?

如果您正在设置一台新机器或向现有机器添加硬盘驱动器,您可能希望将您的主目录放在与默认位置不同的驱动器上。

现代个人电脑越来越流行的配置是使用一个中型固态硬盘 (SSD) 来存放您的操作系统,并使用一个更大的固态混合硬盘 (SSHD) 或传统硬盘 (HD) 作为您的主要数据存储。或者您的系统中可能只有一个传统硬盘驱动器,并且您添加了一个新的硬盘驱动器以增加存储空间。无论您的原因是什么,这里都是一个简单的逐步移动您的主目录的过程。

顺便说一句,如果您从头开始安装 Linux 系统,您可能会在 Linux 发行版的安装程序中看到一个创建单独主目录的选项。通常,您只需要进入分区选项,创建一个单独的分区,并将其挂载到“/home”。但是,如果您已经安装了 Linux 发行版,则可以使用这些说明将当前主目录移动到新位置,而不会丢失任何内容或重新安装操作系统。

现在,在我们开始之前,去做一个备份。

识别驱动器

如果您刚刚在 Linux 计算机上安装了一个驱动器,或者在一台新的多驱动器计算机的其中一个驱动器上安装了 Linux,然后重新启动,则几乎没有证据表明新驱动器存在。

fdisk 命令将为我们列出驱动器及其分区。

sudo fdisk -l

滚动浏览输出,直到您识别出新驱动器。第一个驱动器名为 /dev/sda ,第二个是 /dev/sdb 等等,最后一个字母每次增加。所以 /dev/sde 将是系统中的第五个硬盘驱动器。

在此示例中,新驱动器是要安装到系统中的第二个驱动器。所以我们需要为 /dev/sdb 寻找一个条目。

/dev/sdb 在上面突出显示。您会注意到它上面没有描述分区的行。这是一个全新的驱动器,所以它还没有。我们需要创建分区。我们可以使用 fdisk 来做到这一点。如果您的硬盘驱动器不是 /dev/sdb,请确保在命令中将 /dev/sdb 替换为新硬盘驱动器的实际驱动器标识符。

sudo fdisk /dev/sdb

当 fdisk 提示您输入命令时,请按字母 p。这将打印硬盘驱动器的分区表。我们知道它不会有一个,但我们得到了一些关于驱动器的有用信息。它给了我们一个很好的机会来确保我们要为其创建分区的驱动器是我们打算使用的驱动器。

它告诉我们该驱动器是 1TB 驱动器,符合我们对该测试机的预期,因此我们将继续。

创建分区

按字母 n 创建新分区,然后按 p 创建主分区。当要求您输入分区号时,请按数字 1。

我们将为整个磁盘创建一个分区,因此当提示第一个扇区时,我们可以按 Enter 键接受默认值。然后系统会提示您输入最后一个扇区,Enter 将接受默认值。

虽然 fdisk 确认它已经创建了一个 1TB 的 Linux 分区,即分区号 1,但硬盘驱动器上没有任何变化。在您向 fdisk 命令将更改写入驱动器之前,驱动器不会受到影响。一旦您确定对我们的选择感到满意,请按字母 w 将更改写入驱动器。

该分区已写入 /dev/sdb 。让我们检查一下刚刚发生了什么。我们将在 /dev/sdb 上再次使用 fdisk。

sudo fdisk /dev/sdb

按字母 p 打印分区表,您会看到现在列出了驱动器的分区。因为它是此驱动器上的第一个分区,所以称为 /dev/sdb1。第二个分区将称为 /dev/sdb2,依此类推。

我们不想对分区做任何更改,所以按字母 q 退出。

在分区上创建文件系统

我们需要在分区上创建一个文件系统。这可以使用 mkfs 命令轻松实现。请注意,您必须在命令中包含分区号。小心输入 /dev/sdb1(分区)而不是 /dev/sdb(驱动器)。

sudo mkfs -t ext4 /dev/sdb1

将为您创建文件系统,您将返回到命令提示符。

安装新驱动器

要使用新驱动器,我们必须将其上的分区挂载到文件系统中的挂载点。实际上,准确地说,我们既没有挂载驱动器也没有挂载分区,我们是挂载分区上的文件系统,方法是将它移植到系统的文件系统树上.

/mnt 点是一个很好的地方。它只是一个临时挂载点,允许我们将数据复制到新驱动器。我们将使用 mount 命令将文件系统挂载到 /dev/sdb 的第一个分区,位于 /mnt 。

sudo mount /dev/sdb1 /mnt

如果一切顺利,您将返回到没有错误消息的命令行。让我们看看是否可以将目录更改为新安装的文件系统。

cd /mnt

我们可以。让我们看看这里有什么。

ls -ahl

我们在我们的新文件系统中。不需要默认的“lost+found”目录,因此我们可以将其删除。

sudo rm -rf lost+found

复制您的主文件夹

我们需要将旧主目录中的所有内容复制到新安装的文件系统中。使用 r(递归)和 p(保留)选项将确保复制所有子目录并保留文件所有权、权限和其他属性。

sudo cp -rp /home/* /mnt

复制完成后,使用 ls 环顾四周并验证您的数据是否在新文件系统中您期望的位置。换句话说,如果 /mnt 是您的主目录,那么所有内容都存在且正确吗?

ls
ls dave

您可能希望比我们在本文研究的测试机上更彻底一些。作为安全网,我们将重命名并保留您的旧 /home 目录,直到您认为可以安全删除它为止。

sudo mv /home /home.orig

我们将创建一个新的空主目录。

sudo mkdir /home

我们将使用这个新的空主目录作为新硬盘驱动器上文件系统的挂载点。我们需要将它从 /mnt 卸载并重新挂载到 /home。请注意,命令 umount 在“u”之后没有“n”。

但首先,我们将切换到根目录(使用 cd / )以确保我们不在将包含在安装或卸载位置中的目录中。

cd /
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/

测试您的新主目录

让我们看看现在/dev/sdb1分区的属性是什么:

df /dev/sdb1

我们看到了文件系统的名称、分区的大小以及分区的已用和可用空间,重要的是,它的挂载位置。它现在是我们的 /home 目录。这意味着我们应该能够像引用旧的 /home 目录一样引用它。

如果我们移动到文件系统中的任意点,我们应该能够使用 ~ 波浪号快捷方式改回 /home。

cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a

我们可以使用显式命令和 ~ 快捷方式在文件系统中来回移动到 /home。我们期望的文件夹、文件和点文件都存在。一切看起来都很好。

如果有任何遗漏,我们可以将其从 /home.orig 目录中复制出来,我们仍然可以在文件系统的根目录中访问该目录。但这一切看起来都很好。

现在我们需要让 /dev/sdb1 在您的计算机每次启动时自动挂载。

编辑 fstab

“fstab”文件包含系统启动时将要挂载的文件系统的描述。在我们对其进行任何更改之前,我们将为其制作一个备份副本,以便在出现问题时可以返回。

sudo cp /etc/fstab /etc/fstab.orig

现在我们可以编辑 fstab 文件了。使用你最喜欢的编辑器,我们使用的是 gedit。任何文本编辑器都可以。

sudo gedit /etc/fstab

您必须在文件底部添加一行以挂载我们新的 /home 目录。如果您的驱动器和分区标识符与本示例中使用的不同,请将它们替换为此处显示的 /dev/sdb1。

  • 在行首键入分区的名称,然后按 Tab 键。
  • 键入挂载点 /home,然后按 Tab 键。
  • 键入文件系统描述 ext4,然后按 Tab。
  • 为安装选项键入 defaults,然后按 Tab。
  • 为文件系统转储选项键入数字 0,然后按 Tab。
  • 为文件系统检查选项键入数字 0。

保存 fstab 文件。

重启你的系统

我们需要重新启动以验证一切都按计划进行,并且您可以无缝连接到新的 /home 目录。

如果没有,您仍然拥有原始 /home 目录和 fstab 文件的安全网,如果需要可以恢复这些文件。由于我们采取了预防措施——复制 /home 目录和 fstab 文件——您可以轻松地将系统恢复到开始之前的状态。

sudo reboot now

最终检查

当您的系统重新启动时,让我们检查一下您的 /home 目录是否真的在您的新硬盘上,并且您的系统没有以某种方式(奇迹般地)恢复到使用旧的 /home 目录。

df /dev/sdb1

很好,它安装在 /home 上。任务完成。

一旦您完全确定不再需要旧 /home 目录的安全副本,就可以将其删除:

cd /
sudo rm -rf home.orig/

当然,如果您确实意识到某些没有从旧的 /home 复制到新的 /home,您将能够从您在我们开始之前所做的备份中检索它。

家,甜蜜的家

现在您已将 /home 目录与操作系统分区的其余部分分开,您可以重新安装操作系统,并且您的数据不会受到影响。您所要做的就是编辑 fstab 文件以将您的第二个驱动器安装到 /home 上。

因为您所有的点文件都在您的 /home 目录中,所以当您启动各种应用程序时,它们会找到您的所有设置、首选项和数据。

它消除了重新安装的痛苦并消除了升级的风险。

Linux Commands
Files tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc
Processes alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap
Networking netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

RELATED: Best Linux Laptops for Developers and Enthusiasts

©2015-2025 艾丽卡 support@alaica.com