我正在运行双启动的 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 /
重新安装 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
) 未分开,因此在这些远非理想的情况下,我会:
- 登录控制台以 root 身份,不是 GUI 也不是你的管理员用户
挂载 squash 文件系统:
mkdir /media/restore mount /media/dennis/Backup_SSD/Ubuntu_N580VD_Backup.sqsh /media/restore -t squashfs -o loop
复制您的数据:
cp --recursive --preserve=all /media/restore/home/* /home/
- 在机器工作状态下关闭
- 采取CloneZilla 直播对系统当前状态进行冷备份。
对于以下步骤,将取决于您的运气以及进行热备份时运行的应用程序类型。
从热备份中复制所有内容,但
/run
内核在内存中设置的虚拟文件系统除外:rsync --archive --verbose --progress /media/restore/* / --exclude /media/restore/run
重新启动并祈祷 Torvalds 和 Stallman 之神能够让这一切奏效。 ¯\_(ツ)_/¯
- 如果不起作用:
- 恢复您的 CloneZilla Live 冷备份
- 重新安装所有应用程序。(这些应用程序的单独配置仍可
/home
通过数据恢复获得。) - 看在老天的份上:不要进行热系统备份,将 CloneZilla Live ISO 文件放入你的 grub 菜单中并从现在开始进行冷备份。
- 如果有效的话:请删除 root 登录。 恭喜! 我从来没想过你会达到这一步,因为热备份是出了名的不可靠。