Может ли `rm -rf / --no-preserve-root` испортить биос?

35

Чтобы увидеть приблизительные скорости для тарболирования всей системы, а затем восстановления этой системы, когда она была foobar'd, я частично клонировал одну из наших основных систем на рабочую станцию, которая, хотя и не является неотъемлемой частью систем нашей компании, была бы хороша для иметь функционирование. Я рассчитал создание тарбола для всей системы и проверил его, чтобы убедиться, что он выглядит хорошо.

Я тогда побежал rm -rf / --no-preserve-root. У меня никогда не было возможности сделать это раньше, так что было очень весело. Сначала.

Когда я перезагрузил коробку, ничего не обнаружилось. Не логотип "Dell", не опции для BIOS, ничего.

Я подключил диск к другой коробке и, к своему огорчению, обнаружил, что на нем есть раздел UEFI. Я предполагаю, что моя Команда Смерти эффективно скрывала этот раздел.

Я подключил другой, работающий диск к уже не существующей рабочей станции, но рабочая станция по-прежнему ничего не делает.

Кто-нибудь видел что-нибудь подобное или есть предложения о том, что искать? Как запуск этой rmкоманды так по-королевски испортил всю коробку?

ОБНОВЛЕНИЕ: Мы вернули коробку Dell. Мы не смогли точно диагностировать, было ли это совпадением или ситуацией, описанной Дронусом . Тем не менее, я приму ответ Дронуса, поскольку он описывает возможную причину, по которой это может произойти. Кроме того, это будет предостерегать других от подобных действий в будущем. Если кто-нибудь найдет какую-нибудь запись Dell, использующую глючный UEFI, это было бы полезно.

MirroredFate
источник
10
Был ли установлен системный раздел UEFI во время выполнения этой команды? Если это не так, то это не должно быть затронуто. Именно тогда вы все равно сможете загрузиться до прошивки. лучший GUESS в том, что он был смонтирован, что вы удалили какой-то загрузчик и что прошивка все еще настроена на загрузку только с этого. Тем не менее, вы должны иметь возможность войти в прошивку.
Хеннес
@Hennes Да, я уверен, что он был установлен.
MirroredFate
Какая модель Dell?
Марк Плотник
@MarkPlotnick XPS8700
MirroredFate
Попробуйте сбросить настройки CMOS. Это делается путем перемещения перемычки; вам не нужно вынимать батарею. Страница 84 в downloads.dell.com/Manuals/all-products/esuprt_desktop/… . Также можно попытаться нажать F2, как только он будет выглядеть как POST, чтобы попытаться добраться до экрана настройки.
Марк Плотник

Ответы:

47

Одной из редких возможностей может быть то, что вы вызвали некоторые печально известные ошибки UEFI, которые уже убили некоторые серии ноутбуков Samsung и Lenovo.

Это работает так: спецификации UEFI предлагают энергонезависимую память (nvram или eeprom), к которой ОС может обращаться для хранения настроек или отладочной информации. Linux фактически использует эту функцию в случае паники ядра: если корневая файловая система больше не является доверенной (например, после исключения в коде ядра), она переключается в режим только для чтения. Теперь можно использовать функцию UEFI, а отладочная информация записывается в энергонезависимую память. Пока что это звучит как хорошая идея: данные могут быть извлечены позже и использованы для изучения причин сбоя.

Однако с некоторыми строками с ошибками в UEFI некоторые подпрограммы управления энергонезависимой памятью сообщений не работают. В зависимости от сообщений, эти прошивки аварийно завершаются при инициализации памяти сообщений, как правило, довольно рано при загрузке. Они могут даже не достичь инициализации VGA, и в этом случае машина кажется полностью заблокированной. В вышеупомянутых случаях не было программного решения, и материнские платы пришлось заменить.

Запуск rm -rf / --no-preserve-rootможет вызвать другую ошибку ядра при обходе и удалении файловых систем ядра, таких как /sys, /devили /proc, что может, в конечном итоге, привести к панике ядра, в конечном итоге вызвать ошибку энергонезависимой памяти сообщений, упомянутую выше.

