重新安装后添加主分区:我可以将旧的主文件夹复制到新的分区吗?

重新安装后添加主分区:我可以将旧的主文件夹复制到新的分区吗?

我在组合系统和主分区上运行 16.04。我计划使用单独的主分区进行完全重新安装。将我的整个 /home/myUser 文件夹保存在外部媒体上并将其复制回新的主分区(如果存在则覆盖文件)是个好主意吗?

或者我应该只将用户数据(如图片、我编辑的文件等)保存在外部媒体上。还有一些选定的“系统”文件?我现在唯一想到的是 .vimrc。(并且不覆盖任何文件。)

这个过程中可能出现什么问题/重复工作?

(很久以前,我就听说过不使用外部媒体来创建单独主分区的方法,但这可能是一种不必要的风险?)

答案1

是的!您可以将旧主文件夹复制到新分区(通过外部硬盘)

但是...文件权限怎么办?

问题是,如果您的外部硬盘驱动器因与 Windows 不兼容而格式化,那么当您将文件复制到外部驱动器时,它将不会尊重文件所有权和权限。

对于大多数文件来说,这无关紧要。但是,对于某些文件,例如ssh 私钥,权限很重要,如果没有正确的权限,密钥将不起作用。

解决方案 1

将外部驱动器格式化为ext4Ubuntu 使用的默认格式。缺点是,当您将其重新格式化为时,外部驱动器中的所有数据都将丢失ext4。从好的方面来说,您将拥有一个专门用于在两台 Ubuntu(任何 Linux)计算机之间传输数据的外部驱动器。

只有当您是计算机的唯一用户,并且只有一个用户帐户(您的)时,在 Nautilus 中通过Ctrl+CCtrl+进行拖放或复制粘贴才会起作用。V

如果计算机有其他用户帐户,您想使用终端复制。假设您的外部硬盘驱动器已安装为。按+ +/media/$USER/USB2TB打开终端并输入:CtrlAltT

sudo cp -rp /home /media/$USER/USB2TB/home

cp您可能不想使用以下命令rsync

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

https://stackoverflow.com/questions/6339287/copy-or-rsync-command关于cp和之间的区别的各种答案rsync

在任何情况下,请记住喷射或者安全移除硬盘和等待直到可以安全拔掉电源为止。

解决方案 2

使用默认备份Ubuntu 附带的软件用于备份您的主文件夹。确保备份目标是外部驱动器。这可确保即使驱动器格式化为 FAT32 或 NTFS,所有权和权限数据也能得到保留。

解决方案 3

将所有内容放入压缩包中。按Ctrl+ Alt+打开终端T并输入:

tar czvf /media/$USER/USB2TB/myhomebackup.tar.gz /home/$USER

其中,$USER是您在此计算机上的用户 ID。tar 选项czvf执行以下操作:

  • c 创建新的档案
  • z 通过 gzip 过滤档案,使其压缩
  • v 详细列出已处理的文件
  • f<name of archive>使用档案文件名<name of archive>

是否覆盖?

由于这是同一台机器,没有新硬件,因此我将覆盖现有文件。首先,在全新安装的情况下,您的主文件夹中没有“真实”数据。其次,覆盖隐藏文件会恢复旧安装中的配置、书签等。

我发现稍后查看隐藏文件夹和文件(以 .dot 开头的文件和文件夹名称)并删除不需要的文件会更容易。例如,如果我不再需要程序 foo 并且没有foo在新安装中安装,我会删除主文件夹中的文件夹.foo。即使我不删除它也不会占用太多空间。如果我决定某天再次.foo使用,配置会在那里。foo

不进行全新安装可以完成吗?

是的你可以移动将主文件夹移至新分区。这里有一份关于此问题的出色指南:https://help.ubuntu.com/community/Partitioning/Home/Moving

我强烈建议您在尝试此操作之前对您的图片、歌曲或任何您珍爱的东西进行备份(或两次备份!)。

错误是难免的。如果你犯了一个错误,你的数据可能会永远消失。所以,在尝试任何这些操作之前,一定要确保安全,至少备份两个重要文件。

希望这可以帮助

答案2

我在我的系统上做了完全相同的事情,并且通常没有问题。

  • 我不会恢复 ~/.config 上的所有文件,但只选择包含我想要的一些数据的文件
  • 我确实复制回了~/.mozilla 和 ~/.thunderbird 中的文件
  • 我确实复制了 ~/.config/variety 和 ~/.config/qBittorrent 中的文件

当使用它们的程序第一次启动时,~/.config 中的大多数文件都会被重建,我所做的任何更改都无关紧要。

答案3

是的,你可以复制内容到新的分区。

假设你有从实时驱动器启动并挂载根分区和启动分区,

sudo mkdir /mnt/root
sudo mkdir /mnt/home

sudo mount /dev/sdxm /mnt/root  # the root partition
sudo mount /dev/sdyn /mnt/home  # the home partition

其中 x、y 是驱动器号,m、n 是分区号。

然后你可以复制rsync以保留权限和所有权的方式,

sudo rsync -Havn /mnt/root/home/ /mnt/home

请注意源规范中的尾部斜杠/。这是一次“试运行”,如果输出看起来不错,您可以进行真正的复制,

sudo rsync -Hav /mnt/root/home/ /mnt/home

/home请记住在以下位置添加分区行/etc/fstab文件,当/mnt/root/etc/fstab您仍然从实时驱动器启动时。

sudo nano /mnt/root/etc/fstab

该行应该与此行类似,

UUID=2175f8ed-4ab3-4268-b5d6-f38c2017e547 /home  ext4  errors=remount-ro  0  2

您应该将其中的 UUID 十六进制字符串替换为您/home所见的分区的 UUID 十六进制字符串blkid(不带引号)。

正如查尔斯·格林(Charles Green)在回答中所描述的,您可能会或可能不会跳过其中的某些数据~/.config


升级到 16.04 LTS 时,我使用了另一种方法:我将个人数据保存在单独的数据分区,它也是通过文件安装的/etc/fstab。这使我的/home目录相当小,因此可以将其保存在根分区中。我有符号链接从我的/home目录到数据分区,邮箱、VirtualBox 文件和其他大文件可以驻留在该分区。

相关内容