一、手机 USB 共享网络
1. Windows 下
电脑用 USB 连接手机,打开爱思助手,点击工具箱 → iTunes 及驱动 → 高级修复 → 卸载系统存储的旧驱动文件。卸载完成后发现'设备管理器'中的网络适配器自动连上了 Apple Mobile Device Ethernet。
本文主要解决 Linux To Go 环境下 Ubuntu 22.04 系统无法识别 MT7925 无线网卡的问题。首先提供通过手机 USB 共享网络的方法以获取网络连接。其次详细介绍了将系统升级至 Ubuntu 24.04 LTS 的步骤及注意事项,包括数据备份、环境检查、ESP 分区挂载修复等。此外还涵盖了手动升级内核的具体命令、驱动模块加载诊断以及 GRUB 引导配置修改方法,确保网卡驱动正常加载并稳定运行。

电脑用 USB 连接手机,打开爱思助手,点击工具箱 → iTunes 及驱动 → 高级修复 → 卸载系统存储的旧驱动文件。卸载完成后发现'设备管理器'中的网络适配器自动连上了 Apple Mobile Device Ethernet。
保持手机和电脑的连接,插入 Linux To Go,手机会弹出是否信任该设备的弹窗,点击确认,电脑就会自动连接手机的热点了,实现了用 USB 共享网络。
升级到 Ubuntu 24.04 后 MT7925 网卡问题很可能得到根本解决,因为 24.04 的内核版本对这款网卡有原生良好支持。
lspci | grep -i network 查看无线网卡型号;uname -r 输出内核版本。
升级过程中可能出现意外,请确保您便携系统中的所有重要文件都已备份到其他存储设备。
lsb_release -a
df -h
确保有足够的磁盘空间(至少 10GB 可用空间)。
# 更新当前系统
sudo apt update && sudo apt upgrade -y
# 确保系统是最新的
sudo apt dist-upgrade -y
# 清理不必要的包
sudo apt autoremove -y
sudo apt autoclean -y
# 重启系统
sudo reboot
重启后再次登录,确保系统状态良好。
sudo apt install update-manager-core
编辑升级配置文件:
# 编辑升级配置文件
sudo nano /etc/update-manager/release-upgrades
# 将 Prompt 设置为 normal 或 lts
Prompt=lts
如果不是 normal 或 lts,请修改为此项。然后按 Ctrl + X,输入 Y 再按下 Enter 键保存退出。
# 开始升级
sudo do-release-upgrade
# 如果上述命令找不到新版本,可以强制检查
sudo do-release-upgrade -d
使用图形界面升级:
sudo update-manager打开软件更新器。
这个过程会:
登录新系统后,打开终端,验证版本:
lsb_release -a
# 或者
cat /etc/os-release
检查内核版本,应该已经是 6.8.x:
uname -r
# 再次更新软件列表(确保使用 24.04 的源)
sudo apt update
sudo apt upgrade
# 安装新的硬件驱动(非常重要!这对 Linux To Go 在不同电脑上运行有利)
sudo ubuntu-drivers autoinstall
# 最后清理一次
sudo apt autoremove --purge
sudo apt autoclean
# 再次重启
sudo reboot
如果出现类似:EFI 系统分区(ESP)无法使用,没有挂载在 /boot/efi 的问题该如何解决?
这个问题很关键!在升级过程中,如果 EFI 系统分区(ESP)没有正确挂载,会导致引导加载程序(GRUB)无法更新,升级后系统可能无法启动。
解决方案:手动挂载 ESP 分区。
# 查看所有磁盘分区
sudo fdisk -l
# 或者使用 lsblk 查看更清晰的分区结构
lsblk -f
# 查看 EFI 分区是否存在
lsblk -f | grep -i efi
# 检查当前挂载点
df -h | grep -i boot
lsblk -f 命令可能会发现两条跟 EFI 有关的输出:
设备 类型
/dev/nvme0n1p1 … … … … … … EFI 系统
… … /dev/sda2 … … … … ef EFI (FAT-12/16/32)
说明 ESP 分区存在但未挂载,由于 EFI 分区通常是 FAT32 格式,大小在 100-500MB 之间,因此可以认定路径是:/dev/sda2,它的分区类型标记为 ef(EFI 系统分区)。
/dev/nvme0n1 (Windows 系统盘);/dev/sda (Linux 系统盘)。
【拓展】:如何准确识别 EFI 分区?先使用命令 sudo blkid 查看所有分区信息,然后手动查找:
# 创建挂载点目录:
sudo mkdir -p /boot/efi
# 挂载 ESP 分区:
sudo mount /dev/sda2 /boot/efi
# 验证挂载是否成功:
# 查看挂载详情
mount | grep efi
# 检查是否挂载
df -h | grep efi
# 查看 /boot/efi 下文件
ls -la /boot/efi/
取消挂载:
sudo umount /boot/efi
编辑 /etc/fstab 文件,添加 ESP 分区的自动挂载:
# 首先获取 EFI 分区的 UUID
sudo blkid | grep -i efi
# 输出:xxx: UUID="xxxx-xxxx" TYPE="vfat" … PARTLABEL="EFI…"
# 编辑 fstab 文件
sudo nano /etc/fstab
在文件末尾添加(请替换为您的实际 UUID):
UUID=02D3-7915 /boot/efi vfat umask=0077 0 1
测试 fstab 配置:
# 卸载当前挂载
sudo umount /boot/efi
# 测试 fstab 配置(不会实际挂载)
sudo mount -a
# 如果上面的命令没有报错,说明配置正确
# 现在实际挂载
sudo mount /boot/efi
# 验证挂载
mount | grep efi
ls -la /boot/efi/ 命令显示有 EFI 目录,但 ls -la /boot/efi/EFI/ 命令显示只有 BOOT 目录,没有 ubuntu 目录。
正常的 Ubuntu EFI 分区应该包含:
方案:手动创建 EFI 引导文件。
# 确保 EFI 目录存在
sudo mkdir -p /boot/efi/EFI/ubuntu
# 复制现有的 BOOT 引导文件作为 Ubuntu 引导
sudo cp /boot/efi/EFI/BOOT/BOOTx64.EFI /boot/efi/EFI/ubuntu/grubx64.efi
输入命令 df -T / | head -n 2 显示文件系统 /cow 的类型是 overlay,说明运行在 Live USB 持久化模式中,而不是安装在硬盘上的系统。针对 Linux To Go 的解决方案是手动 chroot 修复。
# 更新软件包列表
sudo apt update
# 安装 HWE(硬件启用)内核(推荐)
sudo apt install --install-recommends linux-generic-hwe-22.04
# 或者安装特定版本
sudo apt install linux-image-6.5.0-xx-generic linux-headers-6.5.0-xx-generic
sudo apt update
sudo apt install linux-generic
# 创建临时目录
mkdir ~/kernel-update && cd ~/kernel-update
# 下载内核文件(以 6.8.10 为例,请替换为最新版本)
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.8.10/amd64/linux-headers-6.8.10-060810-generic_6.8.10-060810.202404191035_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.8.10/amd64/linux-headers-6.8.10-060810_6.8.10-060810.202404191035_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.8.10/amd64/linux-image-unsigned-6.8.10-060810-generic_6.8.10-060810.202404191035_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.8.10/amd64/linux-modules-6.8.10-060810-generic_6.8.10-060810.202404191035_amd64.deb
# 安装所有下载的内核包
sudo dpkg -i *.deb
# 更新 GRUB 引导
sudo update-grub
# 重启系统
sudo reboot
# 重启后验证新内核
uname -r
# 查看所有已安装的内核
dpkg -l | grep linux-image
# 删除旧内核(保留当前和上一个版本即可)
# 只会删除不再需要的旧内核,保留当前运行的和最新的
sudo apt autoremove
# 或者手动删除特定旧内核
sudo apt remove linux-image-5.15.0-xx-generic linux-headers-5.15.0-xx-generic
注意:直接删除正在运行的内核可能会导致系统无法启动,特别是对于 Linux To Go 系统。
# 查看内核信息
# 查看当前内核版本
uname -r
uname -a
# 查看所有已安装的内核
dpkg -l | grep linux-image
ls /boot/vmlinuz*
# 查看系统启动选项
cat /boot/grub/grub.cfg | grep menuentry
# 选择启动内核
# 查看 GRUB 菜单项
grep menuentry /boot/grub/grub.cfg
# 设置默认启动内核(以第 3 个菜单项为例)
sudo grub-set-default 2
sudo update-grub
在 Ubuntu 24.04 中,内核为 6.8+,MT7925 网卡应该:
输入命令 lsmod | grep mt792 无输出,说明 MT7925 网卡的驱动没有加载。
首先运行以下命令进行完整诊断:
# 1. 检查网卡硬件是否被系统识别
lspci -v | grep -i -A 10 -B 5 mediatek
# 或
lspci -nn | grep 14c3:
# 2. 检查内核是否检测到网卡
dmesg | grep -i mt792
dmesg | grep -i 14c3:
# 3. 检查驱动模块是否存在
modinfo mt7921e
ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/mediatek/mt76/
# 4. 检查固件文件
ls /lib/firmware/mediatek/ | grep mt792
# 尝试手动加载驱动
sudo modprobe mt7921e
# 检查是否加载成功
lsmod | grep mt792
# 如果成功,设置为开机自动加载
echo "mt7921e" | sudo tee -a /etc/modules
# 查看所有可用的无线驱动模块
find /lib/modules/$(uname -r) -name "*.ko" | grep wireless
# 检查模块依赖关系
modinfo mt7921e | grep depends
# 手动加载依赖模块(如果需要)
sudo modprobe mt76
sudo modprobe mt76-connac-lib
sudo modprobe mt7921-common
sudo modprobe mt7921e
# 验证加载
lsmod | grep mt76
说明新安装的内核没有设置为默认启动项,系统仍然在启动时选择了旧的内核。
# 查看当前运行的内核
uname -r
# 查看系统中所有已安装的内核
dpkg -l | grep linux-image
# 查看 /boot 目录下的内核文件
ls -la /boot/vmlinuz*
# 查看 GRUB 菜单项
grep menuentry /boot/grub/grub.cfg
方法:
# 修改 GRUB 配置永久生效
sudo nano /etc/default/grub
# 将以下行修改为:
GRUB_DEFAULT=0
# 或者
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-xx-generic"
# 更新 GRUB:
sudo update-grub
sudo reboot

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online