Может ли `rm -rf / --no-preserve-root` испортить биос?
Чтобы увидеть приблизительные скорости для тарболирования всей системы, а затем восстановления этой системы, когда она была foobar'd, я частично клонировал одну из наших основных систем на рабочую станцию, которая, хотя и не является неотъемлемой частью систем нашей компании, была бы хороша для иметь функционирование. Я рассчитал создание тарбола для всей системы и проверил его, чтобы убедиться, что он выглядит хорошо.
Я тогда побежал rm -rf / --no-preserve-root
, У меня никогда не было возможности сделать это раньше, так что было очень весело. Вначале.
Когда я перезагрузил коробку, ничего не обнаружилось. Не логотип "Dell", не опции для BIOS, ничего.
Я подключил диск к другой коробке и, к своему огорчению, обнаружил, что на нем есть раздел UEFI. Я предполагаю, что моя Команда Смерти эффективно скрывала этот раздел.
Я подключил другой, работающий диск к уже не существующей рабочей станции, но рабочая станция по-прежнему ничего не делает.
Кто-нибудь видел что-нибудь подобное или есть предложения о том, что искать? Как это работает rm
Команде удалось так по-королевски испортить всю коробку?
ОБНОВЛЕНИЕ: Мы вернули коробку Dell. Мы не смогли точно диагностировать, было ли это совпадением или ситуацией, описанной Дронусом. Тем не менее, я приму ответ Дронуса, поскольку он описывает возможную причину, по которой это произойдет. Кроме того, это будет предостерегать других от подобных действий в будущем. Если кто-нибудь найдет какую-нибудь запись Dell, использующую глючный UEFI, это было бы полезно.
5 ответов
Одной из редких возможностей может быть то, что вы вызвали некоторые печально известные ошибки UEFI, которые уже убили некоторые серии ноутбуков Samsung и Lenovo.
Это работает так: спецификации UEFI предлагают энергонезависимую память (nvram или eeprom), к которой ОС может обращаться для хранения настроек или отладочной информации. Linux фактически использует эту функцию в случае паники ядра: если корневая файловая система больше не является доверенной (например, после исключения в коде ядра), она переключается в режим только для чтения. Теперь можно использовать функцию UEFI, а отладочная информация записывается в энергонезависимую память. Пока что это звучит как хорошая идея: данные могут быть извлечены позже и использованы для изучения причин сбоя.
Однако с некоторыми строками с ошибками в UEFI некоторые подпрограммы управления энергонезависимой памятью сообщений не работают. В зависимости от сообщений, эти прошивки аварийно завершаются при инициализации памяти сообщений, как правило, довольно рано при загрузке. Они могут даже не достичь инициализации VGA, и в этом случае машина кажется полностью заблокированной. В вышеупомянутых случаях не было программного решения, и материнские платы пришлось заменить.
Бег rm -rf / --no-preserve-root
может вызвать другую ошибку ядра при обходе и удалении файловых систем ядра, таких как /sys
, /dev
или же /proc
Это, в конечном итоге, может привести к панике в ядре и, наконец, к ошибке энергонезависимой памяти сообщений, упомянутой выше.
Нет, с помощью этой команды невозможно уничтожить BIOS (устаревший или UEFI) таким образом.
Даже если вам в некоторой степени удалось уничтожить раздел UEFI, файлы ядра BIOS не будут затронуты, так как они находятся в энергонезависимой памяти (в основном на флэш-памяти), установленной на материнской плате.
Раздел UEFI содержит дополнительные программные компоненты (например, отладчик, драйвер, ecc), но машина должна загружаться в BIOS даже без действительного раздела UEFI.
Пока весело, rm -rf /
может разрушить только его собственную маленькую тюрьму - и это раздел (ы), который ему дан. Он не может испортить MBR диска и не может магически уничтожить ваш компьютер.
Что-то еще не так в вашем случае.
Другие ответы, похоже, согласны с тем, что стирание BIOS, вероятно, не является вашей проблемой, поэтому вот еще одна мысль:
Мой компьютер при переключении в режим UEFI полностью пропускает экран BIOS. Нет логотипа производителя, нет ничего. Он просто пытается загрузиться и говорит мне, что нет загрузочного носителя (или загрузок).
Если я помню ключ для входа в настройку, я могу нажать его, когда компьютер включится, и я все еще могу войти в настройки BIOS.
Если вы знаете ключ настройки BIOS, вы можете попробовать нажать его, чтобы войти в программу установки, или поверить, что он действительно работает и восстановить tar на диск, а затем попытаться загрузиться. Может быть быстрее использовать какой-то другой загрузочный носитель UEFI и попытаться загрузить его, если это огромный tar ( Memtest86 должен поддерживать загрузку UEFI).
/sys/firmware/efi/efivars
это специальная файловая система, содержащая все переменные EFI. Если поставщик не следовал рекомендациям, возможно, ваш rm -rf
вытерли важные и тем самым перепутали прошивку.