1

Как я могу загрузить виртуальную машину RHEL, если я удалил /bin/bash? При попытке загрузки я теперь получаю следующую ошибку:

"INIT: Cannot execute "/etc/rc/d/rc.sysinit"

Затем я попытался изменить параметры загрузки ядра, добавив init=/bin/ksh в конце строки, что дало мне функциональную оболочку. После этого, чтобы получить разрешения на запись, я перемонтировал корневой раздел с:

mount -o remount,rw /

Затем я попытался загрузиться, используя ksh в качестве оболочки, обманув систему, заставив ее думать, что это bash:

ln -s /bin/ksh /bin/bash

Затем перезагрузил систему нормально. К сожалению, это не сработало, так как ksh несовместим, а /etc/rc.d/rc.sysinit использует несколько трюков, связанных с bash.

У кого-нибудь еще есть предложения о том, как заставить систему нормально загружаться без переустановки bash?

2 ответа2

2

RHEL использует bash в качестве оболочки по умолчанию. Лучше всего скопировать его обратно. Вы можете использовать DVD или другой носитель для загрузки linux rescue и скопировать /bin /bash в /mnt /sysimage /bin /

Если это виртуальная машина, у вас есть несколько других вариантов:

  1. Есть ли у вас снимок до того, как вы удалили оболочку? Если да, можете ли вы вернуться к снимку?
  2. У вас есть данные или файлы, которые вы не можете себе позволить потерять? Если это относительно новая установка или тестовая установка, самым быстрым решением может стать ее удаление и воссоздание.

Удачи!

2

Лучше всего будет загрузиться с CDROM , а затем:

  • mount / /mount/point (rw)
  • cp /bin/bash /mount/point/bin/bash

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .