当前位置: 首页 > news >正文

linux 系统相关工具和命令

一、步骤(在 Ubuntu 虚拟机终端里执行,全程 sudo)

  1. 先确认当前分区大小和未分配空间(可选,但推荐):
    sudo fdisk -l /dev/sda
     
    你应该看到 sda 总大小 ≈40GB,sda2 结束位置远小于总大小(有 free space 后面)
  2. 安装必要工具(如果没有):
     
    sudo apt update
    sudo apt install cloud-guest-utils -y   # 包含 growpart
  3. 扩展分区 sda2(growpart 会自动把分区推到磁盘末尾):
     
    sudo growpart /dev/sda 2
    • 注意:是 /dev/sda 2(空格分隔,2 是分区号)。
    • 输出类似:CHANGED: partition=2 start=xxxx end=yyyy size=zzzz(表示成功扩展)。
    • 如果报错 “no space” 或 “nothing to do”,说明分区已满(不太可能);如果是 “device busy”,重启 VM 再试。
  4. 扩展文件系统(让 ext4 用上新分区大小):
     
    sudo resize2fs /dev/sda2
    • 这步会扫描并扩展,通常几秒到几分钟。
    • 输出会显示新大小(如从 15GB → 39GB 左右)。
  5. 验证成功
     
    lsblk -f   # sda2 大小应该接近 40GB
    df -h /    # / 的 Size 应该变成 ≈39-40GB,Avail 增大很多
     

二、系统备份与恢复

必须准备:一个大容量外部 USB 硬盘(建议 512GB+,exFAT 或 ext4 格式),空间 > NVMe 已用量(目前约 50–100GB 左右,看 df 输出)。

  1. 插上外部硬盘,确认设备名(千万别选错!):

     
    lsblk -f   # 看新插入的磁盘(通常 sda 或 sdb)
    sudo fdisk -l   # 确认外部硬盘大小和分区
    假设外部硬盘是 /dev/sda(无分区或有 sda1),用以下命令确认:
    sudo blkid /dev/sda*   # 看 UUID 和 LABEL
  2. 挂载外部硬盘(假设是 /dev/sda1,exFAT 或 ext4):

    sudo mkdir /mnt/backup
    sudo mount /dev/sda1 /mnt/backup   # 如果是 exFAT,用 sudo mount -t exfat /dev/sda1 /mnt/backup
    df -h /mnt/backup   # 确认空间足够
  3. 执行 dd 备份整个 NVMe(最完整方式):

     
    sudo dd if=/dev/nvme0n1 of=/mnt/backup/nvme-full-backup-2026-03-06.img bs=4M status=progress conv=fsync
    • if=/dev/nvme0n1:源(整个 NVMe 磁盘)
    • of=...img:目标镜像文件(放在外部硬盘)
    • bs=4M:加速
    • status=progress:显示实时进度
    • conv=fsync:确保写完再结束

    时间估计:已用 50GB ≈ 10–30 分钟(取决于 USB 速度)。

  4. 备份完成后验证 & 卸载

    ls -lh /mnt/backup/nvme-full-backup-*.img   # 检查文件大小 ≈ NVMe 总容量
    sudo sync
    sudo umount /mnt/backup
  5. 可选:压缩镜像(节省空间):

    sudo gzip /mnt/backup/nvme-full-backup-*.img

    压缩后文件会小 30–60%。

  6. 恢复
  • 把镜像文件拷到安全地方(云盘、外接硬盘多备份一份)。
  • 恢复时用同样 dd 命令反向写回:
     
    sudo dd if=backup.img of=/dev/nvme0n1 bs=4M status=progress conv=fsync
  • 以后系统出问题,直接恢复镜像即可。
http://www.jsqmd.com/news/444810/

相关文章:

  • Dillinger:现代化Markdown编辑解决方案技术解析
  • 如何突破象棋AI辅助瓶颈?VinXiangQi用YOLOv5技术革新棋盘识别体验
  • MedGemma Medical Vision Lab实际作品集:MRI脑区识别+自然语言解释双模态输出示例
  • LiuJuan20260223Zimage在ComfyUI中的可视化应用开发
  • FanControl风扇识别失效高效解决:实战驱动冲突与安全策略优化方案
  • 【稀缺首发】Meta/MSR内部流出的Python张量拓扑感知调度白皮书(含GPU-NVLink/IB/RoCE三级带宽建模公式)
  • MCP本地DB连接器安全加固清单(CIS Level 2合规认证版):禁用明文凭证、强制连接审计、内存凭据自动轮转——仅限首批订阅用户开放
  • 新手必看:SDXL-Turbo 实时绘画,5分钟上手打字即出图教程
  • 开源wvp-GB28181-pro视频监控平台:核心功能与企业级解决方案
  • Fish Speech-1.5多语种TTS落地:跨境电商独立站多语言产品语音介绍
  • Qwen3-ASR-0.6B效果展示:印度英语+粤语+普通话三语混合音频精准识别截图
  • Open Interpreter媒体处理实战:自动加字幕部署教程
  • 轻松掌握AutoDock Vina:从零开始的分子对接高效实践指南
  • 告别数据线!用File Browser+cpolar打造私人云盘,手机秒变文件管理器
  • PvZ Toolkit:植物大战僵尸PC版修改工具全功能指南
  • WrenAI:革新企业数据查询范式的RAG技术突破
  • 快速体验:nanobot超轻量AI助手5分钟部署,QQ智能助手开箱即用
  • 物联网毕业设计论文技术选型与实现:从传感器接入到数据可视化实战
  • OpenCode AI编程助手使用指南:新手也能快速上手的教程
  • 如何3分钟绕过iOS激活锁?开源工具AppleRa1n使用指南
  • 而过的风给对方感到附属国对方是个dfsg
  • 网盘直链下载助手:突破下载限制的高效解决方案 - 多平台用户必备工具
  • 的风格的风格当时法国岁的法国当时法国
  • YOLOv8辅助伏羲模型:利用目标检测技术校准初始观测场
  • IGBT在新能源汽车电驱系统中的应用:从特斯拉Model 3到比亚迪刀片电池的实战解析
  • [技术突破]REFramework:重新定义游戏定制领域的非侵入式解决方案
  • 的风格和活动分工和法定规划法定规划就风格和经济规划分局
  • 揭秘UnblockNeteaseMusic:kwDES模块的加密核心原理与应用
  • 从CPython源码级验证:Python 3.15的异步I/O吞吐量提升真的达到41%吗?我们用10万并发HTTP/3压测给出答案
  • BewlyBewly事件驱动架构:轻量级跨组件通信系统的设计与实现