August 21, 2023

笔记本安装Ubuntu+Win10双系统疑难杂症记录

入手一台鸡哥笔记本,折腾双系统,记录一下关于AX101网卡和N卡驱动引起的各种问题。


芜湖!两朝荒芜,今日割草!

手中4699入了一台机械革命极光Z的笔记本,i5-12450H 32G+1T 3050 作为一台中等级别的游戏本还是比较划算的。尽管12450为残血,3050为甜品卡,但是对于我这种不玩大作游戏的人来说,性能还是足够的。

本着折腾的心态,尝试给这台机子加装上ubuntu。因为有着对服务器硬盘装双系统的经验,本以为装机过程是轻松加愉快,没想到扯出这么多问题。

安装

首先现有系统关闭Bitlocker(不然之后有够你受的)

1
2
manage-bde -off C:
manage-bde -off D:

前往 计算机管理-磁盘管理 压缩卷
将D盘割出131072MB(128GB) 作为闲置卷,不格式化 不挂载

割盘操作

Ubuntu Dekstop Download下载22.04LTS版本
因为本来是打算硬盘安装,于是将压出来的128GB中割了8GB作为安装盘,格式化为exFAT或FAT32(UEFI无法从NTFS引导),直接将iso解压到里头。

重启,鸡哥的机子通常是按F2进入BIOS。

BIOS

进入BIOS后优先关闭SecureBoot,然后尝试改变引导的时候才发现鸡哥bios太老了,没有Boot From File选项。

SecureBoot

满头大汗翻了个8GB的U盘(还不支持USB3.0的古董U)回来,一套格式化+写入。

由于鸡哥的引导优先级中USB Device是排在NVME Device上的,所以在插入u盘的时候优先从u盘引导,进入熟悉的Ubuntu加载页面。

然后被USB2.0的20MB/s写入卡了三分钟

修改镜像为tuna源,将割出来的120GB分区给挂载到/下。五分钟不到安装完毕。

安装完毕后别急着直接关机,先修改grub引导为console再重启。

因为据我安装服务器的经验来谈,grub启动时若加载N卡驱动则由grub引导的windows一定会出现花屏问题。

Ctrl+Alt+T打开终端,nano /etc/default/grub.cfg修改grub配置文件:

1
GRUB_TERMINAL=console

加入后保存退出,update-grub更新

reboot重启时,机子关机关到一半突然卡住,tty无法切换,CAD连招也失效,推测应该是N卡驱动问题,长按电源键强制关机。

将启动引导改为Grub

Windows默认是不会识别Ubuntu引导的,而修改windows引导过于麻烦。不如直接将默认引导改为grub,由grub启动windows。

鸡哥由于bios过老,修改方式比较脑瘫,从UEFI NVME Drive BBS Priorities进入,将第一个启动项改为ubuntu即可。

Boot
Boot

重启,能正常进入grub引导,记下第三个为Windows Boot Manager(id为2),尝试分别进入Windows和ubuntu均无太大问题

SecureBoot

解决蛋疼的无线网卡问题

进入ubuntu的时候,尝试打开浏览器却提示无网络链接,心里不由得咯噔一下。

好在手头还有一个已经破解了的中兴微随身wifi,尝试插入能够被识别为有线网卡,利用随身wifi全功能后台中的wifi中转功能连上了家中路由器。

SecureBoot

略微浏览之后发现是AX101网卡驱动没装,于是满怀信心地前往intel linux驱动下载,结果却发现,只有20系,没有10系的网卡驱动。

这就肥肠、肥肠抽象了

AX101卡是Intel wifi6系列卡中最垃圾入门的一款,仅有600Mbps理论速率。虽然对于我来说已经完全足够需求(毕竟我在现实中就没连过哪个网速超过500Mbps的网络)了,但是连官网都没有linux驱动支持,心态,不由得发生了一内内变化。

百度上查了一圈,基本文不对题,最后在知乎站内搜索找到了解决方案,但在系统内核安装的时候又出现了亿点点小坑。

首先前往内核下载,选择6.1.15

尽管是及以上,但是实测6.2版本会error,其余更高的未测试

SecureBoot

将红框内的内核全部下载,然后

1
2
dpkg -i *.deb
update-grub

重启,使6.1.15内核加载到系统中。

但是如果你是从更高的版本降下来的话,那你还要考虑卸载高版本。

1
2
dpkg --list | grep linux-image
dpkg --list | grep linux-headers

通过上述命令列出所有的image和header,然后用apt-get purge命令清除

