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 /外置盘
相关推荐
吴声子夜歌22 分钟前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121381 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck2 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484813 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS3 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿3 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog4 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞4 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲5 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz5 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试