温馨提示×

ubuntu swap恢复步骤是什么

小樊
33
2025-11-22 18:25:32
栏目: 智能运维

Ubuntu 中恢复 Swap 的常用场景与步骤

一、场景判断与准备

  • 确认当前状态:查看是否还有交换空间、是分区还是交换文件
    • 查看分区/文件:lsblk -fsudo fdisk -l
    • 查看是否启用:free -hswapon --show
  • 如要重建或写入分区,先关闭交换:sudo swapoff -a
  • 备份关键配置:sudo cp /etc/fstab /etc/fstab.bak
  • 准备工具:gparted(图形分区)、mkswapswaponblkid(获取 UUID

二、有备份时的恢复(分区或镜像)

  • 分区镜像恢复(dd)
    • 确认目标分区设备(如:/dev/sda2),确保未挂载
    • 恢复:sudo dd if=/path/to/swap_backup.img of=/dev/sda2 bs=4M
    • 激活:sudo swapon /dev/sda2
  • 压缩镜像
    • 解压:gunzip swap_backup.img.gz
    • 再按上条执行恢复与激活
  • 验证:free -hswapon --show
  • 说明:若之前用 mkswap 初始化过分区,恢复镜像后通常可直接使用;若需持久化,确保 /etc/fstab 指向正确的设备或 UUID

三、无备份时的重建(优先使用原有分区)

  • 使用 GParted 将目标分区格式化为 linux-swap
    • 安装:sudo apt-get install gparted
    • 在 GParted 中右键目标分区 → Format to → linux-swap → Apply
  • 获取新 UUID
    • 图形:GParted 中分区右键 → Information → 复制 UUID
    • 命令行:sudo blkid | grep swap
  • 写入交换签名并启用
    • 写入:sudo mkswap /dev/sdXN(将 XN 替换为实际分区)
    • 启用:sudo swapon /dev/sdXN
  • 持久化挂载
    • 编辑 /etc/fstab,使用 UUID=新UUID none swap sw 0 0
    • 验证:free -hswapon --show
  • 注意:若分区表变更导致设备名变化,务必用 UUID 而不是 /dev/sdXN 写入 fstab。

四、使用交换文件替代分区

  • 创建 2GB 交换文件(示例)
    • sudo fallocate -l 2G /swapfile
    • 安全:sudo chmod 600 /swapfile
    • 初始化:sudo mkswap /swapfile
    • 启用:sudo swapon /swapfile
  • 持久化
    • /etc/fstab 添加:/swapfile none swap sw 0 0
  • 验证:free -hswapon --show

五、误删或分区丢失的修复与风险提示

  • 立即停止写入,优先尝试分区表级恢复
    • 使用 TestDisk 扫描并恢复丢失分区:sudo apt-get install testdisk,然后运行 sudo testdisk,按向导进行分区表恢复
  • 若仅需恢复交换功能(无历史数据需求)
    • 按“无备份时的重建”直接新建 linux-swap 分区或交换文件并启用
  • 风险提示
    • Swap 并非长期存储,通常不值得做文件级恢复;若确有重要数据,请尽快寻求专业数据恢复服务
    • 操作磁盘与分区存在数据丢失风险,务必先备份关键数据,并在关键步骤前再次确认设备名与 UUID

0