评估通过安装文件系统隐藏的文件

评估通过安装文件系统隐藏的文件

我使用的是 Ubutnu 18.04。

目前,根据命令/home挂载到NVME磁盘上:/df

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  137G  113G   18G  87% /
...

大小为/dev/sda1400GB,我想将其用作我的 /home,根据fdisk -l

Device          Start        End   Sectors   Size Type
/dev/sda1  1172275200 1953523711 781248512 372.5G Linux filesystem

/dev/sda1使用指南,我必须找到使用的 UUIDblkid

/dev/sda1: UUID="3ce518e8-955d-4b26-9dde-c3819d5906d6" TYPE="ext4" PARTUUID="08f6658f-7432-4a48-bdbd-0ee8f16d9b91"

并在 中定义适当的条目/etc/fstab。所以,现在的内容是

$ cat /etc/fstab 
UUID=3ce518e8-955d-4b26-9dde-c3819d5906d6   /home    ext4    defaults   0   2
UUID=918a1f7d-b27c-4b82-8a10-ba0d622a37dd /               ext4    errors=remount-ro 0       1
UUID=BA35-0600  /boot/efi       vfat    umask=0077      0       1

UUID=36a37d03-0ba7-4196-83ed-876e2782297e none            swap    sw              0       0

运行后sudo mount -a,我看到我的主文件夹变空,所有文件都消失了。

$ ls /home/mahmood/
$

我以前的文件丢失了,但是它们存在。由于/in的用法df -h没有改变。

有什么快速解决办法吗?

{更新}

/home2我厌倦了根据评论重新安装旧分区。于是,我就进入了sudo mkdir /home2 && chmod -R 777 /home2。然后我编辑/etc/fstab以保留新旧分区

UUID=3ce518e8-955d-4b26-9dde-c3819d5906d6   /home    ext4    defaults   0   2
/dev/nvme0n1p2 /home2 ext4 defaults 0 2

运行后sudo mount -a,我看到:

$ ls /
bin    dev   home2           lib    libx32      mnt   root  snap  tmp  vmlinuz
boot   etc   initrd.img      lib32  lost+found  opt   run   srv   usr
cdrom  home  initrd.img.old  lib64  media       proc  sbin  sys   var
$ ls /home
DEBIAN  mahmood  virtualbox-6.0_6.0.0-127566-Ubuntu-bionic_amd64.deb  vt  win7.vdi
$ ls /home2/
bin    dev   home2           lib    libx32      mnt   root  snap  tmp  vmlinuz
boot   etc   initrd.img      lib32  lost+found  opt   run   srv   usr
cdrom  home  initrd.img.old  lib64  media       proc  sbin  sys   var

我可以在 中看到我的旧文件/home2/home/mahmood。但是,我不知道为什么我会看到/etc/home2/etc例如。那到底是怎么回事?!

答案1

当您创建新的挂载点 /home 时,数据不会从之前的 /home 移动到新的 /home。

要解决该问题,您必须使用“简单”的解决方法。

有两种情况:

第一个案例是指通过文件 fstab 将旧主目录安装在分区中。

在这种情况下,您可以按以下几行操作:

您必须将整个 /home 复制到新分区中。

第一步是将旧的 /home 原始化为 /home2 并将此行插入到文件 fstab 中,而不删除已插入的新行

/dev/nvme0n1p2 /home2 ext4 defaults 0 2

第二步是重新启动您的电脑。这样,您将拥有两个目录:/home(新家)和/home2(旧家)

第二种情况当/home目录是/下的真实目录时。

在这种情况下,您必须将 /home 重命名为 /home2 (在此之前,您必须从 fstab 中删除新的主行(如果存在),然后重新启动)

sudo mv /home /home2

然后您必须将新的 /home 行插入 fstab 并重新启动。

最后一步(在这两种情况下)是将所有文件从 home2 复制到 home:

sudo cp -apvr /home2/* /home

这样,您将拥有新的 /home,然后可以将 /home2 视为备份副本。

当您确定新的 /home 正确时,您可以自由删除 /home2 中的所有文件:

sudo rm -rf /home2/*

然后,在第一种情况下,您将从 fstab 文件中删除 /home2 行,或者在第二种情况下删除 /home2 目录。

sudo rm -rf /home2# 在第二种情况下。

我建议您等待一段时间再删除/home2。

相关内容