Зависание при загрузке до режима восстановления

У меня двойная загрузка Windows 10 и Ubuntu 18.04. Я недавно обновил Windows 10, и с тех пор я не смог загрузиться в Linux. Иногда обновление портится при загрузке раздела linux, но мне всегда удавалось это исправить с помощью командной строки grub. Кажется, это совершенно другая проблема.

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

Я могу успешно запустить процесс загрузки из grub, но после этого я не могу добраться до экрана входа в Ubuntu. После ввода grub (2.02) я перехожу к «Ubuntu» или «Расширенные параметры для Ubuntu», и у меня есть четыре варианта:

Ubuntu, with Linux  4.18.0-21-generic
Ubuntu, with Linux  4.18.0-21-generic (recovery mode)
Ubuntu, with Linux  4.18.0-20-generic
Ubuntu, with Linux  4.18.0-20-generic (recovery mode)

Запуск любого из четырех успешно завершает работу grub и запускает каскад экрана. выход. Тем не менее, я никогда не получаю графическое окно входа в систему, приглашение для входа в систему или что-либо интерактивное Я напишу, каковы обычно последние пять строк:

[   OK   ] Reached target Local Encrypted Volumes.
[   OK   ] Reached target Local File Systems (Pre).
[   OK   ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch
[   OK   ] Reached target Sound Card.
[   OK   ] Found device WDC_WDBNCE5000PNC SSD.

И тогда ничего не происходит. Я должен удерживать кнопку питания в течение шести секунд, чтобы снова запустить компьютер. Если не считать свежей установки, есть ли у кого-нибудь какие-нибудь идеи?

Если кто-то захочет узнать более ранние строки, я буду рад переписать их здесь. Я благодарен за любую помощь, которую я могу получить.

РЕДАКТИРОВАТЬ: Вот что случилось, когда я последовал совету @ K9spud. fsck вернулся чистым, так что это облегчение. Я использовал chroot, чтобы использовать установку linux в качестве корневого каталога, и обнаружил, что /var/boot.log продвинулся намного дальше, чем первоначально было указано. Одна вещь, которую я заметил, заключалась в том, что устройство в конце журнала, когда я публиковал его, не было смонтировано, возможно, из-за неправильной настройки /etc/fstab. Последнее сообщение в журнале:

[  OK   ] Started Show Plymouth Boot Screen

После удаления ошибочной строки из / etc / fstab система загружается нормально.

TL; DR: неправильно настроенный /etc/fstab препятствует отображению экрана входа в систему.

1
задан 18 June 2019 в 21:28

2 ответа

Это может быть трудным вопросом для ответа. Самый простой ответ - установить новую версию, но это отстой, если у вас есть много данных / настроек, уже вложенных в вашу старую установку.

Если бы это была моя машина, я бы загрузил Ubuntu в режиме реального времени с моего установочного флэш-накопителя Ubuntu USB и начал копаться в жестком диске, чтобы попытаться выяснить, что пошло не так, и попытаться его починить.

Первое, что вы можете сделать, это создать резервную копию всего, так как в первый раз вы можете все ухудшить, попытавшись исправить ситуацию.

Затем я запустил fsck в разделе Linux, чтобы убедиться, что ничто не повредило раздел. Если fsck возвращается чистым, прекрасно, все ваши данные все еще там и могут быть восстановлены так или иначе, если это необходимо. Если fsck вернется с кучей ошибок, я бы сказал, что установка kaput, раздел поврежден и не стоит спасать от каких-либо пользовательских данных, которые вы сможете получить перед новой установкой.

После прохождения fsck я, вероятно, смонтировал раздел Linux и использовал «chroot», чтобы начать работать из установки Linux, как если бы я был загружен из установки Linux. Вам придется возиться с монтированием dev, sys, proc и т. Д. В среде chroot, затем вы можете запустить «update-grub», чтобы попытаться переустановить grub. Запуск «update-grub» может выявить некоторые ошибки, которые могут объяснить, почему вы не можете загрузиться.

Если «update-grub» работает, не раскрывая ничего важного, возможно, попробуйте поискать в / var / log, чтобы увидеть, есть ли какие-либо из файлов журналов ошибок, которые могли бы указать, почему система не загрузилась.

Кроме того, я не уверен, что еще предложить, не видя всех сообщений об ошибках самостоятельно и пытаясь оценить, что сломано, а что нет.

Очень печально, что Windows так мало заботится об установках Linux, что иногда выдает Linux из загрузки - заставляет меня вообще избегать иметь систему двойной загрузки с Windows. Надеюсь, что в будущем Microsoft улучшится и станет более осторожным в отношении путаницы с установками Linux.

1
ответ дан 18 June 2019 в 21:28

КАК «ОБНОВИТЬ GRUB» ИЗ CHROOT

  1. Загрузиться с USB-накопителя Ubuntu в режиме Linux Live. Убедитесь, что ваш BIOS загружает USB-накопитель в правильном режиме (UEFI vs. Legacy / MBR) для вашей системы, иначе у вас будут серьезные проблемы с работой update-grub.

  2. После загрузки в живую Linux откройте терминал и начните работать с помощью этих команд:

mkdir linux

sudo mount /dev/sdXX linux

(замените «/ dev / sdXX» на любое устройство / раздел) для раздела Linux на вашем жестком диске правильный номер. Вам может потребоваться запустить «gparted», чтобы взглянуть на таблицы разделов, чтобы выяснить, что к чему)

sudo chroot linux /bin/bash

mount -t devtmpfs udev /dev

mount -t proc proc /proc

mount -t sysfs sysfs /sys

update-grub

(некоторым системам может понадобиться несколько дополнительных команд «mount» для / boot и / или / boot / efi - обратитесь к файлу / etc / fstab вашей системы, чтобы узнать, как их монтировать, если это необходимо)

Если все работает правильно, «update-grub» должен сказать что-то вроде:

Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-48-generic
Found initrd image: /boot/initrd.img-4.15.0-48-generic
Adding boot menu entry for EFI firmware configuration
done

Для меня update-grub - это все, что мне нужно для того, чтобы мои системы снова загрузились, но для некоторых людей, если grub был полностью отключен. MBR или любой другой UEFI, вам может понадобиться использовать "grub-install".

Как только все это будет сделано без ошибок, вы должны размонтировать все вещи, которые мы ранее смонтировали из среды chroot, прежде чем выйти. В противном случае, Ubuntu будет трудно размонтировать раздел Linux при выключении.

umount /sys

umount /proc

umount /dev

exit

sudo umount linux

sync
1
ответ дан 18 June 2019 в 21:28

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

Похожие вопросы: