ubuntu重装系统但是不改动文件的方法

方法 1(首选):Ubuntu 官方「重装但保留文件」

✔ 保留:

  • /home/用户名/ 下所有文件

  • 文档 / 代码 / 数据 / ROS / Isaac Lab 工程

❌ 不保留:

  • 已安装的软件(apt / snap / conda 环境)

  • GNOME 设置、扩展

  • 系统配置

适合你现在的情况

  • 系统不稳定、GNOME / 显示 / 扩展经常炸

  • 不想重配磁盘、不想动数据

  • 接受"软件重装一次"


操作步骤(很重要)

1️⃣ 制作 Ubuntu 启动盘

  • 同版本或更高版本 Ubuntu ISO

  • Rufus / BalenaEtcher 均可

2️⃣ 从 U 盘启动 → 选择

复制代码
Install Ubuntu

3️⃣ 到「安装类型」这一步时

一定选:

"Reinstall Ubuntu"


"Erase Ubuntu and reinstall" + 勾选 "Keep my files"

⚠️ 不要选

❌ "Erase disk and install Ubuntu"(会全没)


4️⃣ 安装完成后

你会发现:

复制代码
/home/你的用户名

完整保留


方法 2:修复系统(不重装)

✔ 所有东西都在
✔ 最安全
❌ 不能解决深层系统损坏

适合:

  • GNOME / 桌面炸了

  • 包依赖混乱

  • 登录异常


2.1 自动修复(推荐)

复制代码
sudo apt --fix-broken install
sudo dpkg --configure -a
sudo apt update
sudo apt full-upgrade

2.2 重装桌面环境(非常有效)

复制代码
sudo apt install --reinstall ubuntu-desktop

如果你只用 GNOME:

复制代码
sudo apt install --reinstall gnome-shell gdm3

2.3 重置 GNOME(⚠️不动文件)

复制代码
dconf reset -f /org/gnome/

方法 3:手动「重装系统但保留 /home」(工程师最稳方案)

这是最干净、最可控的方法。

核心思想

系统分区 / 重装,数据分区 /home 不动


前提(非常重要)

你需要:

  • /home单独分区

  • 或你愿意手动分区挂载


安装时这样做

在安装界面选:

复制代码
Something else(手动分区)
分区 挂载点 格式化
/ / ✅ 是
/home /home ❌ 否

👉 安装完成后:

  • 系统全新

  • 所有用户文件在

  • 软件重装一次即可


⚠️ 方法 4:Timeshift 回滚(如果你以前用过)

如果你之前开启过 Timeshift

复制代码
sudo timeshift --restore

可以直接回滚到:

  • 系统没坏的时候

  • 文件完全不丢

但如果你没配置过 → 跳过


🚨 强烈建议你先做一件事(3 分钟)

不管你用哪种方法,先备份 home

复制代码
sudo rsync -aAXv /home /media/你的移动硬盘/home_backup

或最少:

复制代码
cp -r ~/Desktop ~/Documents ~/code ~/workspace /外置盘
相关推荐
kk”4 小时前
Linux的组和权限管理
linux·运维·服务器
智购科技智能售货柜5 小时前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
mohesashou5 小时前
红帽linux的K8S部署
linux·kubernetes·ansible
xiaoye-duck6 小时前
《Linux网络编程》UDP Socket 编程实战:从 Echo 回显、通用字典服务到套接字封装全流程
linux·网络·udp
酒神dnspup6 小时前
CDN 回源检测怎么做?用 DNSPup 验证节点命中、源站暴露与多地可用性
运维·服务器·网络·网络协议·tcp/ip
Rain的Java大神之路6 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
江南风月7 小时前
3分钟快速上手日志审计系统 WGLOG v2.2 更新了什么
运维·服务器·网络
孙克旭_7 小时前
Docker 镜像构建|Vue+SpringBoot+Go 多语言项目 Dockerfile 案例
linux·运维·vue.js·spring boot·docker·dockerfile
life码农7 小时前
Linux截取Nginx指定时间段日志的三种方法(grep/awk/sed)
linux·nginx