это может показаться глупым и может показаться кучей дубликатов, но я потратил почти 3 дня на поиски решения без взгляда, видите, я случайно ввел команду mkfs.xfs в /dev /sda2 вместо /dev /sdd2 и полностью стер мой /boot раздел (вместе со всеми файлами vmlinuz и initrd), и поэтому я попробовал стандартный метод восстановления с живого носителя (с некоторыми изменениями, поскольку моя система была установлена с разделами LVM и в режиме EFI):

mkdir /mnt/fedsys
mount /dev/fedora/root /mnt/fedsys
mount /dev/sda2 /mnt/fedsys/boot
mkdir /mnt/fedsys/boot/efi (I had to create a new efi dir since it was lost)
mount /dev/sda1 /mnt/fedsys/boot/efi
mount --bind /proc/ /mnt/fedsys/proc
mount --bind /sys/ /mnt/fedsys/sys
mount --bind /dev/ /mnt/fedsys/dev
chroot /mnt/fedsys

До этого все работало нормально, затем я попытался восстановить файл grub.cfg:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Однако это терпит неудачу со следующими сообщениями:

WARNING: Failed to connect to lvmetad. Falling back to device scanning.
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
device-mapper: reload ioctl on osprober-linux-sdd1 failed: Invalid argument
Command failed
done

Затем я игнорирую ошибки и продолжаю устанавливать grub:

grub2-install /dev/sda

И это дает следующий вывод:

Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
Installation finished. No error reported.

И когда я перезагружаюсь, меня приветствует приглашение grub. Теперь, я думаю, проблема заключается в том, что ни vmlinuz, ни initrd нигде не могут быть найдены (конечно, потому что я взломал /dev /sda2), но я не могу найти способ ни перестроить их, ни заставить систему загрузиться.

Что я могу сделать? Есть ли способ восстановить эти файлы с живого носителя? Система, которую я пытаюсь спасти, работала с Fedora 25 64 бит в режиме EFI и LVM.

2 ответа2

0

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

  1. Загрузитесь в живую медиа
  2. Смонтируйте где-нибудь корневой раздел жесткого диска (например, /mnt).
  3. Смонтируйте все системные разделы внутри этого корня - ваш /boot и любые другие, которые у вас могут быть.
  4. Смонтировать с -o bind папки /dev , /proc и /sys из корневого каталога медиа-носителя в корень жесткого диска в /mnt
  5. Теперь вы можете безопасно подключиться к вашему /mnt . Это должно дать вам полностью функциональную систему.
  6. Переустановите пакет grub и либо запустите mkinitramfs, либо, что еще лучше, переустановите также ядро linux.
  7. Создайте свою конфигурацию grub и установите grub в MBR (если вы его используете), у вас должно быть все, что нужно сейчас.
  8. Выйдите из chroot обратно в live media и размонтируйте все в обратном порядке.
  9. Попробуйте перезагрузиться в исходную систему.

Редактирование: путем chroot вы входите в среду вашего локального диска с возможностью записи. Все библиотеки и исполняемые файлы используются из этой среды, за исключением уже запущенных процессов и ядра - так что вы сможете использовать установленный менеджер пакетов и базу данных пакетов. Монтирование /dev , /proc и /sys необходимо для предоставления вам доступа к оборудованию и контроля над процессами, он понадобится вам для генерации нового образа linux в /boot , правильной настройки grub и доступа к сети для загрузки пакетов. Chrooting особенно полезна, если вам приходилось использовать живые медиа из другого дистрибутива.

Что касается переустановки grub - имена пакетов могут отличаться в разных дистрибутивах, однако переустановка grub * не принесет никакого вреда. Не забывайте, что простой установки пакетов может быть недостаточно. Вам также может понадобиться запустить grub-install после настройки конфигурации.

0

Я советую сначала попробовать загрузочный диск, он устранит большинство проблем MBR. Эта статья тоже может пригодиться. Https://www.linux.com/learn/how-rescue-non-booting-grub-2-Linux

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .