Ubuntu无法进入桌面系统怎么用timeshift恢复

使用timeshift恢复,前提是系统正常的时候你有用它做过快照,不然纯扯淡。所以必要的备份,还是要给自己留一条后路的。

先判断你现在卡在什么界面

  1. 能看到登录界面,但输密码进不去、闪退回登录
  2. 直接黑屏 / 只有光标闪烁
  3. 能进命令行(TTY)
  4. 连 GRUB 都进不去,直接报错

如果是 1 或 2,我先给最通用、成功率最高的修复。


第一步:进入命令行 TTY

开机到登录界面 / 黑屏时按:

Ctrl + Alt + F3

(F1~F6 都可以试)

输入你的用户名 → 回车 → 输入密码(密码不显示,正常)


第二步:用 Timeshift 恢复(最关键)

先列出快照:

sudo timeshift --list

找到一个正常日期的快照,比如 2026-05-20_12-00-00

恢复命令(一定要加 –skip-grub):

sudo timeshift --restore --snapshot "2026-05-20_12-00-00" --skip-grub

按提示确认:

  • 问你是否恢复 → 输入 yes
  • 问分区是否正确 → 直接回车

恢复完成后:

reboot

开机只能到GRUB 界面,这个GRUB只能帮你进「恢复模式命令行」或「临时文本模式」,再在里面用 Timeshift 恢复快照。下面分两种情况:

情况3:你现在看到的是 GRUB 菜单(有 Ubuntu、Advanced options 等)

1. 进入恢复模式(Recovery Mode)

  1. 在 GRUB 里选:Advanced options for Ubuntu
  2. 选一个内核,带 (recovery mode) 的那行
  3. 等一会儿会进到一个菜单,选:root – Drop to root shell prompt
  4. 现在是 root 命令行,先把系统分区改成可写:mount -o rw,remount /
Recovery Mode Timeshift 恢复

2. 在恢复模式里用 Timeshift 恢复

# 列出所有快照
timeshift --list

会看到类似:

2026-05-12_16-35-12
2026-05-15_13-16-39

选一个能正常用的旧快照,执行恢复(一定要加 --skip-grub):

timeshift --restore --snapshot "2026-05-15_13-16-39" --skip-grub
  • 提示 yes/no → 输入 yes
  • 问分区 → 直接回车确认

跑完重启:

reboot

情况4:GRUB 都进不去 / 直接黑屏 → 必须用 Live USB

  1. 准备一个 和你同版本的 Ubuntu U 盘(比如你是 26.04,就用 26.04 ISO)
  2. 从 U 盘启动 → 选 Try Ubuntu(不要安装)
  3. 连上网,打开终端:sudo apt update && sudo apt install timeshift
  4. 打开 Timeshift 图形界面:
    • Settings → 选你原来放快照的分区(比如 /dev/sdb1)
    • 列表里选正常快照 → Restore
    • 目标分区选系统盘(一般是 /dev/sda1)
    • 勾选 Skip GRUB reinstall
  5. 恢复完拔掉 U 盘,重启。

没有网络,可以用手机下载搞到U盘,或者使用无线网卡应该可以上网。


进桌面后还是黑屏 / 登录循环(NVIDIA 驱动最常见)

不管是恢复模式还是 Live USB,进 TTY / 命令行执行:

# 彻底卸载所有 NVIDIA 驱动
apt remove --purge '*nvidia*'
apt autoremove -y
apt autoclean

# 重装桌面和显示管理器
apt install --reinstall ubuntu-desktop gdm3
systemctl enable gdm3

reboot

重启后基本都能进桌面,之后再装合适的闭源驱动。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。
       本系列的一部分

ubuntu桌面

Post 66 of 66

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress