为了查看tarballing整个系统的大致速度,然后在foobar变更的时候恢复系统,我把我们的一个主系统部分克隆到了一个工作站上,这个工作站虽然不是我们公司系统的组成部分,有function。 我定时创build整个系统的压缩包,并检查它以确保它看起来不错。
然后我运行rm -rf / --no-preserve-root
。 我以前从来没有这样的机会,所以这很有趣。 首先。
当我重新启动盒子,没有出现。 不是“戴尔”的标志,而不是BIOS的选项,什么都不是。
我将驱动器连接到另一个盒子,发现我的懊恼,它有一个UEFI分区。 我认为我的死亡指令有效地解决了这个问题。
我连接了一个不同的function驱动器到现在已经不存在的工作站,但工作站仍然没有任何东西。
有没有人看到过这样的事情,或有什么build议寻找? 运行rm
命令是如何使得整个盒子变得如此糟糕的?
更新:我们把这个盒子还给了戴尔。 我们无法精确地诊断这是否是巧合,或者是dronus所描述的情况 。 不过,我会接受dronus的回答,因为它描述了这种情况发生的可能原因。 此外,它会警告其他人不要在将来做同样的事情。 如果有人发现戴尔使用越野车UEFI的一些logging,这将是有帮助的。
一个罕见的可能性可能是你引发了一些臭名昭着的UEFI臭虫,已经杀死了一些三星和联想笔记本系列。
它的工作原理如下:UEFI规范提出了一个非易失性内存(nvram或eeprom),操作系统可以访问这些内存来存储设置或debugging信息。 如果内核崩溃,Linux实际上会使用这个特性:如果根文件系统不再受信任(例如在内核代码中发生exception),它将被切换到只读状态。 现在可以使用UEFIfunction,并将debugging信息写入非易失性存储器。 到目前为止,这听起来像是一个好主意:数据可能会在稍后检索并用于探究崩溃的原因。
但是,对于一些错误的UEFI固件,一些非易失性消息存储器的pipe理例程被破坏。 根据消息,这些固件会在初始化消息内存时崩溃,通常在启动时相当早。 他们可能甚至不能达到VGA初始化,在这种情况下,机器似乎完全砖。 在上述情况下,没有软件解决scheme,主板必须更换。
运行rm -rf / --no-preserve-root
可能会在遍历和删除/sys
, /dev
或/proc
等内核文件系统时触发另一个内核错误,最终导致内核崩溃,最终触发非易失性消息内存错误以上。
不,不可能用这种命令以这种方式破坏BIOS(传统或UEFI)。
即使您设法销毁UEFI分区,核心BIOS文件也不会受到影响,因为它们驻留在主板上的非易失性内存(大部分是基于闪存的)上。
UEFI分区托pipe附加的软件组件(例如:debugging器,驱动程序,ecc),但是即使没有有效的UEFI分区,机器也应该引导到BIOS。
rm -rf /
虽然很有趣,但它只能在自己的小监狱内破坏一个破坏 – 那就是它所提供的分区。 它不能搞乱磁盘MBR,也不能神奇地毁掉你的电脑。
你的情况有其他的错误。
其他的答案似乎同意擦拭BIOS可能不是你的问题,所以这里有另一个想法:
我的电脑切换到UEFI模式时,完全跳过BIOS屏幕。 没有制造商的标志,没有什么。 它只是试图启动,并告诉我没有可启动的媒体(或靴子)。
如果我记得进入设置的关键,我可以在计算机出现的时候将其剔除,而且我仍然可以进入BIOS设置。
如果您知道BIOS设置密钥,您可以尝试点击它进入设置,或者相信它实际上正在工作,并将tar恢复到磁盘,然后尝试启动。 使用其他一些其他UEFI可启动媒体可能会更快,并尝试启动,如果它是一个巨大的焦油( Memtest86应该支持UEFI启动)。
/sys/firmware/efi/efivars
是包含所有EFIvariables的特殊文件系统 。 如果供应商没有遵循最佳实践 ,那么您的rm -rf
可能会抹去重要的内容,从而使固件混淆。