上个月,有用户在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笔记本,由于应该也没多少人敢于做出这样的尝试,所以大约也就没有引起重视。
不过一台设备能如此轻而易举地彻底永久毁坏,这仍是个听来很恐怖的事情,即便运行这条命令本身就很愚蠢。
引用来自“lieefu”的评论
小编都不懂技术么?引用来自“catroll”的评论
+1引用来自“开源中国首席辣条代理”的评论
不是小编不懂,是你们懂得不深。efi就是传统bios的演进形式。efi数据是存在主板中的flash上的。不是在硬盘上。数据没了efi就无法引导系统,你的电脑就变成的真正的裸机,无法安装系统。其实这不关linux的事儿,是他们的efi没写好,好的 efi在启动后会通过设置寄存器关闭flash的写功能,以保护数据。
引用来自“catroll”的评论
原来如此。那 EFI 是出于什么理由挂载根目录下呢?有什么作用?如果没有挂载也不至于被删除啊~引用来自“开源中国首席辣条代理”的评论
efi与传统的bios不同,传统bios与os交互是通过int中断。而efi则是直接通过函数调用,这就要求支持efi的os可以识别efi的部分数据结构,找到函数入口。sysfs下面挂的都不是真正的块设备,而是以文件系统方式组织的数据,每次访问sysfs实际是调了一次内核的功能。引用来自“lieefu”的评论
小编都不懂技术么?引用来自“catroll”的评论
+1引用来自“开源中国首席辣条代理”的评论
不是小编不懂,是你们懂得不深。efi就是传统bios的演进形式。efi数据是存在主板中的flash上的。不是在硬盘上。数据没了efi就无法引导系统,你的电脑就变成的真正的裸机,无法安装系统。其实这不关linux的事儿,是他们的efi没写好,好的 efi在启动后会通过设置寄存器关闭flash的写功能,以保护数据。
引用来自“catroll”的评论
原来如此。那 EFI 是出于什么理由挂载根目录下呢?有什么作用?如果没有挂载也不至于被删除啊~引用来自“开源中国首席辣条代理”的评论
efi与传统的bios不同,传统bios与os交互是通过int中断。而efi则是直接通过函数调用,这就要求支持efi的os可以识别efi的部分数据结构,找到函数入口。sysfs下面挂的都不是真正的块设备,而是以文件系统方式组织的数据,每次访问sysfs实际是调了一次内核的功能。引用来自“sto”的评论
BIOS启动信息都删了,BIOS进不了,引导不了硬盘,除非拿专业设备重写BIOS.引用来自“bhzhu203”的评论
BIOS不是只读的么?引用来自“东方星痕”的评论
systemd 默认是挂载efivarfs 有读/写权限的.efivarfs 删掉了, 就启动不了了.
引用来自“左蓝”的评论
我决定试一下。。。。引用来自“lieefu”的评论
小编都不懂技术么?引用来自“catroll”的评论
+1引用来自“开源中国首席辣条代理”的评论
不是小编不懂,是你们懂得不深。efi就是传统bios的演进形式。efi数据是存在主板中的flash上的。不是在硬盘上。数据没了efi就无法引导系统,你的电脑就变成的真正的裸机,无法安装系统。其实这不关linux的事儿,是他们的efi没写好,好的 efi在启动后会通过设置寄存器关闭flash的写功能,以保护数据。
引用来自“catroll”的评论
原来如此。那 EFI 是出于什么理由挂载根目录下呢?有什么作用?如果没有挂载也不至于被删除啊~引用来自“ak_birdofprey”的评论
如果是EFI的问题的话。确实需要重新写主板的EFI引用来自“aizi”的评论
问题是机都启动不了了,如何写引用来自“ak_birdofprey”的评论
厂家刷BIOS的模式吧引用来自“gugu&gigi”的评论
都一样的。现在PC上好像都能在系统中刷新BIOS或UEFI