因此,我刚刚在我的 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
但如果数据中有错误,这可能会导致错误传播。
这种方法比较麻烦,不能自动备份,但是可靠,而且备份的驱动器可以立即切换出去。