Целевая файловая система не имеет запрашиваемого /sbin/init. /bin/sh: 0: Невозможно открыть splash – Ubuntu 15.04

Вопрос или проблема

У меня есть машина с Ubuntu 15.04. Я установил Docker на эту машину. После установки я пытался запустить тестовый образ Docker, который идет по умолчанию. Но он не запустился. Тогда я попытался выключить машину.

Но машина не выключалась. Она просто зависла и потребляла все ресурсы процессора. Я ждал 10-15 минут, но состояние не изменилось, и ничего не произошло. Поэтому я решил выключить машину, нажав и удерживая кнопку включения на ноутбуке. Таким образом, машина отключилась.

После этого события теперь, когда я пытаюсь загрузиться в машину, она выдает следующую ошибку во время загрузки.

Целевая файловая система не имеет запрашиваемого /sbin/init.
/bin/sh: 0: Невозможно открыть splash
[4.458446] Kernel panic - not syncing: Попытка убить init! exitcode=0x00007f00
[4.458479] CPU: 1 PID: 1 Comm: sh не запятнан 3.13.0-46-generic #79-Ubuntu

У машины установлены три операционные системы: Windows, Centos, Ubuntu-15.04.

Я пробовал решение с fsck на загрузочном устройстве через сетевую загрузку. Но это не решило проблему.

Я не знаю, является ли пакет Docker частью проблемы. Это могло быть связано с установкой любого пакета.

Вывод команды fsck следующий:

$ fsck /dev/sda5
fsck от util-linux 2.25.2
e2fsck 1.42.12 (29-авг-2014)
/dev/sda5: чисто, 885843/1313280 файлов, 3569836/5242880 блоков.

Я также пробовал опцию -f команды fsck, вывод для этого следующий:

 
$ fsck /dev/sda5 -f
fsck /dev/sda5 -f
fsck от util-linux 2.25.2
e2fsck 1.42.12 (29-авг-2014)
Проход 1: Проверка индексов, блоков и размеров
Проход 2: Проверка структуры каталогов
Проход 3: Проверка связности каталогов
Проход 4: Проверка ссылочных счетчиков
Проход 5: Проверка информации об итогах групп
/dev/sda5: 885843/1313280 файлов (0.1% несмежных), 3569836/5242880 блоков

Запуск команды fdisk -l выводит следующее сообщение, а также данные об устройстве.

Раздел 5 не начинается на границе физического сектора.

Я смонтировал устройство с помощью команды mount -o ro /dev/sda5 /media/boot.
Вывод команды ls -l /media/boot следующий:

всего 116
drwxr-xr-x   2 root root  4096 Янв 26 07:01 bin
drwxr-xr-x   3 root root  4096 Дек 26 07:10 boot
drwxr-xr-x   2 root root  4096 Янв  4  2015 cdrom
drwxr-xr-x   4 root root  4096 Апр 17  2014 dev
drwxr-xr-x 164 root root 12288 Янв 26 07:04 etc
drwxr-xr-x   2 root root  4096 Янв  4  2015 home
lrwxrwxrwx   1 root root    33 Фев 27  2015 initrd.img -> boot/initrd.img-3.13.0-46-generic
lrwxrwxrwx   1 root root    33 Фев  4  2015 initrd.img.old -> boot/initrd.img-3.13.0-45-generic
drwxr-xr-x  25 root root  4096 Янв 26 07:01 lib
drwxr-xr-x   2 root root  4096 Дек 26 06:49 lib32
drwxr-xr-x   2 root root  4096 Дек 26 06:28 lib64
drwx------   2 root root 16384 Янв  4  2015 lost+found
drwxr-xr-x   3 root root  4096 Янв  4  2015 media
drwxr-xr-x   2 root root  4096 Апр 10  2014 mnt
drwxr-xr-x   6 root root  4096 Окт  2 14:15 opt
drwxr-xr-x   2 root root  4096 Апр 10  2014 proc
drwx------  11 root root  4096 Янв 26 10:30 root
drwxr-xr-x  12 root root  4096 Апр 17  2014 run
drwxr-xr-x   2 root root 12288 Янв 26 07:03 sbin
drwxr-xr-x   2 root root  4096 Апр 17  2014 srv
drwxr-xr-x   2 root root  4096 Мар 13  2014 sys
drwxrwxrwt   6 root root  4096 Янв 26 22:01 tmp
drwxr-xr-x  11 root root  4096 Окт  2 14:14 usr
drwxr-xr-x  15 root root  4096 Янв  9 02:05 var
lrwxrwxrwx   1 root root    30 Фев 27  2015 vmlinuz -> boot/vmlinuz-3.13.0-46-generic
lrwxrwxrwx   1 root root    30 Фев  4  2015 vmlinuz.old -> boot/vmlinuz-3.13.0-45-generic

