我几周前安装了 Arch Linux,自从昨天启动它以来,我一直遇到一个问题,我的 Wi-Fi 无法工作,尽管到目前为止它一直运行正常。
我查看了其他几个线程并运行(ip link
)后得到了结果:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
我看到的另一个线程有相同的结果,并且响应提到运行(ls /proc/sys/net/ipv4/conf
),列出的目录是(all
,,)。default
lo
该线程提到应该有一个wlan0
目录并继续假设存在,但对我来说情况并非如此。
如何恢复系统上的 Wi-Fi 访问?
当被要求运行 lspci -k 时,我的网络适配器是:
0000:01:00.0 Network Controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter
DeviceName: Realtek Wireless LAN + BT
SubSystem: Hewlett-Packard Company Device 87fd
运行命令后pacman -Q linux
,uname -r
我可以看到它们是不同的,因为pacman -Q linux
返回linux 6.1.1.arch1-1
和uname -r
返回6.0.12-arch1-1
lsblk
列表:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTZ
nvme0n1 259:0 0 238.5G 0 disk
|-nvme0n1p1 259:1 0 256M 0 part
'-nvme0n1p2 259:2 0 238.2G 0 part /
按照给出的答案,我运行mount /dev/nvme0n1p1 /boot
并收到错误:
mount: /boot: unknown filestsytem type 'vfat'
dmesg(1) may have more information after mount system call.
答案1
您的无线网卡“消失”的原因是因为您的引导加载程序正在加载较旧的内核映像,而根文件系统中(仅)有较新的 NIC 驱动程序,部分原因是 Arch 的滚动更新性质(另一部分原因是您的 PEBKAC,当您在安装/boot
操作系统/引导加载程序时“设计”使用一个分区时,您没有安装该分区。)
编辑:我忘了你实际上必须先降级内核。你可以检查一下旧版本的软件包(确切的版本uname -r
)是否在/var/cache/pacman/pkg/
。如果没有,请下载它这里.然后运行:
pacman -U path/to/older/package
然后重启并继续下面的步骤。实际上此时你应该可以继续而不重启。
尝试mount /dev/nvme0n1p1 /boot
看看是否有vmlinuz-linux
(/boot
例如ls
)后命令mount
。
如果是这样,pacman -S linux
重新安装内核包并重新启动,看看你的 WiFi 是否恢复。
如果是这样,删除下的所有文件/boot
。(findmnt /boot
重启后应该不会再给您任何输出;并且应该只有vmlinuz-linux
一个或两个initramfs
文件。如果还有其他文件,请跳过此步骤,也许让我知道还有什么。)
最后添加一个 to 条目/boot
。/etc/fstab
例如:
/dev/nvme0n1p1 /boot vfat defaults 0 2
(最好用 替换/dev/nvme0n1p1
,UUID=...
其中...
应该是 文件系统的 UUID /dev/nvme0n1
,您可以使用 获取lsblk -f
。)
然后你可以运行:
mount /boot
如果运行正常,您也可以重新启动以进行检查,看看是否/boot
在启动时自动安装。