首先需确认系统中交换分区(如/dev/sda2)或交换文件(如/swapfile)的位置。常用命令:
sudo swapon --show # 显示当前启用的交换空间及大小
sudo fdisk -l # 查看磁盘分区详情(确认交换分区设备名)
若使用交换分区,使用dd命令完整复制分区内容到备份文件:
sudo dd if=/dev/sda2 of=/path/to/backup/swap_backup.img bs=4M status=progress
if为输入文件(交换分区设备),of为输出文件(备份路径),bs为块大小(提升速度),status=progress显示进度。gzip压缩以节省空间:sudo gzip /path/to/backup/swap_backup.img
若使用交换文件(如/swapfile),可直接用dd或rsync复制:
sudo dd if=/swapfile of=/path/to/backup/swapfile_backup.img bs=4M
# 或使用rsync(保留文件属性)
sudo rsync -a /swapfile /path/to/backup/
sudo swapoff -a
swapoff -a关闭)。fdisk/gparted)并调整大小(与原分区一致或更大)。sudo gunzip /path/to/backup/swap_backup.img.gz
使用dd命令将备份文件内容写入目标分区:
sudo dd if=/path/to/backup/swap_backup.img of=/dev/sda2 bs=4M
if为备份文件路径,of为目标分区设备(如/dev/sda2)。将备份文件复制到原位置,并设置正确权限:
sudo cp /path/to/backup/swapfile_backup.img /swapfile
sudo chown root:root /swapfile # 设置所有者为root
sudo chmod 600 /swapfile # 设置权限(仅root可读写)
mkswap重新格式化(若为分区):sudo mkswap /dev/sda2 # 仅分区需要此步骤
sudo swapon /dev/sda2 # 分区
sudo swapon /swapfile # 文件
sudo swapon --show # 查看启用的交换空间
free -h # 查看虚拟内存使用情况
/etc/fstab(持久化配置)若恢复到原位置,需确保/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
tune2fs -U <原UUID> /dev/sdXn修改,通过blkid查看原UUID)。通过以上步骤,可安全完成Debian系统中交换分区或交换文件的备份与恢复,保障系统虚拟内存的可靠性。