Linux 将系统用tar打包备份到外置U盘

最佳<Coder
2026/5/10修改于 3天前

使用tar命令可以将整个Linux系统打包备份到外置U盘。本文介绍tar打包命令的参数含义、排除不需要的目录、以及恢复备份的完整操作流程。

备份命令

tar cvpzf /mnt/sda1/backup/backup.tgz / \\
  --exclude=/proc \\
  --exclude=/lost+found \\
  --exclude=/backup.tgz \\
  --exclude=/mnt \\
  --exclude=/sys

两种备份方式对比

工具特点
tar保留权限;适合备份整个目录;可选压缩方式;不压缩时支持增量备份
dd按块操作,可备份整个硬盘(含分区表、MBR);但空白空间也会被保存,备份文件较大

tar 备份详解

Linux 不限制根用户存取任何东西,因此可以把一个分区上每一个文件放入一个 TAR 文件中。

切换到 / 目录,然后使用下面的命令备份完整的系统:

tar cvpzf backup.tgz / \\
  --exclude=/proc \\
  --exclude=/lost+found \\
  --exclude=/backup.tgz \\
  --exclude=/mnt \\
  --exclude=/sys

或指定路径:

tar cvpzf /state/partition1/home/backup.tgz / \\
  --exclude=/proc \\
  --exclude=/lost+found \\
  --exclude=/backup.tgz \\
  --exclude=/mnt \\
  --exclude=/sys

参数说明:

  • c — 创建压缩文档
  • v — 显示过程
  • p — 保存权限
  • z — 使用 gzip 压缩
  • f — 指定文件名

也可以使用 bzip2 压缩(压缩比更高,速度更慢),将 z 换成 j

tar cvpjf backup.tar.bz2 / \\
  --exclude=/proc \\
  --exclude=/lost+found \\
  --exclude=/backup.tar.bz2 \\
  --exclude=/mnt \\
  --exclude=/sys

在进程的最后也许会得到一条信息,写着「tar:由于先前错误的耽搁而存在错误」或其他类似提示,大多数情况下可以忽略。

恢复

确保要在 / 目录下,且备份的 tar 包也在该位置。

# gzip 格式
tar xvpfz backup.tgz -C /

# bzip2 格式
tar xvpfj backup.tar.bz2 -C /

警告:这会把你分区里所有文件替换成压缩文档里的文件!

确保在恢复之后,重新创建剔除的目录:

mkdir /proc
mkdir /lost+found
mkdir /mnt
mkdir /sys
目录权限
/proc555
/lost+found700
/mnt755
/sys555

常见问题

还原后重启电脑一直提示用户名和密码,登不进系统:

解决方法:还原后执行以下命令再重启:

restorecon -Rv /

评论

已显示全部评论