Linux系统中的硬件问题如何排查?(1)
在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工作,即使是经验相当丰富的用户有时也会遇上自己搞不定的状况,本文分享一些实用的技巧与处理方法,希望有助于读者朋友理解、查明并最终搞定硬件难题。
AD:2014WOT全球软件技术峰会北京站 课程视频发布
【51CTO精选译文】这篇教程的诞生过程实在相当纠结。很长时间以来我一直在考虑要不要写这么一篇东西,最主要的原因在于对硬件相关问题进行故障排查可能是计算机管理领域最棘手的工作。即使是经验相当丰富的用户有时也会遇上自己搞不定的状况,并在试图解决那些微妙、古怪、难以捉摸甚至无法确定的软硬件冲突困境时碰上钉子。想在网络上寻找答案?我们找到的很可能是上万个无关主题,最终在空荡荡的论坛上孤独徘徊、耗尽余生。 不过就个人来说,我自认为算是个自负的极客、对技术难题和写作手法都有相当的信心。今天我打算尽量与大家分享一些实用的技巧与处理方法,希望有助于读者朋友理解、查明并最终搞定硬件难题--无论您使用的是Linux设备还是其它什么平台。这篇教程无法保证100%有效,其中的某些方法也可能不太容易掌握,但它还是能起到一些作用。请大家随我一起探寻硬件故障中的奥秘吧。 硬件故障类型 在开始着手诊断硬件问题之前,我们首先需要调整预期、充分了解工作中可能遇到的硬件故障类型,这一点非常重要。最后,大家还必须掌握硬件故障的实际表现形式。 硬件无法工作 最常见的故障源自电子设备中的某一部分发生损坏,但例外情况同样时有发生。如果大家的电源出了问题,设备当然没办法启动,这个道理非常简单。除此之外,显卡、声卡甚至记忆棒都可能在关键时刻挂掉,并带来各种各样的奇怪表现。在这种情况下,系统也许仍能通过BIOS自检并进入操作系统,甚至允许用户进行一定程度的正常操作。而在某些情况下,我们可能会直接感受到设备故障,例如屏幕分辨率突然变得非常低--这肯定是因为显卡驱动程序无法正常工作;或者听音乐时没有声音,那就是声卡的问题。在某些情况下,操作系统还可能直接弹出错误提示信息。 硬件的不稳定性故障 不稳定性是我们面临的最困难、也最不容易确诊的故障类型之一。如果大家的硬件仅有某一部分发生损坏,那么整体设备也许仍能正常运转,只在特定情况下偶尔出现问题。这往往令用户摸不着头脑,无法把异常状况与对应设备联系到一起,从而得出正确结论。另外,即使是同一故障也可能存在多种表现形式,它们彼此之间看似毫无关联,但足以把用户折磨得死去活来。 某些类型的错误甚至不会影响设备的正常功能,但它们却有可能偷偷导致数据损坏或设备整体性能下降。这类问题相当阴险,因为我们往往习惯于将其归罪于操作系统损坏或软件冲突。举例来说,如果我们的记忆棒中存在少数损坏单元,使大家在访问并使用这些存储空间时发生段错误,各位打算怎么办?再有,我们可能会把系统内核崩溃与某些软件挂上钩,但其真正根源或许在于内存故障或总线错误,您想到了吗?另一个很好的例子就是三年前我在自己老款T61设备上遭遇的无线/笔记本问题。我专门用来玩游戏的发烧级台式机还碰到过由地线引发的故障。 固件/驱动程序故障 驱动程序故障常常表现得像是硬件出了问题,但不同之处在于其发作状况比较稳定、不像硬件那样时好时坏。通常情况下,软件问题导致的状况比较一致且能够再现。在某些情况下,我们的驱动程序甚至无法与硬件进行通信;而在另一些情况下,存在bug的驱动程序会令设备以意料之外的方式运作。有时候这类问题还会转化成全局功能缺失,例如内核崩溃、黑屏、白屏以及其它各种奇怪的故障。 其它注意事项 大家还必须意识到,某些系统可能会锁定BIOS以防止我们使用某些硬件组件或功能,或者是出于某种目的而禁用这些组件。在后面的文章中我们将进一步讨论BIOS的相关话题。 最后,大家可能会在无意中将那些设计上存在冲突的硬件组件放在一起工作。某些供应商生产的硬件也许只针对某款特定操作系统,因此我们无法从官方得到任何其它系统平台上的驱动程序支持。不过有些硬件能够与其它产品使用同样的公版驱动程序,例如Lexmark打印机就能完美接纳PCL驱动程序。
Linux系统中的硬件问题如何排查?(1)的更多相关文章
- Linux系统中的硬件问题如何排查?(6)
Linux系统中的硬件问题如何排查?(6) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...
- Linux系统中的硬件问题如何排查?(5)
Linux系统中的硬件问题如何排查?(5) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...
- Linux系统中的硬件问题如何排查?(4)
Linux系统中的硬件问题如何排查?(4) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...
- Linux系统中的硬件问题如何排查?(3)
Linux系统中的硬件问题如何排查?(3) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...
- Linux系统中的硬件问题如何排查?(2)
Linux系统中的硬件问题如何排查?(2) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...
- Linux系统之运行状态分析及问题排查思路
〇.一件事儿 以下分析是站在Java工程师的角度来分析的. 一.CPU分析 分析CPU的繁忙程度,两个指标:系统负载和CPU利用率 1.系统负载分析 系统负载:在Linux系统中表示,一段时间内正在执 ...
- 用户管理 之 Linux 系统中的超级权限的控制
在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...
- Linux系统下查看硬件信息命令大全
导读 有许多命令可以用来查看 Linux 系统上的硬件信息.有些命令只能够打印出像 CPU 和内存这一特定的硬件组件信息,另外一些命令可以查看多种硬件组件的信息. 这个教程可以带大家快速了解一下查看各 ...
- 云服务器 ECS Linux 系统中常见的日志文件介绍
云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 cron ...
随机推荐
- Jenkins pipeline+Maven+Gitlab
参照文档:http://www.cnblogs.com/xiaodai12138/p/9996995.html
- Java重写祖先类方法equals示例
Java中很重要的一个知识点就是所有类都默认继承Object类,所以创建的每一个类都继承了Object的方法,所有类都可以向上转型为Object类对象,当然可以重写Object里面的常用方法,有时候重 ...
- 炼丹的一些trick
采摘一些大佬的果实: 知乎:如何理解深度学习分布式训练中的large batch size与learning rate的关系? https://blog.csdn.net/shanglianlm/ar ...
- python每日一练:0002题
第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. 示例代码: import os import string import random i ...
- VMware下的Centos7联网并设置固定IP(nat)
命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33 如下图所示,加上这四行内容. IPADDR 需要是和网关在同一网段 GATEWAY 参考在虚拟机的na ...
- vue --》elementUI 中 el-table组件 如何实现点击列,让该列高亮显示 ?
在elmentui官网中,只给了让当前行高亮显示的方法,但是如何让当前列高亮显示呢? <template> <div> <el-table :data="tab ...
- 线程间的协作(wait/notify/sleep/yield/join)(五)
一.线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态). New:新建状态,当线 ...
- IDEA 如何批量修改变量名
修改前的变量 System.out.println("bbbbb"); System.out.println("bbbbb"); System.out.prin ...
- Rsync+sersync(inotify)实现数据实时双向同步
目录 Rsync+Sersync数据实时同步(双向) 服务介绍 节点声明 编译环境配置 安装Rsync 编辑Rsync配置文件 配置文件解析 配置密码文件 启动rsync验证 安装sersync服务 ...
- 几个关于json序列化 的注解
一.@JsonProperty 1.此注解用于属性上,作用是把该属性的名称序列化为另外一个名称.例如: @JsonProperty("name") private String N ...