在Linux笔记本上执行这句命令能致设备永久变砖

上个月,有用户在Arch Linux论坛发帖提问,为什么他的笔记本在运行了一个简单的“rm -rf -no-preserve-root /”命令之后就完全没法启动了。有Linux基础的同学应该知道,运行这条命令其实很蠢,但一般并不会产生什么硬件的破坏性结果。但在MSI的笔记本上, 运行这条命令有可能导致彻底清除EFI引导分区。

这 个在论坛上发帖的用户叫“9233”,他在帖子中说:“今天我和我的朋友在一台MSI笔记本上运行了rm -rf -no-preserve-root命令,因为我们想解决Arch安装膨胀的问题。当然我们也可以格式化根分区,然后重新安装Arch。”(后面他提了一 句说,instead we thought it would be fun seeing the GNOME installation die…)

实际上破坏系统的路径在/sys/firmware/efi/efivars,里面存储了采用EFI标准(老旧的BIOS的替代品)启动所需的信息。该文件夹被破坏之后,设备就无法启动了,笔记本正式变砖,不可修复。

GitHub之上就此还发起了讨论,开发者纷纷表示EFI启动数据的目录不应该是完全可写的。运行一句命令就能让硬件变砖这原本就是不合理的。当前该问题似乎仅影响到了MSI笔记本,由于应该也没多少人敢于做出这样的尝试,所以大约也就没有引起重视。

不过一台设备能如此轻而易举地彻底永久毁坏,这仍是个听来很恐怖的事情,即便运行这条命令本身就很愚蠢。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-09-19 17:35:56

在Linux笔记本上执行这句命令能致设备永久变砖的相关文章

在Linux笔记本上执行这句命令就能导致设备永久变砖

  上个月,有用户在Arch Linux论坛发帖提问,为什么他的笔记本在运行了一个简单的"rm -rf -no-preserve-root /"命令之后就完全没法启动了.有Linux基础的同学应该知道,运行这条命令其实很蠢,但一般并不会产生什么硬件的破坏性结果.但在MSI的笔记本上, 运行这条命令有可能导致彻底清除EFI引导分区. 这个在论坛上发帖的用户叫"9233",他在帖子中说:"今天我和我的朋友在一台MSI笔记本上运行了rm -rf -no-pres

Linux操作系统上去掉文件属性的命令

chattr -ais /bin/netstat 当修改设置了'A'属性的文件时,它的atime记录不会改变. 这可以在笔记本电脑系统中避免某些磁盘I/O处理.设置了`a'属性的文件只能在添加模式下打开用于写入. 只有超级用户可以设置或清除该属性.设置了`c'属性的文件在磁盘上由内核自动进行压缩处理. 从该文件读取时返回的是未压缩的数据. 对该文件的一次写入会在保存它们到磁盘之前进行数据压缩.设置了`d'属性的文件不能对其运行 dump(8) 程序进行备份.设置了`i'属性的文件不能进行修改:你

Linux Shell远程执行命令(命令行与脚本方式)

shell远程执行: 经常需要远程到其他节点上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了.一下介绍两种shell命令远程执行的方法. 前提条件: 配置ssh免密码登陆 对于简单的命令: 如果是简单执行几个命令,则: ssh user@remoteNode "cd /home ; ls" 基本能完成常用的对于远程节点的管理了,几个注意的点: 双引号,必须有.如果不加双引号,第二个ls命令在本地执行 分号,两个命令之间用分号隔开 对于脚

java ssh linux-java实现ssh登录远程Linux服务器并在该服务器上执行命令的问题

问题描述 java实现ssh登录远程Linux服务器并在该服务器上执行命令的问题 请教高手: 现在要使用java实现ssh登录远程Linux服务器并在该服务器上执行命令,获得执行命令的结果!由于采用的ssh登录方式是使用公钥密钥对的形式,不需要输入密码.所以如果正常的话可以直接执行,能很快得到结果. 但要是不小心出现问题,比如公钥密钥丢失等情况,就会需要输入密码,这时候程序就会一直停留在等待输入密码的那一步,无法继续执行下去. 现在假设发生了后面那种事情(需要输入密码,程序一直停留在等待密码),

io-java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读

问题描述 java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读 [INFO ] 2015-09-23 11:22:06,691 [threadPoolTaskExecutor-41] com.sto.pdaplatform.module.rediscommon.core.ParseObjectFactory.getParseObjFactory(ParseObjectFactory.java:27) >>> the original data is

利用ganymed-ssh2远程执行其它Linux机器上的shell命令

实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上的程序,利用ssh协议可以方便的满足这一需求.事实上hadoop架构中,从nn上启动dn时,就是利用了免密码ssh登录.ganymed-ssh2是一个实现了ssh协议的开源项目,项目地址为:http://ganymed-ssh-2.googlecode.com/ (下载源码要翻强,众所周知的原因),如果只是使用的话,pom.xml添加以下依赖项就行了: 1 <dependency> 2 <groupId>ch.

如何在linux上分享你shell命令的输出

如何在linux上分享你shell命令的输出 前段时间我发布了一篇关于shelr.tv这个网站的文章,它提供一个服务允许你从网站上直接分享你的终端记录. 现在shelr.tv这个网站似乎关闭了,然后我四处寻找是否有类似的网站,于是我发现了commands.com. 从它的主页上来看,它的服务和其他网站提供的服务是类似的,因此让我们来测试它. 步骤 1 – 在网站上注册 只需要注册一个新的 用户名/密码,或者直接使用你的github账户快速登录. 步骤 2 – 下载安装monitor程序 Moni

linux定时执行任务crontab命令使用详解

在vps中很常见的一个用法就是定时执行任务,定时执行任务可以减少人为工作量,提高效率.linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务的命令:crontab 命令. linux定时执行任务简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务

在Linux命令终端中查看和编辑曾执行过的命令

  history history 命令可以用来显示曾执行过的命令,也可以根据显示的治疗来重新执行需要的命令 n 显示n个最近的记录 -a 添加记录 -r 读取记录,但不会添加内容记录 -w 覆盖原有的history 文件 -c 清除记录 -d<编号>[n] 删除指定n条记录 -n<文件> 读取指定文件 -r<文件> 读取文件但不记录 -w<文件> 覆盖原有文件 例1 代码如下: [root@redhat ~]# history #查看所有执行过的命令 1