Как мне это исправить?

Похоже, что ваш файл /sbin/init поврежден, так как вы пытались принудительно выключить систему.

Одно, что вы можете сделать:

  1. Создайте загрузочную флешку с той же версией 15.04, используя unetbootIn или Создатель дисков для запуска
  2. Подключите ее к вашему ПК и загрузитесь с этой флешки
  3. Выберите опцию попробовать Ubuntu без установки
  4. Здесь найдите раздел, на котором установлена ваша 15.04, это может быть /dev/sda1 до n. Там нам нужно полностью заменить /sbin на /sbin из источника установки.

Вы можете использовать команду sudo mv для этого, после замены /sbin перезагрузите вашу систему.

Это сработает 🙂

Я использовал unetbootin, чтобы исправить эту проблему, теперь она работает как ракета.
Я просто создал загрузочную флешку, вошел в систему под учетной записью по умолчанию, удалил /sbin из файловой системы по умолчанию и заменил его на мой основной /sbin.

Пожалуйста, сделайте это под root.
Так просто.
Ура! Она работает.

Ответ или решение

Проблема, с которой вы столкнулись, связана с повреждением файловой системы, особенно с файлом /sbin/init, после неоправданного завершения работы компьютера. Давайте рассмотрим, как можно исправить эту ситуацию, следуя определённым шагам.

Решение проблемы:

  1. Создание загрузочной USB:

    • Сначала вам необходимо создать загрузочную USB-накопитель с образом Ubuntu 15.04. Для этого вы можете использовать такие инструменты, как UNetbootin или Startup Disk Creator.
    • Загрузите образ Ubuntu 15.04, если у вас его ещё нет.
  2. Загрузка с USB:

    • Подключите созданный USB-накопитель к компьютеру и перезагрузите его.
    • Во время загрузки выберите опцию "Try Ubuntu without installing" (Попробовать Ubuntu без установки).
  3. Замена повреждённого /sbin:

    • После загрузки откройте терминал и выполните команду sudo fdisk -l, чтобы определить, на каком из разделов установлен Ubuntu 15.04 (например, это может быть /dev/sda5).
    • Создайте точку монтирования и смонтируйте повреждённый раздел:
      sudo mkdir /mnt/ubuntu
      sudo mount /dev/sda5 /mnt/ubuntu
    • Затем смонтируйте proc, sys и dev для большей совместимости:
      sudo mount --bind /proc /mnt/ubuntu/proc
      sudo mount --bind /sys /mnt/ubuntu/sys
      sudo mount --bind /dev /mnt/ubuntu/dev
  4. Копирование файлов:

    • Перейдите в смонтированный раздел:
      cd /mnt/ubuntu/sbin
    • Ознакомьтесь с содержимым каталога /sbin на вашем USB. Монтируйте его:
      sudo mount /dev/sdX1 /mnt/source_sbin  # Замените sdX1 на соответствующий раздел вашего USB
    • После того, как вы смонтировали USB, выполните команду для замены повреждённого /sbin на рабочее:
      sudo cp -r /mnt/source_sbin/* /mnt/ubuntu/sbin/
  5. Перезагрузка:

    • После завершения копирования, размонтируйте все монтированные системы:
      sudo umount /mnt/ubuntu/proc
      sudo umount /mnt/ubuntu/sys
      sudo umount /mnt/ubuntu/dev
      sudo umount /mnt/source_sbin
      sudo umount /mnt/ubuntu
    • Затем перезагрузите систему и удалите USB-накопитель. Проверьте, загружается ли ваша установка Ubuntu 15.04 без ошибок.

Заключение:

Если все шаги выполнены правильно, ваша система должна загрузиться нормально. Важно помнить, что после аварийного завершения работы всегда есть риск повреждения файловой системы. Регулярно выполняйте резервное копирование важных данных и рассмотрите возможность использования fsck или других средств проверки файловой системы для предотвращения подобных проблем в будущем.

Оцените материал
Добавить комментарий

Капча загружается...