type
status
slug
summary
tags
category
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM

0. 令人糟心的 N 卡驱动

因为自己的硬盘还有着相当大小的剩余空间,于是昨天就给自己的笔记本安装了一个 Manjaro Linux(Arch Linux 优秀衍生版),因为自己的笔记本是 Asus 的,而且时间也比较早了,华硕老款机型的问题大家也知道,那就是老版本的 BIOS 根本就不支持显卡切换、刚安装完系统查看的时候发现系统内核只加载了 Intel 核心显卡,如下:
查看目前安装的驱动程序,可以看出现在使用的是开源驱动 nouveau
然后这个时候我就有了个大胆的想法、那就是:独显留着不用是不是很浪费、然后我就安装了 NVIDIA nofree 驱动:
下一步就是重启系统、开开心心、极其潇洒地输入了 reboot 命令、然后正常关机、OK 表现很好、正常启动表现很好,点个赞!嗯?等一下,怎么回事,风扇怎么抽风了开启了嚎叫模式???TTY 进不去、黑屏、看不到启动信息、键盘无响应,好了已经可以确认了这次安装 N 卡驱动翻车了。然后开始后期的补救措施、总不能再重新安装一次系统吧、那显得多没面子,维修系统这个总是需要学会的、说不定以后什么时候就用到了、技多不压身不是?(但是我希望我以后再也用不到这门技能!多糟心啊!)

1. 修复前准备

1.1. Live CD 启动盘一个

这里推荐 balenaEtcher 这款烧录软件、开源、速度快、支持的镜像格式众多、而且可跨平台使用。官网链接:https://www.balena.io/etcher/

2. 开始 chroot 修复(最好有联网环境、后续修复的时候有可能会使用到网络连接)

首先通过liveUSB启动,在liveUSB的中我们原先的系统文件是保存在电脑的磁盘上的,默认不会被挂载,所以我们先要把除了/home以外的系统目录挂载到当前的任意目录,我们选择挂载在/mnt中:

2.1 使用 lsblk 查看各挂载点的设备

2.2 对相应的分区进行挂载

2.3 挂载EFI分区

随后是关键的一步,因为在UEFI下安装Manjaro Linux时我们都额外为/boot/efi/进行了单独的分区,所以我们这里也需要挂载它。默认挂载根目录时并不会挂载这个目录,因为它们不在同一个分区,根据lsblk中显示的efi所在的设备进行相应的挂载,否则内核无法重新安装:
另外对于一些虚拟目录,例如/dev和/sys,我们也需要手动绑定,否则chroot后运行pacman会出错:

3. chroot 重新安装内核

通过原来的准备我们已经将系统文件准备完成了,现在我们在挂载目录下chroot,然后重新安装内核:

4. 卸载N卡闭源驱动

4.1 查看已安装的驱动

4.2 卸载有问题的驱动

4.3 安装开源驱动

4.3 重新生成引导镜像

  1. 查看内核
    1. 生成引导镜像
      重启完成
      更新 grub
      Manjaro 安装与使用Virtual Machine Manager (KVM)Markdown 简明语法手册