我有一个文件夹/acme
,其中包含数据。我发现我应该已经安装/dev/centos/lv_acme
到了/acme
。我在网上做了最少的研究,看来安装并没有删除数据。 (尽管我现在认为我误解了我读到的内容。)
我执行了命令
mount /dev/centos/lv_acme /acme
我确信您现在已经想到,/acme
不再包含我的数据。有什么方法可以恢复其中的数据吗/acme
?
答案1
挂载不会删除数据,但可能会隐藏数据,因为挂载点的内容会被挂载的文件系统(可能为空)替换。当然,可能会产生副作用(程序根据安装方式的不同而表现不同),因此当您对安装点管理不善时,事情仍然可能会出现严重错误。
如果您在错误的位置安装了一个空文件系统,只需卸载即可:
umount /acme
如果您想查看挂载点下方的内容而不卸载它,您可以在其他地方绑定挂载父文件系统:
mkdir /mnt/root
mount --bind / /mnt/root
ls /mnt/root/acme
如果有更多的文件系统层相互安装,那就更困难了。利用lsblk
和cat /proc/mounts
找出结构。您可以将每个层分别绑定安装在临时目录中并查看内容。
请注意,这些绑定安装默认情况下是可写的,因此可以更改、重命名和删除文件。对于只读视图,只需添加--read-only
.
答案2
简单的,
umount /acme
您的原始/acme
目录只是“隐藏”在挂载点下。
如果没有什么阻止您卸载该目录,您可以卸载它,将数据复制到其他地方并重新装载它。
答案3
如果无法卸载已安装的文件系统,仍然可以通过将其安装在临时安装点上并以这种方式访问文件来访问原始文件系统。