我正在使用 USB 驱动器上的 Ubuntu 17 ISO 来恢复笔记本电脑上不再启动到 GUI 的 Ubuntu 17 安装。我想从本地磁盘抓取文件,但似乎无法访问它们。
我如何访问这些文件?
lrwxrwxrwx 1 1000 1000 56 Nov 29 19:34 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
lrwxrwxrwx 1 1000 1000 52 Nov 29 19:34 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
root@ubuntu:/media/ubuntu/7c8304ee-16af-4d22-8f48-b291de9e1c43/home/olduser#
root@ubuntu:/media/ubuntu/7c8304ee-16af-4d22-8f48-b291de9e1c43/home/olduser# ls -la /usr/share/encryptfs-utils/encryptfs-mount-private.desktop
ls: cannot access '/usr/share/encryptfs-utils/encryptfs-mount-private.desktop': No such file or directory
root@ubuntu:/media/ubuntu/7c8304ee-16af-4d22-8f48-b291de9e1c43/home/olduser# ls -la ../../usr/share/encryptfs-utils/encryptfs-mount-private.desktop
ls: cannot access '../../usr/share/encryptfs-utils/encryptfs-mount-private.desktop': No such file or directory
我可以cat README.txt
并且看到了这个:
为保护您的数据,此目录已被卸载。
在图形桌面上,单击:“访问您的私人数据”
或者
从命令行运行:ecryptfs-mount-private
不幸的是,从 GUI 单击该文件没有任何反应,我认为这是因为该文件encryptfs-mount-private
在 USB 驱动器或安装的旧驱动器中都不存在。
我尝试安装 encryptfs-mount-private 或 encryptfs-utils,但没有成功:
E: Unable to locate package encryptfs-utils
E: Unable to locate package encryptfs-mount-private
此外,locate
、which
和whereis
均未找到任何名为encryptfs
或 的文件ecryptfs-mount-private.desktop
。
cat
这些文件位于哪里,如果它们所在的目录不存在,我怎样才能输出它们的内容?
答案1
符号链接就像文本文件,以纯文本形式包含它们指向的绝对或相对路径。因此,由于以前安装在 的分区/
当前安装在/media/ubuntu/YOUR_UUID_HERE
,绝对符号链接显然会中断。
我建议将 chroot 切换到您的磁盘分区,这样链接就可以再次工作了。Chrooting 会将根目录更改为您喜欢的任何目录,这样您就可以获得一个终端,其行为就像从 DVD 启动后从磁盘上的系统运行一样。
从实时 DVD 中,运行以下命令来准备并进入 chroot 环境:
将硬盘上的 Ubuntu 分区挂载为
/mnt
。您可能必须先从文件管理器中卸载它,因为它不能被挂载两次。用/dev/sdXY
分区的真实标识符替换,例如/dev/sda1
。使用lsblk
命令来识别它是哪一个。sudo mount /dev/sdXY /mnt
将实时系统的虚拟系统文件夹绑定到目标文件夹中的各自位置:
for d in /dev /dev/pts /sys /proc ; do sudo mount --bind $d /mnt$d ; done
你说你想恢复一些数据,所以我猜你有一些外部存储,你想把东西复制到那里。我假设存储位于
/media/ubuntu/my-backup-disk
,用你相应的路径替换。它必须可以从 chroot 环境访问,因此我们也将它绑定到目标目录中:sudo mkdir /mnt/storage sudo mount --bind /media/ubuntu/my-backup-disk /mnt/storage
进入环境。
sudo chroot /mnt
现在您处于 root shell 中,并且
/
root 目录将是外部实时会话中的内容/mnt
。它的行为应该类似于从硬盘安装启动的 root shell。像安装时一样解锁加密主页,我猜使用:
ecryptfs-mount-private
将重要文件从主目录或任何地方复制到我们绑定的备份磁盘
/storage
(它/mnt/storage
在 chroot 之外)。这可能看起来像下面这样,请用您自己的适当路径替换:cp -R /home/bee/Documents /storage/Documents
完成后,您可以通过退出 root shell 再次离开 chrooted 环境:
exit
您已返回到实时系统的正常 shell。
再次卸载磁盘安装的分区:
sudo umount -R /mnt
我想您已经完成了。您可以关闭终端并关闭实时系统,或者做其他您想做的事情。