Ubuntu系统

展开

当前位置:首页>服务器系统>Ubuntu系统

CPU漏洞修复补丁导致Ubuntu 16.04机器无法启动,附修复方案

作者:系统库人气:
有 Ubuntu 16.04 用户反映,他们为接收到 Meltdown 和 Spectre 修复补丁的系统进行更新后,发现无法启动系统,并被迫回滚到使用早期的 Linux 内核。
在 Ubuntu 社区中,我们能看到有大量用户反映了这个问题。目前发现只有使用 Xenial 16.04 系列的 Ubuntu 用户才会受到影响。
所有报告这个问题的用户都表示,升级到内核版本为 4.4.0-108 的 Ubuntu 16.04 后无法启动系统。
CPU漏洞修复补丁导致Ubuntu 16.04机器无法启动,附修复方案
 
Ubuntu 背后的公司 Canonical 于 1 月 9 日部署了 Linux 内核镜像 4.4.0-108,以作为 Ubuntu Xenial 16.04 用户安全更新的一部分。根据 Ubuntu 安全通告 USN-3522-1 和 Ubuntu Wiki 页面,这是提供 Meltdown 和 Spectre 修复补丁的更新。
Canonical 发言人暂未对此问题发表评论,但截至发稿前,看到他们发布了使用 Linux kernel image 4.4.0-109 的两个新的 Ubuntu 16.04 更新[1, 2]。
此前报告出现问题的部分用户表示,新的内核构建工作正常。不过除了升级到最新版本,回滚到使用 4.4.0-104 内核也能修复启动失败的问题。
 
用户尽快升级即可解决问题
Canonical在安全通告上写道:“USN-3522-1修复了Linux内核访问Meltdown(CVE-2017-5754)的漏洞。不过令人感到遗憾的是,本次更新导致少数系统无法正常启动。最新发布的更新已经修复了这个问题。对于给用户造成的不便,我们深表歉意。”

在ubuntu16.04系统下获取glibc的版本号

我的环境是ubuntu16.04系统。
glibc官网
 
方法一、一般来说,涉及到库调用的程序,在链接时候都会链接到glibc,所以,可以用ldd命令来查看:
ghostwu@ubuntu:~/c_program/linux_unix/chapter4$ ldd ./pwd | grep libc
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7c45491000)
ghostwu@ubuntu:~/c_program/linux_unix/chapter4$ /lib/x86_64-linux-gnu/libc.so.6 
GNU C Library (Ubuntu GLIBC 2.23-0ubuntu9) stable release version 2.23, by Roland McGrath et al.
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 5.4.0 20160609.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
.
这个就是我的电脑上glibc的路径:/lib/x86_64-linux-gnu/libc.so.6
 
方法二:man -k glibc,可以找到一个系统函数gnu_get_libc_version,他可以用来获取版本:
ghostwu@ubuntu:~$ man -k libc
cracklib-check (8)   - Check passwords using libcrack2
create-cracklib-dict (8) - Check passwords using libcrack2
curl-config (1)      - Get information about a libcurl installation
error (3)            - glibc error reporting functions
error_at_line (3)    - glibc error reporting functions
error_message_count (3) - glibc error reporting functions
error_one_per_line (3) - glibc error reporting functions
error_print_progname (3) - glibc error reporting functions
glibc (7)            - overview of standard C libraries on Linux
gnu_get_libc_release (3) - get glibc version and release
gnu_get_libc_version (3) - get glibc version and release
libc (7)             - overview of standard C libraries on Linux
ghostwu@ubuntu:~$ man 3 gnu_get_libc_version 
/*===============================================
*   Copyright (C) 2018 . All rights reserved.
*   
*   文件名称:check_glibc_version.c
*   创 建 者:ghostwu(吴华)
*   创建日期:2018年01月10日
*   描    述:获取GNU C库(glibc)的版本号
*
===============================================*/
#include
#include
int main(int argc, char *argv[])
{
printf("glibc's version: %s\n", gnu_get_libc_version() );
return 0;
}
 
方法三、getconf GNU_LIBC_VERSION

优麒麟Ubuntu Kylin用户修复漏洞只需运行update-manager即可

Ubuntu开发商Canonical已经提供了修复Meltdown和Spectre两处漏洞的Linux内核和NVIDIA更新补丁,几乎所有的优麒麟Ubuntu Kylin版本比如Ubuntu Kylin 17.10、Ubuntu Kylin 16.04 LTS和Ubuntu Kylin 14.04 LTS都可以使用,并且修复补丁不会造成系统有任何异常问题。
CPU漏洞修复补丁导致Ubuntu 16.04机器无法启动,附修复方案
 
对于Ubuntu Kylin 17.10操作系统来说,这次官方提供的Linux内核补丁可以同时修复系统的其它四处安全漏洞,但是最重要的是修复眼下影响巨大Meltdown漏洞。Ubuntu开发商Canonical还提供了针对NVIDIA专有显卡驱动程序的更新,解决Spectre缺陷引起的安全漏洞,该漏洞可能允许本地攻击者在Ubuntu Kylin 17.10、Ubuntu Kylin 17.04、Ubuntu Kylin 16.04 LTS和Ubuntu Kylin 14.04 LTS上查阅重要信息,包括内核内存,该补丁还包含相应Linux内核更新的兼容性修补程序。
 
修复方法
Ubuntu Kylin用户可以通过系统自动更新或者运行命令update-manager手动更新到最新系统即完成修复过程。

在Ubuntu上安装并使用YouTube-DL宿主机与Virtual虚拟机之间共享文件夹配置教程KUbuntu 18.04用户现在可以试用KDE Plasma 5.12 LTS桌面给Ubuntu 17.10启动网易云写了个脚本在ubuntu16.04上安装MiniTools在Ubuntu上体验LXD容器Deepin/Ubuntu Android模拟器启动失败Ubuntu下服务器远程连接断开后运行服务关闭的解决办法ubuntu16.04开机登录后蓝屏ubuntu16.04环境Kdevelop安装和汉化

加载全部内容

Ubuntu系统排行