rm -rf / --no-preserve-root`会使BIOS混乱吗?


35

为了查看打包整个系统的大概速度,然后在系统被愚蠢地还原时恢复该系统,我将部分主要系统克隆到了一个工作站上,该工作站虽然不是我们公司系统所不可或缺的,但对于有功能。我定时创建整个系统的压缩包,并对其进行了检查以确保它看起来不错。

然后我跑了rm -rf / --no-preserve-root。我以前从未有过这样做的机会,所以这很有趣。首先。

当我重新启动盒子时,什么也没出现。不是“ Dell”徽标,不是BIOS的选项,没什么。

我将驱动器连接到另一个盒子,但令我非常恼火的是,它具有UEFI分区。我以为我的《死亡命令》有效地管理了该分区。

我将另一个功能正常的驱动器连接到现已失效的工作站上,但是该工作站仍然无法执行任何操作。

有没有人看到过这样的东西,或者对寻找的东西有建议?运行该rm命令是如何使整个盒子混乱的?

更新:我们将包装盒退还给了Dell。我们无法精确地诊断这是巧合还是dronus所描述的情况。但是,我会接受dronus的回答,因为它描述了发生这种情况的可能原因。此外,它将警告其他人不要在将来做同样的事情。如果有人发现使用错误的UEFI的Dell记录,那将有所帮助。


10
运行该命令时是否已挂载UEFI系统分区?如果不是,则不应受到影响。到那时,您仍然应该能够启动固件。最好的GUESS是它已挂载,您删除了一些引导程序,并且固件仍设置为仅从中加载。尽管如此,您仍应该能够输入固件。
汉尼斯,2015年

@Hennes是的,我很确定它已安装。
MirroredFate 2015年

戴尔什么型号?
Mark Plotnick

@MarkPlotnick XPS8700
MirroredFate

尝试重置CMOS设置。通过移动跳线来完成;您无需取出电池。在downloads.dell.com/Manuals/all-products/esuprt_desktop/…中的第84页。也可以尝试在完成POST后立即按F2,以尝试进入设置屏幕。
Mark Plotnick

Answers:


47

一种罕见的可能性是您触发了一些臭名昭著的UEFI错误,这些错误已经杀死了一系列三星和联想笔记本电脑。

它的工作方式如下:UEFI规范提出了一种非易失性存储器(nvram或eeprom),操作系统可以访问该存储器来存储设置或调试信息。在内核崩溃的情况下,Linux实际上使用了此功能:如果不再信任根文件系统(例如,在内核代码中出现异常之后),则将其切换为只读。现在可以使用UEFI功能,并将调试信息写入非易失性存储器。到目前为止,这听起来似乎是个好主意:以后可以检索数据并用于探究崩溃原因。

但是,由于某些错误的UEFI固件行,非易失性消息存储器的某些管理例程已被破坏。根据消息的不同,这些固件会在初始化消息存储器时崩溃,通常是在启动初期。他们甚至可能没有达到VGA初始化,在这种情况下,机器似乎完全变砖了。在上述情况下,没有软件解决方案,必须更换主板。

运行rm -rf / --no-preserve-root可以触发另一内核错误遍历时和删除内核文件系统,如/sys/dev或者/proc,这可能最终会导致内核恐慌,终于触发非易失性消息存储器错误如上所述。


5
好吧,那令人沮丧。但这至少是一个可行的解释。
MirroredFate 2015年

4
有关此内容的更多信息,请参阅Matthew Garrett的示例,处理UEFI非易失性存储器的怪癖和较早的Samsung笔记本电脑错误不是Linux特定的
CVn 2015年

@MichaelKjörling哇。那违背了我所怀疑的一切。
MirroredFate 2015年

2
除非您真的是说IBM PC BIOS,否则可以将“ BIOS”一词替换为“ firmware”之类的合适词吗?我通常不挑剔,但是在这种情况下,您确实需要弄清楚,因为您在同一句话中(甚至彼此相邻)使用了UEFI和BIOS一词,这有点令人困惑。
Mehrdad 2015年

1
更换。对于大多数人来说,几乎仍然看起来像BIOS的感觉永远都是BIOS ...
dronus

27

否,无法使用该命令以这种方式破坏BIOS(旧版或UEFI)。

即使您在某种程度上设法破坏了UEFI分区,核心BIOS文件也不会受到影响,因为它们位于主板上插槽中的非易失性内存(主要是基于闪存的内存)中。

UEFI分区托管其他软件组件(例如:调试器,驱动程序,ecc),但是即使没有有效的UEFI分区,计算机也应引导至BIOS。


这是我的理解。您是否知道有什么理由可以看到我描述的行为?
MirroredFate 2015年

1
我只能想象工作站的硬件有缺陷,并且解压缩/删除操作所带来的(相对)较高的负载会使它降低。必须尝试重新安置CPU和内存吗?您是否尝试清除CMOS?
shodanshok

1
内存,是的。这很奇怪,因为取出内存甚至都没有导致计算机指示出任何错误。尚未尝试重新设定CPI。尝试清除CMOS,但可能应将电池放置更长的时间。
MirroredFate

虽然如此,但仅通过软件来销毁硬件却极为罕见。一个显着的例外是CRT时代,那里编程时间安排不当可能会损坏CRT的电子设备。但是,情况并非如此:最糟糕的情况是BIOS / UEFI损坏,这并不是真正意义上的硬件破坏。此外,OP尝试了另一个相同的磁盘(具有UEFI分区),并且它什么也没改变。WS硬件可能已经出现故障,并且发出的命令所施加的负载为此而结束。
shodanshok

10

虽然很有趣,rm -rf /但只能在其自己的小监狱内破坏一场灾难-这就是它所给予的分区。它不会破坏磁盘MBR,也不能神奇地破坏您的计算机。

您的情况有其他问题。


真正。不过,可能是UEFI系统的磁盘GPT(没有MBR,但有GPT分区。还有一个UEFI系统分区,通常为FAT32)。
汉尼斯,2015年

1
我会说运行“ rm -rf / --no-preserve-root”仅在理论上很有趣。实际上,一旦删除了一些重要的库,它就会很快退出。
aseq 2015年

1
@aseq实际上,在大多数情况下,程序和库都缓存在内存中,请注意,使用linux可以在程序二进制文件运行时将其删除,它将继续运行直至完成。这实际上可以走得很远。
价2015年

是的,我知道,但是在某些时候它会发声。:-)
aseq

8

其他答案似乎都同意,擦除BIOS可能不是您的问题,因此这是另一种想法:

我的计算机进入UEFI模式后,会完全跳过BIOS屏幕。没有制造商的徽标,没有。它只是尝试引导,并告诉我没有可引导媒体(或引导)。

如果我记得进入设置程序的密钥,则可以在计算机启动时对其进行重击,并且仍然可以进入BIOS设置。

如果您知道BIOS设置键,则可以尝试按一下它以进入设置程序,或者相信它实际上正在运行并将tar恢复到磁盘上,然后尝试启动。如果使用其他一些其他UEFI可启动媒体,并尝试启动它(如果它是一个巨大的tar),则可能会更快(Memtest86应该支持UEFI启动)。


虽然,由于您大概没有遇到“无法启动的媒体”错误,但在这种情况下,dronus的答案可能是您的解决方案。我希望不是!
Sompom

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.