Перезагрузите сервер Linux без смонтированной корневой файловой системы.

Перезагрузите сервер Linux без смонтированной корневой файловой системы.

Недавно мне задали следующий вопрос:

Как можно перезагрузить сервер Linux, если корневая файловая система не смонтирована и вы не можете ее смонтировать (она потеряна), а у вас нет никаких двоичных файлов — есть только root shell?

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

решение1

Если у вас нет корневой файловой системы и, как было указано в вопросе, у вас нет и двоичного кода, я думаю, что echo не будет работать, поэтому единственным решением является аппаратное прерывание клавиатуры с использованием, как и сказал @Pazi, SysRQ Magic Keys.

Для этого вам необходимо сделать: Alt+ Print Screen / SysRq+some key

Здесь это будет: Alt+ Print Screen / SysRq+ b(где bбудетнемедленно перезагрузите систему, не отключая и не синхронизируя файловые системы).

Дополнительные сведения о магических клавишах и их функциях см.Википедия: Волшебная клавиша SysRq. Также обратите внимание, что раскладки, отличные от QWERTY, могут использовать другие физические клавиши.

решение2

Вы можете перезагрузиться с помощью волшебной клавиши sysrq:

echo b > /proc/sysrq-trigger

Для получения более подробной информации читайтевикиилидокументация ядра.

echoтакже является встроенной командой оболочки (мне она известна в bash и dash) и используется, если /bin/echoона недоступна.

Связанный контент