Ubuntu Swap备份恢复方法
首先需要明确系统中Swap的类型(分区或文件)及位置。使用以下命令查看:
sudo swapon --show # 显示当前启用的Swap信息(包括设备名或文件路径)
# 或
lsblk # 查看磁盘分区情况,识别Swap分区(如/dev/sda2)
备份前必须停止Swap服务,避免数据损坏:
sudo swapoff -a # 关闭所有Swap分区/文件
若Swap为分区(如/dev/sda2):
使用dd命令创建分区镜像,保存到安全路径(如外部磁盘):
sudo dd if=/dev/sda2 of=/path/to/backup/swap_partition.img bs=4M status=progress
可选压缩(节省空间):
sudo gzip /path/to/backup/swap_partition.img # 生成swap_partition.img.gz
若Swap为文件(如/swapfile):
直接复制文件到备份路径:
sudo cp /swapfile /path/to/backup/location/
若备份后不再使用原Swap,可从/etc/fstab中移除对应条目(避免重启自动挂载):
sudo nano /etc/fstab
# 删除类似“/dev/sda2 none swap sw 0 0”或“/swapfile none swap sw 0 0”的行
恢复前停止所有Swap服务:
sudo swapoff -a
若原Swap为分区:
将备份的镜像文件恢复到原分区:
sudo dd if=/path/to/backup/swap_partition.img of=/dev/sda2 bs=4M status=progress
若镜像为压缩文件,先解压:
sudo gunzip /path/to/backup/swap_partition.img.gz
若原Swap为文件:
将备份文件复制回原位置,或创建新文件后复制:
sudo cp /path/to/backup/location/swapfile /swapfile # 复制到原路径
# 或
sudo fallocate -l 4G /swapfile # 创建新4GB Swap文件
sudo cp /path/to/backup/location/swapfile /swapfile # 覆盖新文件
确保Swap文件权限为600(防止未授权访问):
sudo chmod 600 /swapfile
若恢复的是分区,需重新格式化为Swap格式:
sudo mkswap /dev/sda2 # 替换为实际分区设备名
激活恢复后的Swap:
sudo swapon /dev/sda2 # 分区
# 或
sudo swapon /swapfile # 文件
检查Swap是否启用:
sudo swapon --show # 应显示恢复的Swap设备/文件
free -h # 查看“Swap”行,确认容量正确
若需系统重启后自动启用Swap,需将配置添加到/etc/fstab:
echo '/dev/sda2 none swap sw 0 0' | sudo tee -a /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo或root权限,避免权限不足导致失败;lvcreate -s创建快照,再从快照备份(更安全,但需提前配置LVM)。