一、问题描述
用户在 Ubuntu 22.04 桌面版中误卸载了 Python3(默认版本为 Python 3.10)。系统重启后只能进入命令行界面(TTY),图形化界面无法加载,网络服务也不可用。
二、问题分析
- Ubuntu 22.04 的 GNOME 桌面环境依赖 Python3 来运行关键组件。
- Netplan、NetworkManager 等网络服务也依赖 Python3。
- 删除 Python3 会导致系统无法正常启动图形界面和网络。
三、修复方法
① 使用安装盘进入 Live 模式
- 插入 Ubuntu 22.04 安装盘或 U 盘。
- 启动电脑时选择从安装盘启动。
- 在启动菜单中选择 “Try Ubuntu without installing”(试用 Ubuntu)。
- 进入 Live 系统后,打开终端。
② 挂载原系统分区
我的系统分区是 /dev/sdb2,执行:
sudo mount /dev/sdb2 /mnt
③ 挂载必要的系统目录
for dir in /dev /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done
④ 进入原系统环境
sudo chroot /mnt
此时你已经进入原系统环境,可以重新安装关键组件。
⑤ 检查网络
先测试网络:
ping 223.5.5.5
如果不通,需要设置临时 IP 和路由。例如网卡为 enp3s0:
sudo ip addr add 10.100.10.31/24 dev enp3s0
sudo ip link set enp3s0 up
sudo ip route add default via 10.100.10.1
设置 DNS:
sudo nano /etc/resolv.conf
添加:
nameserver 223.5.5.5
nameserver 114.114.114.114
保存后测试:
ping www.baidu.com
⑥ 重新安装 Python3.10
Ubuntu 22.04 默认 Python 版本为 3.10:
apt update
apt install python3.10 python3-minimal python3-distutils
⑦ 修复网络和图形界面
重新安装关键组件:
apt install --reinstall network-manager ubuntu-desktop gdm3
apt install -y netplan.io
应用网络配置:
netplan apply
⑧ 退出 chroot 并重启
exit
sudo reboot
四、总结
- Ubuntu 22.04 默认依赖 Python 3.10,误删会导致桌面和网络不可用。
- 使用 Live 系统进入 chroot 环境,挂载 /dev/sdb2 系统分区,重新安装 Python3.10 和桌面相关组件即可恢复。
- 建议后续避免直接卸载系统自带的 Python3,可通过虚拟环境或
pyenv来管理不同版本。