当你尝试清除最高版本的kernel时,系统可能会建议你中断当前操作,因为可能会造成系统不稳定。这时候选择No(不Abort卸载过程),完成卸载后reboot重启。重新进入后输入 uname -r则会发现系统内核已被降级到6.1.15。

apt install git,安装git后,先安装makedeb:

1
bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')"

克隆并打包iwlwifi-ax101-dkms项目:

1
2
3
git clone 'https://mpr.makedeb.org/iwlwifi-ax101-dkms'
cd iwlwifi-ax101-dkms/
makedeb -si

注意不要以root身份运行。完成后会提示提权,此时切换到root安装驱动包:

1
dpkg -i iwlwifi-ax101-dkms_6.1.15-2_amd64.deb

重启后wifi应当可用。

SecureBoot

Ubuntu关机时假死 - N卡驱动问题

由于之前没有安装N卡驱动,导致电脑关机时会突然卡在徽标页面,加载圈也不转,所以之前的关机一直都是强制关机

由于不太喜欢自带的额外驱动程序安装,所以还是用传统的官网驱动。

老黄家走一趟,下载下来一个run文件。此时要关闭X server在tty中使用

Ctrl+Alt+F3切换到tty模式,输入账户密码登录。

首先要清除ubuntu安装中有可能打上去的莫名其妙的驱动,以及安装必要的库

1
2
3
apt-get update
apt-get remove --purge nvidia*
apt-get install dkms build-essential linux-headers-generic

然后拉黑nouveau,nano /etc/modprobe.d/blacklist-nouveau.conf输入以下内容

1
2
3
4
5
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

并禁用nouveau:

1
2
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -u

重启,同样进入tty模式,先暂停图形服务

1
service gdm stop #or lightdm

然后懒人bash *.run开始安装。

题外话:一不小心用了Nvidia驱动的XConf导致进不去系统怎么办

多半是当老黄问你要不要换成由Nvidia驱动X服务的时候手欠选了Yes(然而这里默认是no)

1
2
3
4
Would you like to run the nvidia-xconfig utility to automatically update your X 
configuration file so that the NVIDIA X driver will be used when you restart X?
Any pre-existing X configuration file will be backed up.
Yes No

你看老黄都知道大概率会出问题还给你贴心备份了来着

此时别瞎几把听网上说的卸载n卡驱动,重启进入grub时,选择recovery mode,root模式,恢复被老黄改过的XConf即可

1
2
3
cd /etc/X11/
rm -rf xorg.conf
mv nvidia-xconfig-original.conf xorg.conf

重启即可,关机卡死问题也被成功解决

题外话:更新内核导致掉驱动怎么解决

老黄在安装驱动的时候会问你要不要安装dkms,在内核更新的时候自动更新。

没有选yes问题也不大,先apt install dkms

再看一眼当前版本ls -l /usr/src/

手动安装dkms install -m nvidia -v 5xx.xx.xxx

安装蓝牙驱动

这个还算是小问题,首先dmesg瞅一眼哪报错了。

dmesg

提示无法启动1050蓝牙驱动。

这个时候我第一时间想到的是安装bluez这玩意,直到我看到了Ubuntu22.04 在零刻EQ12 安装蓝牙无法启动问题,他告诉我,可以直接复制一份同系列的intel驱动。

咳,虽然比较阴间,不过对我这台鸡哥也是可行的。

bluetooth

其他一些小优化

系统默认进入Windows

已安装Windows后再安装ubuntu,grub的默认启动会优先进入ubuntu。

修改/etc/default/grub.cfg,将GRUB_DEFAULT改为Windows Boot Manager的id(正常情况下为2)

1
GRUB_DEFAULT=2

Ubuntu下挂载Windows NTFS盘

安装依赖sudo apt install nfs-kernel-server fuse

fdisk -l瞅一眼自己的盘在哪个分区,然后用mount挂载

1
mount -t ntfs /dev/sdxx /Windows/D

/Windows/D即windows下D盘内容,建议用chmod提权写入。

至于Windows下挂载ext4,用ext2fsd险些给我盘挂坏…win下挂载很麻烦,又因为是同一块盘没法用wsl挂载。windows下挂载还是先晾着有空再来解决。

Ubuntu与Windows时间差

老生长谈的问题,22.04可以直接强制改为本地时间而避免时区错误timedatectl set-local-rtc 1 --adjust-system-clock


除个草,浇浇水(
截个图,留个纪念

ALL

关于本文

由 CyanFalse 撰写, 采用 CC BY-NC 4.0 许可协议.

双系统Ubuntu驱动疑难杂症

Wait...