如何在损坏的系统上从/ var恢复数据?

安装KDE后(并尝试通过安装Gnome 3来修复它),我无法再登录到我的系统,因为它呈现黑屏。

这对我来说是一个非常糟糕的地方,因为我需要从我的安装中恢复一堆数据(特别是在/var/www )。

在重新安装我的操作系统之前,有没有办法使用Live CD从我的系统中提取这些数据?

将USB记忆棒插入系统并安装系统所在的分区。 这可能是sda1(如果Ubuntu在第一个磁盘上,否则sdb1,如果在第二个磁盘上(等))或启动器中的“系统磁盘”。 安装可以从nautilus或启动器栏完成(它将在实时会话期间列出所有带有磁盘图标的分区)。

然后从Nautilus转到/var/www/并将您需要的文件复制到USB记忆棒。


如果打算格式化系统,请确保您可以恢复文件。 请使用USB记忆棒上的“安全删除”选项。

如果要从此会话格式化磁​​盘,请确保卸载该分区。

如果您使用的是实时媒体,那么您的数据和安装应该没问题。 你需要一个终端,所以从Dash菜单中打开一个终端,或按可靠的Ctrl + Alt + T快捷键。

  1. 获取备用USB并将其插入。它应该安装到/media/ubuntu/ 。 记下装载路径。
  2. 输入命令blkid并在名称中查找带有ext*的内容:
    例如: /dev/sda4: UUID="..." TYPE="ext4" PARTUUID="..."
    记下分区ID( /dev/sda4 )。
  3. 使用sudo mount /mnt ,将替换为步骤3中的任何内容,在我的例子中为/dev/sda4
  4. 运行cd /mnt/var
  5. 运行sudo cp -R www/

最后,使用Nautilus或ls检查所有文件是否确实已成功复制。

完成所有操作后,使用以下命令卸载两个驱动器:

 sudo sync; sudo umount /mnt  

或者,您可以在没有实时媒体的情况下完成。 在破坏的Ubuntu安装上,您可以转到TTY4( Ctrl + Alt + F4 ),插入USB驱动器,并完成以下操作:

  1. 运行lsblk并找到USB驱动器的刻字(例如, /dev/sdb1 )。
  2. 使用以下命令将USB驱动器挂载到/mntsudo mount /mnt
  3. 为您的驱动器创建一个文件夹( sudo mkdir /mnt/web-backup
  4. 复制一切: sudo cp -R /var/www /mnt/web-backup
  5. 使用lsvalidation: ls /mnt/web-backup
  6. 使用以下方法卸载USB: sudo sync; sudo umount /mnt sudo sync; sudo umount /mnt

您还可以从Recovery Shell执行这些步骤。 您可以通过在Grub引导时按SHIFT,为最新内核选择(advanced options)(recovery mode) ,然后转到root选项来访问它。

注意:使用任一解决方案,文件系统权限可能会变得有点不稳定。 您将要在新系统上sudo chown -R $USER:$USER ,以便您可以实际读取数据。