使用时间移位在外部硬盘上备份 Linux

使用时间移位在外部硬盘上备份 Linux

因此,我刚刚在我的 ubuntu 20.04 LTS 上安装了 Timeshift。当我尝试使用 timeshift 设置整个系统的备份时,它显示我只能在主分区上保存备份数据。(请注意,我的系统与 Windows 11 是双启动的)

我将外部硬盘连接到系统以使用时间移位备份其上的数据,但它显示“外部硬盘没有 Linux 分区”,因此我无法使用时间移位备份我的数据。

目前,我已经使用外部硬盘上的“备份”选项正常备份了我的文件。

我是 Linux 新手,所以我想问如何在外部硬盘上创建 Linux 分区?

此外,如果我的系统出现故障,“备份”足以恢复我的文件吗?

我的外部硬盘显示的文件系统是 ExFat

答案1

Timeshift 要求外部驱动器为 ext4 类型。

假设/dev/sdb1这是外部驱动器的路径(根据您的路径进行相应调整lsblk | grep sdb或检查 gparted)

您可以使用

sudo umount -lf /dev/sdb1 
mkfs.ext4 /dev/sdb1

来实现这一目标。

此后,您可以在 Timeshift 中选择您的驱动器。

答案2

另一个选项(虽然可能不太友好)是用来dd执行任何备份。它需要硬盘有足够空间来存储与备份大小相同的分区/驱动器。dd创建驱动器的精确副本(包括可用空间和已删除的文件),这使其成为备份的完美选择,因为您可以直接切换硬盘或将其复制到新分区。

首先,您需要从实时 USB 启动。然后运行,sudo fdisk -l它将列出所有连接的驱动器和分区。这将列出各种有用的信息。请注意/dev/nvme*或,/dev/sd*因为这是驱动器/分区路径。记下您的块大小。输出应如下所示:

Disk /dev/nvme0n1: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
    Disk model: Samsung SSD 980 1TB                     
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 16384 bytes / 131072 bytes
    Disklabel type: gpt

Device              Start        End   Sectors   Size Type
/dev/nvme0n1p1       2048     206847    204800   100M EFI System
/dev/nvme0n1p2     206848     239615     32768    16M Microsoft reserved
/dev/nvme0n1p3     239616  773042175 772802560 368.5G Microsoft basic data

然后您就可以使用gparted它在外部硬盘上创建适当大小的分区。

完成后,打开终端并输入sudo fdisk -l。从输出中,您应该能够知道您创建了哪个分区(有助于比较创建分区前后的命令以识别任何差异,尽管这不是完全必要的)。

然后使用以下命令

dd if=/dev/sdX of=/dev/sdX bs=XXXX conv=noerror,sync status=progress

复制需要一点时间,但因为它会创建精确副本(包括可用空间),所以非常适合备份您的硬盘。只需确保定期执行此操作,否则备份将过期。对于较大的驱动器,您可能需要让它整夜运行 - 或者使用 将其自动化为后台任务cron。可以通过将块大小增加到 或类似方法加快速度,bs=16M但如果数据中有错误,这可能会导致错误传播。

这种方法比较麻烦,不能自动备份,但是可靠,而且备份的驱动器可以立即切换出去。

相关内容