`rm -rf / --no-preserve-root` 会弄乱 bios 吗?

Mir*_*ate 35 bios rm uefi

为了查看压缩整个系统的大致速度,然后在系统被 foobar 删除时恢复该系统,我将我们的一个主要系统部分克隆到工作站上,虽然它不是我们公司系统的组成部分,但很适合有运作。我定时创建整个系统的 tarball,并检查它以确保它看起来不错。

我接着跑rm -rf / --no-preserve-root。我以前从来没有机会这样做,所以很有趣。首先。

当我重新启动盒子时,没有任何显示。不是“戴尔”标志,不是 BIOS 选项,什么都没有。

我将驱动器连接到一个不同的盒子,并发现它有一个 UEFI 分区,这让我很懊恼。我假设我的死亡命令有效地控制了那个分区。

我将一个不同的、功能正常的驱动器连接到现已解散的工作站,但工作站仍然什么都不做。

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

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

dro*_*nus 47

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

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

然而,由于一些有缺陷的 UEFI 固件,非易失性消息存储器的一些管理例程被破坏了。根据消息,这些固件在消息存储器初始化时崩溃,通常在启动时很早。它们甚至可能无法达到 VGA 初始化,在这种情况下,机器似乎完全变砖了。在上述情况下,没有软件解决方案,必须更换主板。

rm -rf / --no-preserve-root在遍历和删除内核文件系统时,运行可能会触发另一个内核错误,例如/sys,/dev/proc,这可能最终导致内核崩溃,最终触发上述非易失性消息内存错误。

  • 嗯,这很令人沮丧。但至少这是一个有效的解释。 (5认同)
  • 有关这方面的更多信息,请参见例如 [处理 UEFI 非易失性内存怪癖](https://mjg59.dreamwidth.org/25091.html) 和较早的 [三星笔记本电脑错误不是 Linux 特定的](https: //mjg59.dreamwidth.org/22855.html),均由 Matthew Garrett 撰写。 (4认同)
  • 除非您真的指的是 IBM PC BIOS,否则您能否将“BIOS”一词替换为“固件”等合适的词?这不是我通常会挑剔的事情,但在这种情况下,您确实需要说清楚,因为您在同一个句子中使用 UEFI 和 BIOS 两个词(甚至彼此相邻),这有点令人困惑。 (2认同)

sho*_*hok 27

不,不可能使用该命令以这种方式破坏 BIOS(旧版或 UEFI)。

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

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


Jan*_*nen 10

虽然很有趣,rm -rf /但只能在它自己的小监狱里破坏破坏——这就是它被赋予的分区。它不会弄乱磁盘 MBR,也不会神奇地破坏您的计算机。

您的情况还有其他问题。


小智 8

其他答案似乎同意擦除 BIOS 可能不是您的问题,所以这是另一个想法:

我的电脑在切换到 UEFI 模式时,完全跳过了 BIOS 屏幕。没有制造商的标志,什么都没有。它只是尝试启动并告诉我没有可启动的媒体(或启动)。

如果我记得进入设置的键,我可以在计算机启动时敲击它,我仍然可以进入 BIOS 设置。

如果您知道 BIOS 设置密钥,您可以尝试点击它进入设置,或者相信它确实在工作并将您的 tar 恢复到磁盘,然后尝试启动。使用其他一些 UEFI 可启动媒体并尝试启动它可能会更快,如果它是一个巨大的 tar(Memtest86应该支持 UEFI 启动)。