Ubuntu误删libaudit.so.1 导致系统无法正常使用、崩溃

误删libaudit.so.1 导致ubuntu无法正常使用

Ubuntu 系统因为 libaudit.so.1 被删除,现在很多关键命令都无法执行,包括 sudosumountsystemctl,这是因为 audit 库是很多系统组件运行的底层依赖。普通方式安装或修复现在都不能用,所以我们需要用手动方式恢复库

方法:用救援模式或 Live ISO 恢复(推荐)

  1. 关闭虚拟机。

  2. 挂载 Ubuntu Live ISO(和原ubuntu 系统同版本最好,比如 ubuntu-24.04.3-desktop-amd64.iso)。

  3. VMware 的虚拟机选项 - 设置 - CD/DVD - 使用ISO映像文件,找出与原系统同一版本映像。

  1. 启动虚拟机并选择安装选项

启动虚拟机,选择 Try and Install ubuntu(安装 Ubuntu Server)。

  1. 进入救援模式

在安装界面加载 or 语言选择界面 ,按 Ctrl + Alt + F2Ctrl + Alt + F3,切换到命令行控制台。在控制台中,你将进入一个最小的 shell 环境,可以执行修复操作。

bash 复制代码
# 若显示以下内容,则表示已经进入了Live/Rescue shell 环境,可以在这里修复系统
ubuntu login:

接下来就是标准的挂载 +chroot+ 重新安装库流程

bash 复制代码
ubuntu login: ubuntu
Password:   ← 直接回车
sudo -i  # 登陆后,切换到 root
# 现在应该看到 # 提示符,表示已经是 root
  1. 挂载原系统分区

    • 使用以下命令查看磁盘分区:
    bash 复制代码
    # 先查看磁盘分区
    lsblk
    • 找到你的 Ubuntu 根分区,例如 /dev/sda2(大小一般最大),记住这个名字。
    bash 复制代码
    # 假设你的根分区是 /dev/sda2,执行以下命令挂载
    # 由于`libaudit.so.1` 被删除,sudo可能会失效,去掉sudo 即可。
    mkdir /mnt/fixroot
    mount /dev/sda2 /mnt/fixroot
    • 挂载必要的虚拟文件系统,以便 chroot 能正常工作:
    bash 复制代码
    mount --bind /dev /mnt/fixroot/dev
    mount --bind /proc /mnt/fixroot/proc
    mount --bind /sys /mnt/fixroot/sys
  2. 进入 chroot 环境

  • 执行以下命令进入 chroot 环境:
bash 复制代码
sudo chroot /mnt/fixroot # 在 chroot 环境中,可以像在原系统中一样执行命令。
  1. 重新安装缺失的库

    • 现在是在 Live / Rescue ISO 下的环境 , 网络可能没有自动启用,或者没有正确配置 DNSchroot 内也会继承当前网络,如果网络不通,apt-get update 会失败。
    bash 复制代码
    # 先在 Live 系统中测试网络
    ping -c 4 8.8.8.8 # 如果能 ping 通,说明网络可达。
    # 测试 DNS:
    ping -c 4 archive.ubuntu.com
    # 如果能 ping IP 但 ping 域名不通,说明是 DNS 问题, 临时使用 Google DNS
    echo "nameserver 8.8.8.8" > /etc/resolv.conf
    # 然后再尝试 apt-get update, 成功通过。
    
    # 更新软件源和包列表:
    apt-get update
    # 若软件源更新失败,可能是
    # 重新安装 libaudit1 和 libauparse0:
    apt-get install --reinstall libaudit1 libauparse0
    # 更新动态链接库缓存:
    ldconfig
    # 检查库文件是否恢复:
    ls -l /lib/x86_64-linux-gnu/libaudit.so.1*
  2. 退出 chroot 并卸载分区

bash 复制代码
exit
umount /mnt/fixroot/dev
umount /mnt/fixroot/proc
umount /mnt/fixroot/sys
umount /mnt/fixroot
  1. 重启系统
bash 复制代码
reboot
# 记得在 VMware 设置里拔掉 ISO 或调整启动顺序,否则会重新进入安装界面。
  1. 若重启后进入GRUB菜单,说明 libaudit.so.1 已经恢复,系统可以启动了,但现在进入了 Recovery Menu
  • 手动进入:开机时按住 ShiftEsc(具体取决于 BIOS / UEFI

  • 进入 GRUB 菜单 → Advanced options for Ubuntu

  • 选择带 (recovery mode) 的项

先启用网络(可选,但有助于修复包):在 Recovery Menu 选择 network → 会启用网络,完成后返回菜单。

修复包(可选,但安全):选择 dpkg → 系统会检查并尝试修复损坏的包。

正常启动系统:选择 resume → 系统会像正常启动一样进入 Ubuntu 登录界面。

相关推荐
wj3055853788 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
abigriver8 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU9 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup10 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y10 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙52011 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇12 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏12 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展