Обновление Ubuntu вызвало зависание системы при загрузке на фиолетовом экране. Режим восстановления не работает и выводит BusyBox

Обновление Ubuntu вызвало зависание системы при загрузке на фиолетовом экране. Режим восстановления не работает и выводит BusyBox

Я просмотрел существующие вопросы, но ни один из них не отвечает на мою проблему.

Моя система под управлением Ubuntu 14.04 прошла частичное обновление несколько дней назад. С тех пор моя система не загружается. Она зависает на фиолетовом экране. (plymouth?) Когда я пытаюсь загрузиться в режим восстановления, я получаю ошибку "gave up waiting for root" вместе с многочисленными ошибками libkmod.

Я загрузился с liveCD и попытался устранить некоторые неполадки. Я могу смонтировать корневой раздел оттуда и выполнить chroot. Я проверил /var/log/boot и нашел 2 небольших сбоя - samba и ksplice - ничего, что могло бы помешать загрузке. Я попытался переустановить grub следующим образом, после монтирования загрузочного раздела в /boot:

sudo grub-install --efi-directory=/boot /dev/sdc

К сожалению, это приводит к тем же ошибкам libkmod, которые появляются, когда я пытаюсь перейти к восстановлению. (У меня efi, а не BIOS)

Вот чем заканчивается восстановление:

Gave up waiting for root device. Common problems: 
- Boot args (cat /proc/cmdline) 
- Check rootdelay= (did the system wait long enough?) 
- Check root= (did the system wait for the right device?) 
- Missing modules (cat /proc/modules; Is /dev) 
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell! 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'

У меня установлена ​​ZFS, но загрузочный диск не ZFS. Я не понимаю, почему закомментированные строки интерпретируются как плохие.

Вот мой fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sdb2 during installation
UUID=10d83bf1-14a9-40bf-8ada-7ffbf6220bf9 /boot           ext2    defaults
  0       2
# /boot/efi was on /dev/sdb1 during installation
UUID=BD9B-EA73  /boot/efi       vfat    defaults        0       1
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0

И разделённая информация для моего загрузочного диска:

Model: ATA Corsair CSSD-V32 (scsi)
Disk /dev/sdc: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   794MB   256MB   ext2
 3      794MB   32.0GB  31.2GB                     lvm

У меня не установлено никаких других ОС. Я пробовал переустановить с liveCD, но он не распознает мою существующую установку - даже после того, как я вручную смонтировал свой корневой раздел. Я бы предпочел избежать переустановки с нуля и действительно хотел бы узнать, что вызывает это, для улучшения моих собственных знаний Linux. Любая помощь будет принята с благодарностью.

решение1

При выполнении chroot-входа в систему регенерируйте исходный RAM-диск.

Вероятно, проблема вызвана отсутствием модулей.

update-initramfs -k all -c

Перед chroot-редактированием смонтируйте и /devвнутри chroot:/proc/sys

mount -t proc /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys

Я предполагаю, что вы смонтировали свой диск в /mnt. По моему опыту, такие ошибки в 90% случаев связаны с отсутствием модулей в ramdisk.

Также я бы предложил продолжить неудачное обновление внутри chroot, используя

dpkg --configure -a
apt-get -f install
apt-get upgrade

решение2

Я получил эту ошибку во время последнего обновления, поэтому я не перезагружался. Чтобы исправить это, я удалил файл, /etc/modprobe.d/zfs.confтак как я был тем, кто его добавил, и он мне не был нужен. Затем я запустил:

update-initramfs -k all -c

И теперь, похоже, он готов к перезагрузке.

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