/sbin/init: нет такого файла или каталога | Не удается загрузить рабочий стол Ubuntu

Я уже давно пользуюсь Ubuntu Desktop, но сегодня почему-то не могу его запустить. Вот что я вижу.

Вот что я уже пробовал:

  1. Пробовал загружаться в режиме восстановления
  2. Выполнен fsck с загрузочного USB.

Вот что я сделал после загрузки с USB:

  1. Создан загрузочный USB
  2. Увидел 4 варианта:
    • Попробуйте Ubuntu без установки
    • Установить Ubuntu
    • OEM Установить
    • Проверьте диск на наличие дефектов

Я пошел к первому варианту. Открытый терминал -> sudo fdisk -l

Это дало мне мое настоящее имя устройства -> /dev/sda1

Затем я выполнил -> sudo fsck /dev/sda1 как упомянуто здесь - целевая файловая система не запросила /sbin/init

Вот вывод:

$ sudo fsck /dev/sda1
fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
/dev/sda1: clean, 682451/29483008 files, 26039796/117925888 blocks

Попытка перезагрузки и загрузки с жесткого диска, но та же проблема

  1. Загрузился снова с USB и выбрал попробовать Ubuntu без установки. Выполнено - sudo fsck -f /dev/sda1

Вот как выглядит вывод - https://pastebin.com/Yi4PqRU4

Также попробовал вариант 4 check disk defects, Результат был No defects found

Помогите?

1 ответ

Возможно, что initrd поврежден или отсутствует. В этом случае он не сможет найти процесс init, который нужен и используется initrd. Выполните следующие шаги, чтобы восстановить initrd:

  1. Загрузитесь с носителя (USB/DVD) и запустите сеанс терминала от имени пользователя root. ("Режим спасения")
  2. Смонтируйте диск с корневой файловой системой в /mnt

mount /path/to/disk /mnt

  1. Монтируйте и привязывайте виртуальные файловые системы к вашему диску

mount --rbind /proc /mnt/proc mount --rbind /sys /mnt/sys mount --rbind /dev /mnt/dev

  1. chroot в ваш диск

chroot /mnt

  1. Смонтировать все остальное, если есть

mount -a

  1. перейти в каталог загрузки

cd /boot

  1. восстановить initrd

В RedHat это так же просто, как запустить эту команду:

mkinitrd

В Ubuntu похоже, что они используют другой инструмент. Во-первых, вам нужно увидеть, какую версию ядра вы используете:

# ls /lib/modules/
3.11.0-12-generic

Затем используйте версию, которую он дает, чтобы запустить необходимую команду:

# update-initramfs -c -k 3.11.0-12-generic
update-initramfs: Generating /boot/initrd.img-3.11.0-12-generic


После этого вы можете exit chroot и попробуйте загрузиться нормально снова, чтобы увидеть, если проблема решена.

Другие вопросы по тегам