Недавно мне задали следующий вопрос:
Как можно перезагрузить сервер 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
она недоступна.