我尝试在 HP envy 上从 20.04 升级到 22.04,安装后没有 wifi 适配器,也没有蓝牙。
如果我没记错的话,我启动的内核是 5.13。我希望连接到互联网并运行某个版本,apt update && apt upgrade
但我不知道如何连接。笔记本电脑没有以太网端口,我尝试了蓝牙网络共享,但蓝牙适配器也不起作用,最后 USB 网络共享也不起作用(即计算机无法识别新网络或类似的东西)。
我在想,如果我从实时 USB 启动,我是否可以以某种方式修复此问题,也许我可以修复此问题,但我不确定如何或是否可以以某种方式下载可能缺失的 .deb 软件包并安装它们。我尝试下载 6.2 内核下载链接(此行下的“测试 amd64/build 成功(rc=0,on=amd64,time=0:13:06,log=amd64/log)”但安装失败)
我对 linux/ubuntu 有点熟悉,但还不够深入。请告诉我哪些进一步的信息会有帮助。
答案1
有多种方法可以通过内置选项修复无法正常运行的系统,例如启动到旧内核或使用救援/恢复模式等工具……但是,这些内置机制往往无法满足您的维护需求,需要外部帮助……在这种情况下,您可以“比喻地“但实际上将你的垂死系统连接到生命支持系统并打开它的内部以修复损坏的部分然后使其恢复生机......为此你需要一个可启动的 USB 记忆棒或其他包含实时 Ubuntu 系统的媒体,即你第一次在你的机器上安装 Ubuntu 时使用的那种......然后,按照以下说明进行操作。
准备
启动实时系统,然后从实时系统连接到互联网并打开终端,然后找到您的根分区(/
系统根目录所在的目录)...您可以列出分区,例如:
sudo fdisk -l
... 识别您的根分区...它可能是类似的东西/dev/sda2
...或者它可能是您需要扫描和准备的逻辑卷或 ZFS 池,甚至是您需要先解密的加密磁盘/分区/卷...无论它是什么,您都需要将其挂载在例如/mnt
这样的位置:
sudo mount /dev/sda2 /mnt/
注意如果您有一个单独的/boot
分区,那么您需要将其挂载在/mnt/boot/
;同样,如果您有一个单独的/home
分区,那么您也需要将其挂载在/mnt/home/
。
然后,仅有的如果您有 UEFI GRUB 引导加载程序版本,则需要/mnt/boot
像这样挂载 EFI 分区:
sudo mount /dev/sda1 /mnt/boot/efi/
然后,将实时系统中健康的所需系统目录“绑定”安装到受损系统中的等效目录中/mnt
...首先,/proc
:
sudo mount --bind /proc/ /mnt/proc/
... 然后,/sys
:
sudo mount --bind /sys/ /mnt/sys/
... 然后,/dev
:
sudo mount --rbind /dev/ /mnt/dev/
注意--rbind
使用for进行递归绑定挂载,以便还包含一些命令(例如和)可能需要的/dev
子挂载(/dev/pts
sudo
su
看看为什么)。
现在运行:
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
... 这会将您当前配置的搜索域从实时系统复制到环境中chroot
,以便依赖它来解析 DNS 的应用程序能够正常工作,例如,从终端/etc/apt/sources.list
执行操作时解析存储库 URI apt update
... 但是,这种更改在从磁盘上的系统启动后不会持久,因为该文件实际上是符号链接到的,/run/systemd/resolve/stub-resolv.conf
并由 动态管理systemd-resolved
。
行动
跑步:
sudo chroot /mnt/
... 瞧... 现在,您正在磁盘上的原始系统上操作,连接到互联网,具有用户root
权限,从现在开始,您运行的每个命令都将在此上下文中执行... 因此,根据需要修复您的系统... 一个好的开始(维护命令集) 几乎总是:
dpkg --configure -a && apt update && apt upgrade
...完成后运行:
exit
清理
像这样卸载以前的挂载:
sudo umount /mnt/dev/
... 然后:
sudo umount /mnt/sys/
... 然后:
sudo umount /mnt/proc/
... 以及按相反顺序安装的任何其他内容,您就完成了。