我谢谢 Ubuntu 的一天

 
 
 3k
 

对于今天,哦不对,应该说是昨天了,围绕 Ubuntu 的产生了一堆令人****的事情,如果可以,我想我绝不会想再一次体验这个过程,但是思来想去,还是应该整理整理留作记录,无论从什么方面讲记下来总归是一件好事,对吧,我只想苦涩的笑笑,来吧

2024-07-10 02:58:44

事情最初发生于

此时临近中午 12 点整,距离 1 点(笔试时间)还尚有一段时间,闲来无聊就顺手把 Ubuntu 18.04 更新到了 Ubuntu 22.04(Ubuntu 18.04 23 年就停止支持了,我竟然还能用到现在也是够自给自足的),这次升级也不是我主动了起来,只是 Ubuntu 18.04 的软件更新又一次提示了,恰逢其时

我是直接按系统推荐的操作来的,时间也不算很长,个把个小时,笔试顺利结束后转头过来时幺蛾子就来了,显示屏开始部分闪白屏了。这时还好,之前弄过类似的情况一来就想到是驱动不匹配了,可能需要重新下载驱动,操作很简单上网一查就知道了

缺少各种莫名的依赖

依赖真是 Linux 臭名昭著的问题,可能是在升级的过程中将一些软件包给删除了,下载驱动时一堆报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
dpkg: 处理软件包 nvidia-dkms-535 (--configure)时出错:
已安装 nvidia-dkms-535 软件包 post-installation 脚本 子进程返回错误状态 10
dpkg: 依赖关系问题使得 nvidia-driver-535 的配置工作不能继续:
nvidia-driver-535 依赖于 nvidia-dkms-535 (<= 535.183.01-1);然而:
软件包 nvidia-dkms-535 尚未配置。
nvidia-driver-535 依赖于 nvidia-dkms-535 (>= 535.183.01);然而:
软件包 nvidia-dkms-535 尚未配置。

dpkg: 处理软件包 nvidia-driver-535 (--configure)时出错:
依赖关系问题 - 仍未被配置
因为错误消息指示这是由于上一个问题导致的错误,没有写入 apport 报告。
正在设置 apache2-utils (2.4.52-1ubuntu4.10) ...
dpkg: 依赖关系问题使得 nvidia-driver-525 的配置工作不能继续:
nvidia-driver-525 依赖于 nvidia-driver-535;然而:
软件包 nvidia-driver-535 尚未配置。

dpkg: 处理软件包 nvidia-driver-525 (--configure)时出错:
依赖关系问题 - 仍未被配置
因为错误消息指示这是由于上一个问题导致的错误,没有写入 apport 报告。
正在处理用于 man-db (2.10.2-1) 的触发器 ...
正在处理用于 initramfs-tools (0.140ubuntu13.4) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-5.15.0-113-generic
I: The initramfs will attempt to resume from /dev/nvme1n1p6
I: (UUID=9d29446a-f99a-45c2-be48-40f3b4328378)
I: Set the RESUME variable to override this.
在处理时有错误发生:
nvidia-dkms-535
nvidia-driver-535
nvidia-driver-525
E: Sub-process /usr/bin/dpkg returned an error code (1)

上网翻阅各种资料,才找到了一种处理方法:

  • 删除 /var/lib/dkms/nvidia

  • 清除所有与 nvidia 驱动相关的内容

1
2
3
sudo apt-get purge 'nvidia-*'
sudo apt-get autoremove
sudo apt-get autoclean
  • 删除残留配置文件

    1
    sudo dpkg --purge $(dpkg -l | grep nvidia | awk '{print $2}')
  • 重新安装构建基本文件和其他依赖文件

    1
    2
    sudo apt-get install build-essential dkms
    sudo apt-get install linux-headers-$(uname -r)
  • 安装之前尝试的 nvidia 驱动

    1
    sudo apt-get install nvidia-driver-xxx
  • 重建 initramfs 映像

    1
    sudo update-initramfs -u
  • 重启

    1
    sudo reboot

月盈则亏,水满则溢

弄到这里,显示屏没问题了,一切都显得正常,直到我使用了一个大概叫做 groundbackground 的程序来更换登录页面封面,在重启 GNOME 后最糟糕的事发生了,整个界面全灰白,只有两句话,其中一句是:系统出错且无法修复,请联系系统管理员

这是让我联系我自己?我做了一些努力,虽然最终没有起到效果,这里也记录一下吧

  • 重启系统,没什么用

  • 进入了应急模式,不知道哪里出现了问题,我没法press enter for maintenance,甚至都没有这句话

  • 中途修改了下 root 密码

    • 进入单用户模式,找到以linux开头的行,行尾通常以ro quiet splash或类似内容结束。将它改为rw init=/bin/bash

      1
      linux /boot/vmlinuz-5.15.0-25-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw init=/bin/bash
    • 修改密码

      1
      passwd root
    • 重启系统

      1
      passwd root
  • 进入恢复模式,查看了系统日志,但是在此之前我重启了不少次,导致一分钟内的日志消息都多达上千条

    1
    journalctl -xb

黑暗中的那一束光

最终我选择了备份 Ubuntu 数据,重装 Ubuntu 22.04 系统,果然是计算机 90% 的系统问题都可以通过重启解决,99% 的系统问题都可以通过重装系统解决,100% 的系统问题都可以通过换电脑解决

我采用了一种比较方便的方法,格式化根目录,保留 home 下数据

  • 准备系统盘
    • 步骤的操作与双系统中的制作 Ubuntu 安装盘一致,不过最好采用 Rufus 制作,简单不出错
  • 重装 Ubuntu
    • 步骤的操作与双系统中的安装 Ubuntu 一致,直到“安装类型”,选择“其他选项”
    • 进入系统分区,找到/根部挂载点。选中,点击“更改”,选择“Ext4日志文件系统”,勾选“格式化此分区”,挂载点选择“/”,然后点OK
    • 同样,找到/home挂载点,选中,点击“更改”,选择“Ext4日志文件系统”,不勾选“格式化此分区”,挂载点选择“/home”,然后点OK。完成后,记得“安装后启动引导器设备”选择类型为“efi”的分区,就可以继续安装了。

系统重装成功后,进入系统,home 目录下的文件安然无恙

心中满是疮痍

这一趟走下来,真的很累。在有些步骤,会骂娘,为什么我的界面不一样不起效。在有些步骤,会祈祷,求求了别跟博客资料出岔子;在有些步骤,会想放弃,干脆不弄了卸载了从此我爱 Windows。现在走到了终点,我只想笑着说,我谢谢你啊,Ubuntu

Comments