dronus
источник
5
Ну, это удручает. Но это рабочее объяснение, по крайней мере.
MirroredFate
4
Чтобы узнать больше об этом, см., Например, « Устранение причуд в энергонезависимой памяти UEFI» и более ранняя ошибка ноутбука Samsung не зависит от Linux , как Мэтью Гарретт.
CVn
@ MichaelKjörling Wow. Это идет вразрез со всем, что я бы заподозрил.
MirroredFate
2
Можете ли вы заменить слово «BIOS» подходящим словом «прошивка», если вы действительно не имеете в виду IBM PC BIOS? Это не то, к чему я обычно привыкаю, но в этом случае вам действительно нужно прояснить это, потому что вы используете слова UEFI и BIOS в одном предложении (даже рядом друг с другом), что немного запутывает.
Мердад
1
Заменены. Для большинства людей то, что почти все еще выглядит как BIOS и кажется, что BIOS будет BIOS навсегда ...
Дронус
27

Нет, с помощью этой команды невозможно уничтожить BIOS (устаревший или UEFI) таким образом.

Даже если вам в некоторой степени удалось уничтожить раздел UEFI, файлы ядра BIOS не будут затронуты, поскольку они находятся в энергонезависимой памяти (в основном на флэш-памяти), установленной на материнской плате.

Раздел UEFI содержит дополнительные программные компоненты (например, отладчик, драйвер, ecc), но машина должна загружаться в BIOS даже без действительного раздела UEFI.

shodanshok
источник
Это было моим пониманием. Знаете ли вы какие-либо причины, чтобы увидеть поведение, которое я описал?
MirroredFate
1
Я могу только предположить, что рабочая станция имела дефект аппаратного обеспечения и что (относительно) высокая нагрузка, вызванная вашим unntar / delete, сбивает его. Приходилось ли пытаться переставить процессор и память? Вы пытались очистить CMOS?
Шоданшок
1
Память да. Что было странно, потому что даже из-за того, что память вынута, компьютер не обнаружил, что что-то не так. Не пробовал пересадить ИПЦ. Попытался очистить CMOS, но, вероятно, должен оставить батарею дольше.
MirroredFate
Хотя это действительно так, по-настоящему редко можно по-настоящему уничтожить аппаратное обеспечение только с помощью программного обеспечения. Заметное исключение было в эпоху ЭЛТ, где плохо запрограммированные тайминги могли разрушить электронику ЭЛТ. Однако здесь дело обстоит не так: самое худшее - это повреждение BIOS / UEFI, которое в истинном смысле не является разрушением оборудования. Кроме того, OP попробовал другой идентичный диск (с разделом UEFI на месте), и он ничего не изменил. Возможно, аппаратное обеспечение WS уже было неисправно , и нагрузка, вызванная введенной командой, означала для него конец.
Сёданшок
10

В то время как весело, rm -rf /может разрушить только внутри своей маленькой тюрьмы - и это раздел (ы), который он предоставляется. Он не может испортить MBR диска и не может магически уничтожить ваш компьютер.

Что-то еще не так в вашем случае.

Янне Пиккарайнен
источник
Правда. Возможно, дисковый GPT для систем UEFI (без MBR, но с разделом GPT. И системный раздел UEFI, обычно FAT32).
Хеннес
1
Я бы сказал, что запускать «rm -rf / --no-preserve-root» в теории только весело. На практике это происходит достаточно быстро, как только какая-то жизненно важная библиотека была удалена.
Aseq
1
@aseq На самом деле в большинстве случаев программы и библиотеки кэшируются в памяти, обратите внимание, что с помощью linux вы можете удалить двоичный файл программы во время ее работы, и она продолжит работу до завершения. Это на самом деле может получить довольно далеко.
Vality
Да, я знаю, но в какой-то момент это будет раздражение. :-)
Aseq
8

Другие ответы, похоже, согласны с тем, что стирание BIOS, вероятно, не является вашей проблемой, поэтому вот еще одна мысль:

Мой компьютер при переключении в режим UEFI полностью пропускает экран BIOS. Нет логотипа производителя, нет ничего. Он просто пытается загрузиться и говорит мне, что нет загрузочного носителя (или загрузок).

Если я помню ключ для входа в настройку, я могу нажать его, когда компьютер включится, и я все еще могу войти в настройки BIOS.

Если вы знаете ключ настройки BIOS, вы можете попробовать нажать его, чтобы войти в программу установки, или поверить, что он действительно работает и восстановить tar на диск, а затем попытаться загрузиться. Может быть быстрее использовать какой-то другой загрузочный носитель UEFI и попытаться загрузить его, если это огромный tar ( предполагается, что Memtest86 поддерживает загрузку UEFI).

Sompom
источник
Хотя, по-видимому, вы не получаете сообщение об ошибке «нет загрузочного носителя», решение dronus в этом случае может стать вашим решением. Надеюсь нет!
Сомпом