从 SquashFS 或 TAR 恢复根目录

从 SquashFS 或 TAR 恢复根目录

我正在运行双启动的 Ubuntu 和 Windows 10 Pro 配置。在重新安装 Windows 之前,我使用以下命令使用 TAR 和 SquashFS 对 / 进行了 2 次完整备份:

壁球:

sudo mksquashfs / /media/dennis/Backup_SSD/Ubuntu_N580VD_Backup.sqsh -e media dev run mnt proc sys tmp

柏油:

sudo tar czf /media/dennis/Backup_SSD/Ubuntu_N580VD_Backup.tar.gz --exclude=/backup.tar.gz --exclude=/dev --exclude=/mnt --exclude=/media --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/lost+found /

squashfs_logtar.gz_日志

重新安装 Windows 后 Ubuntu 无法启动:

tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x201] vs fed40080 f80
Couldn't get size: 0x800000000000000e
PKCS#7 signature not signed with a trusted key

所以我在 sda6 上重新安装了 Ubuntu,现在它又可以启动了。但是,如何用我的 .tar.gz 或 .squashfs 备份文件的内容替换分区 sda6 上新安装的内容?

sda            238.5G                                   
├─sda1 ntfs      499M | Recovery
├─sda2 vfat      100M | Boot (EFI)                                  
├─sda3            16M | Microsoft reserved                                
├─sda4 ntfs    137.4G | Windows                                  
├─sda5 swap        4G | SWAP                          
└─sda6 ext4     96.5G | Ubuntu

答案1

查看您的日志,您进行了热系统备份而不是冷系统备份,这意味着在您进行备份时文件正在被修改。除此之外,您的操作系统 ( /) 和数据 ( /home) 未分开,因此在这些远非理想的情况下,我会:

  1. 登录控制台以 root 身份,不是 GUI 也不是你的管理员用户
  2. 挂载 squash 文件系统:

    mkdir /media/restore
    mount /media/dennis/Backup_SSD/Ubuntu_N580VD_Backup.sqsh /media/restore -t squashfs -o loop
    
  3. 复制您的数据:

    cp --recursive --preserve=all /media/restore/home/* /home/
    
  4. 在机器工作状态下关闭
  5. 采取CloneZilla 直播对系统当前状态进行冷备份。

对于以下步骤,将取决于您的运气以及进行热备份时运行的应用程序类型。

  1. 从热备份中复制所有内容,但/run内核在内存中设置的虚拟文件系统除外:

    rsync --archive --verbose --progress /media/restore/* / --exclude /media/restore/run
    
  2. 重新启动并祈祷 Torvalds 和 Stallman 之神能够让这一切奏效。 ¯\_(ツ)_/¯

  3. 如果不起作用:
    1. 恢复您的 CloneZilla Live 冷备份
    2. 重新安装所有应用程序。(这些应用程序的单独配置仍可/home通过数据恢复获得。)
    3. 看在老天的份上:不要进行热系统备份,将 CloneZilla Live ISO 文件放入你的 grub 菜单中并从现在开始进行冷备份。
  4. 如果有效的话:请删除 root 登录恭喜! 我从来没想过你会达到这一步,因为热备份是出了名的不可靠。

相关内容