因此,我一直使用带有 casper-rw 的实时 USB 启动,以存储程序和其他东西。在 casper-rw 文件空间不足后,我决定从实时 USB 棒安装 Ubuntu……所以我目前正在双启动 Ubuntu 和 Windows 7
我有点希望这能从 casper-rw 文件中抓取所有内容(文档、程序等),但是没有。
所以问题是,如何从 USB 驱动器的 casper-rw 文件中获取所有内容,而不破坏所有内容(我希望 Windows 保持完整,但为了以防万一还是做了备份)
答案1
好吧,要传输文件,您可以挂载 Ubuntu 根分区(或者/home
如果它位于单独的分区上),然后通过这种方式复制您可以在 USB 上访问的文件。
假设您的 USB 上有一个名为 Documents 的目录,您想将其复制到已安装的 Ubuntu 的主目录中。您可以这样做...
首先,从完整安装中,通过执行以下操作找出安装中的根分区
lsblk
记下安装的分区/
(或/home
是否是单独的)
现在启动 live usb 并挂载该分区。/dev/sdxY
用正确的分区名称替换
sudo mount /dev/sdxY /mnt
现在你的主目录位于 /mnt/home/username,因此你可以执行(替换为你的真实用户名)
sudo mkdir /mnt/home/username/casperdocs
sudo cp -r Documents /mnt/home/username/casperdocs
将 Documents 目录复制到~/casperdocs
您的安装目录
非常重要 - 完成后不要忘记卸载分区:
sudo umount /dev/sdxY
现在重新启动进入安装,您将会找到这些文件。
对于程序(假设您指的是存储库包),您应该通过apt
这种方式安装而不是尝试复制它们的文件。
答案2
casper-rw
是一个包含文件系统的文件ext4
。因此,您只需在常规 Ubuntu 安装中挂载它并复制其中的内容即可。
假设你位于casper-rw
文件所在的位置,你可以/mnt
使用命令将其挂载到
sudo mount ./casper-rw /mnt
然后,Ubuntu 系统的整个目录树将出现在/mnt
目录中。这些是文件新建在 Live 系统上,或修改的。
16.04 注意事项:然而,在 16.04 Ubuntu 的启动盘创建器是缺少使用持久性文件的选项类似casper-rw
。它使用dd
。在这种情况下,您可能会使用 之类的工具mkusb
。如果您使用mkusb
,它不会创建文件,而是在您的 USB 中创建一个单独的分区。它将命名为casper-rw
。如果您不使用 mount 命令访问这些文件,请从文件。
以下是您可能想要复制的有趣文件的列表:
您下载/创建的文档将位于 中
/mnt/home
。您可以将其逐个复制并粘贴到 Ubuntu 主目录中/home
。但如果您想一次性复制所有内容(有时可能会出错),您可以快速运行cp -r -p -u /mnt/home/ubuntu/ /home/rubik/ -v
这里,
-r
用于将文件从 Live 系统递归复制到你的家中-p
用于保留权限。我假设您是第一个创建的用户,因此您的 UID 是 1000,它将与 LIVE 系统用户的 UID 匹配ubuntu
。-u
仅更新。这意味着,如果您的新 Ubuntu 安装中已经有一个同名但新的文件,它将不会被旧 Live 系统中的文件替换。另外,我假设您的用户名是
rubik
。如果不是,请将其替换为实际用户名。
下载的软件包位于
/mnt/var/cache/apt/archives
文件夹中。您可以将它们复制到其他位置,然后快速运行sudo dpkg -i *.deb
以重新安装所有软件包。其他配置文件将位于
/mnt/etc/
目录中,就像常规 Ubuntu 安装一样。如果您添加了 PPA,则这些 PPA 源将在/mnt/etc/apt/sources.list.d
目录中找到。您可以将它们复制到主 Ubuntu。不要忘记从 复制相关密钥/mnt/etc/apt/trusted.gpg.d
。
希望这将帮助您从 恢复您的文件casper-rw
。