Система:
У меня были случайные проблемы в прошлом, когда система входила в панику ядра при загрузке, сначала жаловался, что декодирование initramfs не удалось, а затем было невозможно смонтировать корень. Вариант режима восстановления для той же версии ядра также вызовет панику, хотя с отображением гораздо большего количества сообщений.
Я обычно решал эту проблему, выбирая более старое ядро, которое нормально загружалось, а затем выполнял восстановление при загрузке. Тогда я буду хорош для случайного количества ботинок, пока все не начнется снова.
Я так и не смог найти причину и просто справлялся со случайными неудобствами.
Однако теперь ни одно из моих ядер не загружается. Все, что я могу сделать, это загрузиться с живого USB. Я обновил конфигурацию GRUB изнутри chroot, поэтому теперь мой пункт меню Windows также исчез.
В сообщениях режима восстановления меня просят указать мой корневой раздел с помощью параметра загрузки «root =», а затем говорится: «Вот доступные разделы» с последующим сообщением о панике ядра. Вроде вообще не определяет разделы.Похоже, это подтверждается сообщением о том, что он не может «смонтировать корневую fs на unknown-block (0,0)», что указывает на то, что он не может определить, какое блочное устройство использовать.
Я проверил, что корневой UUID, показанный в сообщениях загрузки, совпадает с UUID моего фактического загрузочного раздела. В последнее время я не вносил никаких изменений в таблицу разделов.
Я попытался извлечь и снова установить SSD.
Как мне решить эту проблему? Как заставить ядро определять мой SSD?
Снимки экрана:
РЕДАКТИРОВАТЬ: В комментариях я обнаружил SMART-статус SSD. Вот результат sudo smartctl
.
РЕДАКТИРОВАТЬ: RE: Версия BIOS материнской платы. Я обновил свой BIOS как вскоре после сборки моего ПК до версии 7C02v36 (от 24.04.2020), так и перед тем, как задать этот вопрос до версии 7C02v39 (от 30.11.2020). Это не подействовало. Следующий самый последний из перечисленных BIOS датирован 10.12.2020, но это бета-версия, поэтому я не уверен, что это хорошая идея.
РЕДАКТИРОВАТЬ: FWIW, мой загрузочный раздел ubuntu имеет размер 30 ГБ и 3 ГБ свободно.
РЕДАКТИРОВАТЬ: grub может видеть мой загрузочный раздел, как показано на этом снимке экрана. Сразу после того, как я сделал снимок, я набрал «нормально», чтобы вернуться в меню GRUB. Загрузился с включенными сообщениями «отладки» и пожаловался, что не может смонтировать именно этот раздел.
Загрузитесь с USB-накопителя с работающей системой; не имеет большого значения, какая у Ubuntu версия или вкус. Затем попробуйте исследовать и, возможно, даже смонтировать эту файловую систему вручную из оболочки в этой действующей системе. Теперь внутренний диск может быть /dev/sdc
.
Вы можете исследовать разделы с любым из
sudo parted --list
sudo fdisk -l
sudo blkid
после того, как вы определили, какой раздел является вашей корневой файловой системой, вы можете попробовать запустить на нем fsck -f
для проверки файловой системы.
Попробуйте смонтировать его; Я бы начал с монтирования только для чтения:
sudo mount -r /dev/sdc42 /mnt
(/dev/sdc42
— это устройство, которое вы только что идентифицировали как корневую файловую систему)
, затем проверьте /mnt/boot
для доступных ядер и если есть соответствующий initrd* (исходный RAM-диск, содержащий модули ядра).
Прочитав еще несколько комментариев выше, я понял, что защитная MBR может быть проблемой. По сути, он пытается отразить таблицу разделов GPT, чтобы старые инструменты считали, что они видят таблицу разделов ПК в старом стиле («MS-DOS»). Это нормально, если эти старые инструменты никогда не пытаются изменить какие-либо разделы; однако, если они это сделают, защитный MBR (который они изменят) и GPT (который содержит истинную информацию) могут начать не совпадать.
Результатом может быть то, что некоторые ОС (не Linux, я почти уверен) записывают в блоки диска вне текущих разделов и файловых систем. Если у вас возникнут проблемы после игр в Windows, это будет намеком на это общее направление.