Ubuntu 20.04安装linux-image-5.15.0-89-generic时遇权限错误求助
Ubuntu 20.04安装linux-image-5.15.0-89-generic时遇权限错误求助
你好,从你提供的操作过程和错误信息来看,核心问题是dpkg无法向/boot目录写入文件,提示unable to open '/boot/vmlinuz-5.15.0-89-generic.dpkg-new': Operation not permitted,这通常和/boot分区的挂载状态、权限设置或者安全模块限制有关,我整理了几个逐步排查的解决方案,你可以依次尝试:
一、检查/boot分区是否为只读挂载
首先确认/boot分区是不是被意外设置成了只读模式,这会直接导致无法写入文件:
mount | grep /boot
如果输出里包含ro字样,说明是只读挂载,执行以下命令重新挂载为读写模式:
sudo mount -o remount,rw /boot
挂载完成后,再次运行修复命令:
sudo apt --fix-broken install
二、修复/boot目录及文件的权限设置
有时候/boot目录的权限被误修改,导致dpkg没有写入权限,先检查当前权限:
ls -ld /boot
正常情况下,权限应该是drwxr-xr-x,所有者和组都是root。如果权限不符,执行以下命令修正:
sudo chmod 755 /boot sudo chown root:root /boot
同时检查/boot下现有内核文件的权限,确保所有者也是root:
ls -l /boot/vmlinuz*
三、临时禁用AppArmor(如果系统启用了它)
AppArmor的安全策略有时候会干扰dpkg的正常操作,可以临时禁用试试:
sudo systemctl stop apparmor sudo systemctl disable apparmor
完成内核安装后,记得重新启用AppArmor:
sudo systemctl enable apparmor sudo systemctl start apparmor
四、手动解压并安装deb包
如果上面的方法都无效,可以尝试手动处理这个内核deb包:
- 找到deb包的路径:
/var/cache/apt/archives/linux-image-5.15.0-89-generic_5.15.0-89.99~20.04.1_amd64.deb - 创建临时目录并解压deb包:
mkdir -p ~/temp_kernel_deb sudo dpkg-deb -x /var/cache/apt/archives/linux-image-5.15.0-89-generic_5.15.0-89.99~20.04.1_amd64.deb ~/temp_kernel_deb
- 手动复制解压后的内核文件到/boot目录:
sudo cp ~/temp_kernel_deb/boot/vmlinuz-5.15.0-89-generic /boot/ sudo cp ~/temp_kernel_deb/boot/initrd.img-5.15.0-89-generic /boot/ sudo cp ~/temp_kernel_deb/boot/System.map-5.15.0-89-generic /boot/ sudo cp ~/temp_kernel_deb/boot/config-5.15.0-89-generic /boot/
- 最后让dpkg完成配置:
sudo dpkg --configure -a
另外,也可以顺便检查一下/boot分区的剩余空间是否足够:
df -h /boot
备注:内容来源于stack exchange,提问作者lee_in_wv
相关产品推荐
相关产品推荐

