导读

上个月,有用户在Arch Linux论坛发帖提问,为什么他的笔记本在运行了一个简单的“rm -rf -no-preserve-root /”命令之后就完全没法启动了。

Arch用户所遇见的问题

一月初,用户发布的Arch Linux的论坛发帖问他自己的笔记本电脑上运行一个单一的“rm -rf -no-preserve-root /”命令后怎么变砖了。但是,这命令众所周知是删除当前安装的Linux,没有别的作用,但是,后来当他试图进入BIOS ,屏幕熄灭,硬盘灯点亮了一秒钟,BIOS没有启动。

好了,世界上没有一个和Arch Linux的用户论坛 9233 用户据有相同经历的例子。

可能性的分析

该用户的主板是现在主流的uefi,而 archlinux 的初始化init是systemd,systemd默认是挂载efivarfs给予读/写权限的,该用户想快速格式化系统就直接执行了传说中的rm -rf / 命令,直接导致一路向下格式化到他的主板底层模块,也就意味着整个主板报废,同时也宣告他的电脑就此报废,另外已经确定这不是机器的bug,所有用uefi启动的电脑都会有这个问题。

让我们用图片来还原一下过程 :

外星人降级bIOS自动升级_初始化

外星人降级bIOS自动升级_外星人降级bIOS自动升级_02

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

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

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