Вопрос или проблема
Я использую Ubuntu 16.04 LTS (а также старую установку Windows XP) на 32-битном ноутбуке. Сегодня Ubuntu больше не загрузилась. Ошибки, которые я получаю после выбора Ubuntu в GRUB, следующие:
/scripts/init-premount/plymouth: строка 38: /sbin/plymouthd: не найдено
/scripts/init-premount/plymouth: строка 38: /bin/plymouth: не найдено
grep: /proc/device-tree/model: Нет такого файла или каталога
Я прервал загрузку после того, как ничего не происходило несколько минут, и выбрал режим восстановления Ubuntu в GRUB. Он также зависает в момент, когда после некоторого времени появляются следующие сообщения:
grep: /proc/device-tree/model: Нет такого файла или каталога
random: пул без блокировки инициализирован
findfs: не удалось разрешить 'LABEL=writable'
готово.
не удается найти раздел 'writable'
После этого он переходит в BusyBox. Я проверил /etc/mtab
и увидел, что /dev/sda1
не смонтирован, я попробовал mount /dev/sda1 /root
, это сработало, раздел выглядит хорошо, я вижу, что домашний каталог цел. Также fstab
не изменялся долгое время и все еще содержит правильный UUID для раздела Ubuntu.
Разделы жесткого диска: /dev/sda1
– это раздел Linux с Ubuntu, /dev/sda2
– это NTFS-раздел с Windows XP, /dev/sda3
– это раздел подкачки. GRUB работает нормально, я могу выбирать Ubuntu и его режим восстановления, и Windows. Windows работает прекрасно. Я не знал, что делать, поэтому я использовал диск Boot-Repair для восстановления GRUB, на всякий случай, так что GRUB все еще работает нормально, но Ubuntu по-прежнему не загружается. Что я могу сделать?
Я не совсем понимаю, как мои последние несколько нейронов пришли к такому выводу, но после часов поиска и уставшего взгляда на это письмо и это изменение, они пришли к выводу, что возможно виноват ubuntu-core. Поэтому я удалил все, что нашел, связанное с этим:
2017-05-24 15:52:54 удалить initramfs-tools-ubuntu-core:all 0.7.43 <несуществующий>
2017-05-24 15:52:54 удалить ubuntu-core-config:all 0.6.40 <несуществующий>
И это в итоге сработало! Вероятно, initramfs-tools-ubuntu-core
вставил ошибочный скрипт в initrd
где-то в предыдущих обновлениях.
Другие два слова о подобного рода ошибках:
- их действительно трудно поймать,
debug=y
иsystemd.log_level=debug
в командной строке ядра немного помогают, но отследить, кто именно что делает, действительно сложно. - переустановка может показаться привлекательным вариантом после часов отладки/перезагрузок, но это очень краткосрочное решение. Почти всегда правильный подход заключается в том, чтобы понять, что вызывает ошибку, решить ее и записать решение для себя и других на будущее.
Посмотрите на https://ubuntuforums.org/showthread.php?t=2299840, их решение заключалось в переустановке, но без форматирования целевых разделов. Сначала сделайте резервную копию всего.
Благодаря ответу @Avio я смог решить похожую проблему в Ubuntu 24.04, когда загрузка зависла на этапе intramfs.
Решено путем закомментирования строки 22 скрипта resize в local-premount:
$ sudo vi /usr/share/initramfs-tools/scripts/local-premount/resize
:22
#wait-for-root “LABEL=writable” “${ROOTDELAY:-180}” >/dev/null || true
и обновления:
$ sudo update-initramfs -u
Ответ или решение
Решение проблемы "Cannot find ‘writable’ partition" в Ubuntu 16.04 LTS
Проблема, с которой вы столкнулись, связана с работой загрузочного процесса Ubuntu 16.04 LTS. Ошибка "cannot find ‘writable’ partition" может быть вызвана несколькими факторами, и мы рассмотрим шаги, которые помогут диагностировать и устранить эту проблему.
Описание проблемы
При попытке загрузки системы Ubuntu возникают сообщения об ошибках, такие как:
scripts/init-premount/plymouth: line 38: /sbin/plymouthd: not found
scripts/init-premount/plymouth: line 38: /bin/plymouth: not found
grep: /proc/device-tree/model: No such file or directory
При выборе режима восстановления вы сталкиваетесь с сообщением:
findfs: unable to resolve 'LABEL=writable'
done.
cannot find 'writable' partition
Эти ошибки указывают на то, что скрипты инициализации не могут найти запрашиваемую метку раздела writable
, а это приводит к невозможности загрузки системы.
Возможные причины и решения
-
Неисправные пакеты initramfs-tools и ubuntu-core:
- Вы уже упомянули, что удаление пакетов
initramfs-tools-ubuntu-core
привело к решению проблемы. Эти пакеты иногда могут помещать поврежденные скрипты вinitrd
, что вызывает проблемы при загрузке. Убедитесь, что у вас установлены правильные версии этих пакетов и что они не конфликтуют с другими установленными приложениями.
Рекомендация: После удаления пакетов выполните команду
sudo update-initramfs -u
для обновления образа initramfs. - Вы уже упомянули, что удаление пакетов
-
Проблемы с fstab:
- Вы отметили, что файл
/etc/fstab
не изменялся, однако стоит дважды проверить корректность указания UUID для каждого раздела. Используйте командуsudo blkid
для получения точного UUID и убедитесь, что он соответствует записям вfstab
.
- Вы отметили, что файл
-
Проблемы с файловой системой:
- Если была неправильно завершена работа системы, это может повредить файловую систему. Используйте Live CD или USB-диск с Ubuntu, чтобы загрузиться в режим "Try Ubuntu" и выполнить проверку разделов командой:
sudo fsck /dev/sda1
- Замените
/dev/sda1
на соответствующий раздел, если Ubuntu установлена на другом разделе.
- Если была неправильно завершена работа системы, это может повредить файловую систему. Используйте Live CD или USB-диск с Ubuntu, чтобы загрузиться в режим "Try Ubuntu" и выполнить проверку разделов командой:
-
Необходимость ручной монтировки:
- Вы указывали, что монтирование
/dev/sda1
вручную работает без проблем. Это подтверждает, что файловая система не повреждена. Тем не менее, чтобы исправить загрузку, необходима ручная монтировка корневого раздела в конфигурационных файлах загрузки.
- Вы указывали, что монтирование
-
Обновление Grub:
- Поскольку вы использовали Boot-Repair Disk, чтобы восстановить загрузчик GRUB, убедитесь, что после всех исправлений выполнена команда:
sudo update-grub
- Это поможет GRUB корректно распознать все доступные операционные системы и их разделы.
- Поскольку вы использовали Boot-Repair Disk, чтобы восстановить загрузчик GRUB, убедитесь, что после всех исправлений выполнена команда:
-
Загрузка с использованием отладочных параметров:
- Используйте параметры загрузки, такие как
debug=y
иsystemd.log_level=debug
, чтобы получить больше информации о том, на каком этапе загрузки система зависает. Это может дать подсказки о том, что происходит во время загрузки.
- Используйте параметры загрузки, такие как
-
Переустановка системы:
- Если все предыдущие шаги не привели к результату, вы можете рассмотреть возможность переустановки Ubuntu. Однако, как вы упомянули, это скорее временное решение, и лучше попытаться выяснить причину проблемы. Сделайте резервную копию всех важных данных перед переустановкой.
Заключение
Устранение проблемы с загрузкой, связанной с ошибкой "cannot find ‘writable’ partition", может быть сложной задачей, но с правильно структурированным подходом и методичным выполнением шагов диагностики можно найти источник ошибки. Обязательно документируйте свои действия и результаты, чтобы в будущем избежать повторения подобных проблем.