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

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

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

对于我来说这真是一个糟糕的处境,因为我需要从我的安装中恢复大量数据(特别是在/var/www)。

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

答案1

如果您使用的是实时媒体,您的数据和安装应该没问题。您需要一个终端,因此请从 Dash 菜单打开一个终端,或者按可靠的Ctrl+ Alt+T快捷方式。

  1. 取出备用的 USB 并将其插入。它应该挂载到/media/ubuntu/<something>。记下挂载路径。
  2. 输入命令blkid并查找ext*名称中包含的内容:
    例如:/dev/sda4: UUID="..." TYPE="ext4" PARTUUID="..."
    记下分区 ID ( /dev/sda4)。
  3. 使用 挂载分区sudo mount <id> /mnt<id>用您在步骤 3 中获得的任何内容替换,在我的情况下是/dev/sda4
  4. 跑步cd /mnt/var
  5. 跑步sudo cp -R www/ <mountpath_from_step_1>

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

一切完成后,使用以下命令卸载两个驱动器:

sudo sync; sudo umount /mnt <mountpath_from_step_1>

或者,您也可以不使用实时媒体。在损坏的 Ubuntu 安装中,您可以转到 TTY4 ( Ctrl+ Alt+ F4),插入 USB 驱动器,然后执行以下操作:

  1. 运行lsblk并查找 USB 驱动器的字母(例如/dev/sdb1)。
  2. /mnt使用以下命令安装 USB 驱动器:sudo mount <step_1> /mnt
  3. 为您的驱动器创建一个文件夹(sudo mkdir /mnt/web-backup
  4. 复制所有内容:sudo cp -R /var/www /mnt/web-backup
  5. 用于ls验证:ls /mnt/web-backup
  6. 使用以下命令卸载 USB:sudo sync; sudo umount /mnt

您也可以从 Recovery Shell 执行这些步骤。您可以在 Grub 启动时按住 SHIFT 键,选择(advanced options)(recovery mode)获取最新内核,然后转到root选项,即可访问该选项。

笔记:无论使用哪种解决方案,文件系统权限都可能变得有点不稳定。您需要sudo chown -R $USER:$USER <path_to_backup>在新系统上执行此操作,以便真正读取数据。

答案2

将 USB 插入系统并安装系统所在的分区。该分区可能名为 sda1(如果 Ubuntu 位于第一个磁盘,则为 sda1,否则如果位于第二个磁盘(等等)则为 sdb1)或启动器中的“系统磁盘”。可以从 nautilus 或启动器栏进行安装(在实时会话期间,它将列出所有带有磁盘图标的分区)。

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


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

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

相关内容