RPI потерял PARTUUID корневого раздела и не может загрузиться.

Вопрос или проблема

Итак, я клонировал SD-карту RPI, чтобы использовать ту же систему дома и на работе. SD-карты были немного разных размеров, поэтому после выполнения dd мне пришлось запустить resize2fs и fsck. Если я загружаю Pi с этой картой, я попадаю в аварийную оболочку, и могу смонтировать корневой раздел, и всё работает.

Проблема: мне нужно, чтобы это работало без монитора, и я не могу монтировать корневой раздел каждый раз при старте. Когда Pi загружается, он ищет PARTUUID=”ceafa322-02″. Если бы я мог изменить Pi на загрузку с нового корневого UUID или чего-то подобного, было бы нормально, но я не знаю процесса загрузки на одном из этих устройств. Я пытался изменить раздел с помощью fdisk, но не знаю, как идентификатор типа 0xXXXXXXXX переводится в ceafa322-02 как PARTUUID.

Какое наилучшее решение? Я могу стереть установку, но я почти решился в этот момент.

На дисках с разметкой MBR нет реальных 128-битных UUID для разделов, указанных в таблице разделов; таблица разделов MBR слишком мала для этого. Вместо этого PARTUUID создается, добавляя тире и двухзначный номер раздела к 32-битному идентификатору диска.

Таким образом, в вашем PARTUUID="ceafa322-02", часть -02 это просто номер раздела, а ceafa322 это идентификатор диска. Он представлен в шестнадцатеричной системе, что часто указывается префиксом шестнадцатеричного числа 0x.

Поэтому при установке идентификатора диска с помощью fdisk, вы просто указываете его как 0xceafa322.

Ответ или решение

Проблема с загрузкой Raspberry Pi из-за несоответствия PARTUUID может быть решена путем коррекции идентификаторов на диске. Вот пошаговое руководство, как это сделать:

Понимание проблематики

Вы клонировали SD-карту Raspberry Pi, чтобы использовать ту же систему дома и на работе. Из-за того, что карты имели немного разные размеры, пришлось использовать dd, а также resize2fs и fsck. В результате возникла проблема с автоматической загрузкой, и теперь система требует ручного монтирования корневого раздела из-за изменения PARTUUID.

Почему возникла проблема?

На дисках с MBR разметкой PARTUUID формируется из 32-битного идентификатора диска и добавленного к нему номера раздела. В вашей цепочке PARTUUID="ceafa322-02":

  • ceafa322 — это идентификатор диска в шестнадцатеричном формате.
  • -02 — это номер раздела.

Решение проблемы

  1. Узнать текущие идентификаторы:

    • Используйте команду blkid, чтобы узнать текущие UUID и PARTUUID вашего диска и разделов.
      sudo blkid
  2. Обновить идентификаторы в /etc/fstab:

    • Откройте файл /etc/fstab и замените старый PARTUUID на новый, соответствующий вашему клонированному диску.
  3. Изменить конфигурацию загрузки:

    • В файле /boot/cmdline.txt замените устаревший PARTUUID на новый, который вы узнали с помощью blkid.
  4. Настройка через fdisk (если необходимо):

    • Если PARTUUID всё ещё некорректен, можно изменить идентификатор диска через инструмент fdisk.
    • Запустите fdisk и укажите новый идентификатор как 0xceafa322.
      sudo fdisk /dev/sdX  # Zамените /dev/sdX на ваш путь
    • В режиме командной строки fdisk нажмите o, чтобы установить новый MBR.
    • Далее нажмите i, чтобы задать новый идентификатор disка.
  5. Проверить изменения и перезагрузить:

    • Используйте команду fsck для проверки файловой системы.
      sudo fsck /dev/sdX2  # Проверьте целостность файловой системы
    • После внесенных изменений перезагрузите Raspberry Pi и убедитесь, что система загружается без вмешательства.

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

Оцените материал
Добавить комментарий

Капча загружается...