Загрузка не может обнаружить корневой раздел

Система:

  • Ryzen 5, без встроенной графики
  • Материнская плата B450 Tomahawk Max
  • ADATA SX8100, SSD-накопитель 512 ГБ
  • Nvidia GeForce 1660, основной графический процессор
  • Двойная загрузка, Ubuntu 20.04 и windows 10
  • Прошивка UEFI
  • Без разгона или других настроек

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

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

Я так и не смог найти причину и просто справлялся со случайными неудобствами.

Однако теперь ни одно из моих ядер не загружается. Все, что я могу сделать, это загрузиться с живого USB. Я обновил конфигурацию GRUB изнутри chroot, поэтому теперь мой пункт меню Windows также исчез.

В сообщениях режима восстановления меня просят указать мой корневой раздел с помощью параметра загрузки «root =», а затем говорится: «Вот доступные разделы» с последующим сообщением о панике ядра. Вроде вообще не определяет разделы.Похоже, это подтверждается сообщением о том, что он не может «смонтировать корневую fs на unknown-block (0,0)», что указывает на то, что он не может определить, какое блочное устройство использовать.

Я проверил, что корневой UUID, показанный в сообщениях загрузки, совпадает с UUID моего фактического загрузочного раздела. В последнее время я не вносил никаких изменений в таблицу разделов.

Я попытался извлечь и снова установить SSD.

Как мне решить эту проблему? Как заставить ядро ​​определять мой SSD?

Снимки экрана:

normal boot error messages recovery mode boot messages

РЕДАКТИРОВАТЬ: В комментариях я обнаружил SMART-статус SSD. Вот результат sudo smartctl .

РЕДАКТИРОВАТЬ: RE: Версия BIOS материнской платы. Я обновил свой BIOS как вскоре после сборки моего ПК до версии 7C02v36 (от 24.04.2020), так и перед тем, как задать этот вопрос до версии 7C02v39 (от 30.11.2020). Это не подействовало. Следующий самый последний из перечисленных BIOS датирован 10.12.2020, но это бета-версия, поэтому я не уверен, что это хорошая идея.

РЕДАКТИРОВАТЬ: FWIW, мой загрузочный раздел ubuntu имеет размер 30 ГБ и 3 ГБ свободно. enter image description here

РЕДАКТИРОВАТЬ: grub может видеть мой загрузочный раздел, как показано на этом снимке экрана. Сразу после того, как я сделал снимок, я набрал «нормально», чтобы вернуться в меню GRUB. Загрузился с включенными сообщениями «отладки» и пожаловался, что не может смонтировать именно этот раздел. enter image description here

0
задан 3 December 2020 в 05:38

1 ответ

Загрузитесь с 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, это будет намеком на это общее направление.

1
ответ дан 28 December 2020 в 03:32

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

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