Ubuntu: software backup and reinstall

本文介绍了一种简便的方法来备份当前系统中的已安装软件包列表,并提供了详细的步骤来实现这一过程。通过几个简单的命令即可完成备份,再利用这些备份文件进行系统重新安装后的软件恢复。
Recovery
A quick way of backing up a list of programs is to run this:
dpkg --get-selections > ~/Package.list
sudo cp /etc/apt/sources.list ~/sources.list
sudo apt-key exportall > ~/Repo.keys
***********
It will back them up in a format that dpkg can read for after your reinstall, like this:
sudo apt-key add ~/Repo.keys
sudo cp ~/sources.list /etc/apt/sources.list
sudo apt-get update
sudo apt-get install dselect
sudo dpkg --set-selections < ~/Package.list
sudo apt-get dselect-upgrade -y

<think> 我们遇到了新的问题:使用`ubuntu-drivers devices`没有输出,且`sudo ubuntu-drivers autoinstall`提示"No drivers found for installation"。这表明系统无法自动检测到NVIDIA显卡或可用的驱动。 ### 问题分析 1. **硬件识别问题**:系统可能未正确识别NVIDIA显卡。 2. **驱动源配置问题**:软件源中可能缺少NVIDIA驱动的仓库。 3. **安全启动(Secure Boot)干扰**:部分系统启用安全启动会阻止加载第三方驱动。 ### 解决方案 #### 步骤1:确认硬件识别 ```bash # 检查PCI设备中的NVIDIA显卡 lspci -nn | grep -i nvidia # 若没有输出,尝试: lspci | grep -i vga # 查看所有显卡 ``` - **若有输出**:记录设备ID(例如:[10de:2206]),用于后续手动安装。 - **若无输出**:需检查硬件连接或BIOS设置(如是否禁用独显)。 #### 步骤2:手动添加驱动仓库 ```bash # 添加官方NVIDIA驱动PPA sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 再次检测可用驱动 ubuntu-drivers devices ``` #### 步骤3:手动指定驱动版本安装 若添加PPA后仍无输出,根据显卡型号手动选择驱动: ```bash # 查看支持的驱动版本(示例) apt search nvidia-driver # 安装推荐版本(例如470) sudo apt install nvidia-driver-470 ``` #### 步骤4:禁用安全启动 ```bash # 检查安全启动状态 mokutil --sb-state # 若启用,需在BIOS中禁用或通过以下步骤: sudo mokutil --disable-validation # 根据提示设置密码,重启后进入MOK管理界面选择禁用 ``` #### 步骤5:安装后处理 ```bash # 重启系统 sudo reboot # 验证 nvidia-smi ``` ### 故障排查表 | 现象 | 可能原因 | 解决方向 | |------|----------|----------| | `lspci`无显卡信息 | 硬件未连接/BIOS禁用 | 检查物理连接,BIOS启用PCIe显卡 | | PPA添加后仍无驱动 | 网络问题/仓库错误 | 更换apt源,确认PPA可用性 | | 安装后驱动不加载 | 安全启动阻止 | 禁用Secure Boot | | 安装过程报错 | 依赖冲突 | 执行`sudo apt --fix-broken install` | ### 驱动安装逻辑图 ```mermaid graph LR A[硬件识别] -->|成功| B[自动检测驱动] A -->|失败| C[手动添加PPA] B --> D[自动安装] C --> D D --> E[重启验证] E --> F{驱动加载?} F -->|是| G[完成] F -->|否| H[检查Secure Boot] H --> I[禁用安全启动] I --> E ``` §§相关问题§§ 1. 如何通过PCI设备ID确定NVIDIA显卡对应的驱动版本? 2. Ubuntu系统中添加PPA仓库的安全风险有哪些? 3. 安全启动(Secure Boot)如何影响NVIDIA驱动加载? 4. 当apt安装驱动出现依赖冲突时应如何解决? 5. 没有互联网连接的情况下如何离线安装NVIDIA驱动? </think> 根据当前情况,系统无法自动检测到适用的NVIDIA驱动(`No drivers found for installation`),需要手动排查安装。以下是完整的解决方案: ### 问题诊断与解决方案 #### 1. 确认硬件识别状态 ```bash # 检查显卡是否被系统识别 lspci -nn | grep -i nvidia # 若有输出(示例): # 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106 [GeForce RTX 2060] [10de:1f08] (rev a1) ``` - **无输出**:需检查硬件连接和BIOS设置 - **有输出**:记录设备ID(如`10de:1f08`) #### 2. 添加官方驱动仓库 ```bash # 添加Graphics Drivers PPA sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 再次检测驱动 ubuntu-drivers devices ``` #### 3. 手动选择驱动版本 若仍无自动推荐,根据显卡型号选择: ```bash # 查看可用驱动包 apt search ^nvidia-driver # 安装适合的版本(以470为例) sudo apt install nvidia-driver-470 ``` #### 4. 处理Secure Boot问题 ```bash # 检查Secure Boot状态 mokutil --sb-state # 若为enabled,需禁用或配置: sudo mokutil --disable-validation # 按提示设置密码,重启后在蓝色MOK界面选择禁用验证 ``` #### 5. 强制安装并重建initramfs ```bash # 完整安装流程 sudo apt install --reinstall nvidia-driver-470 nvidia-utils-470 sudo apt install linux-headers-$(uname -r) sudo update-initramfs -u sudo reboot ``` ### 特殊场景处理方案 #### 离线安装(无网络时) 1. 下载驱动包:从[NVIDIA官网](https://www.nvidia.com/Download/index.aspx)获取.run文件 2. 关闭图形界面:`sudo systemctl isolate multi-user.target` 3. 运行安装:`sudo sh NVIDIA-Linux-x86_64-470.199.02.run` 4. 重建initramfs:`sudo update-initramfs -u` #### 企业级显卡支持 ```bash # 对于Quadro/Tesla等专业卡 sudo apt install nvidia-headless-470 nvidia-utils-470 ``` ### 验证流程 ```mermaid graph TD A[安装完成] --> B[验证驱动加载] B -->|lsmod grep nvidia| C{有输出?} C -->|是| D[检查设备节点] C -->|否| E[查看dmesg日志] D -->|/dev/nvidia*存在| F[nvidia-smi验证] D -->|节点缺失| G[执行nvidia-modprobe] ``` ### 驱动安装状态对照表 | 状态 | 检查命令 | 正常结果 | |------|----------|----------| | 内核模块 | `lsmod \| grep nvidia` | 显示nvidia/nvidia_uvm等模块 | | 设备节点 | `ls /dev/nvidia*` | 至少包含nvidia0/nvidiactl | | 工具集 | `which nvidia-smi` | 返回/usr/bin/nvidia-smi | | 日志验证 | `dmesg \| grep -i nvidia` | 无严重错误提示 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值