Как восстановить / переустановить Fedora без удаления существующих разделов или данных?
Я пытался обновить некоторые старые серверы Fedora 13 до 17, следуя инструкциям в вики. После обновления 14-> 15 перезагрузка привела к выводу:
Dropping to debug shell.
sh: can't access tty; job control turned off
dracut:/#
Запуск dmesg также показывает:
dracut Warning: No root device "block:/dev/mapper/VolGroup-lv_root" found
Поиск в Google показывает, что эта ошибка обычно связана с некоторыми странными проблемами с RAID, но мой сервер - это виртуальная машина, не использующая RAID. Используя аварийный компакт-диск, я могу chroot /mnt/sysimage
, и все пакеты и данные, кажется, все еще там. Как мне снова сделать систему загрузочной?
По-видимому, процесс обновления Fedora нередко приводит к повреждению файловой системы / boot / initramfs, что приводит к невозможности загрузки системы.
Используя подсказку, я нашел Вот, решение - загрузиться с Fedora Live CD и выбрать в меню «Восстановить установленную систему». Затем пройдите по меню, чтобы добраться до спасательной оболочки. Затем смонтируйте систему, используя chroot /mnt/sysimage
. Совет рекомендовал восстановить initramfs, запустив:
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
Однако, поскольку вы будете запускать ядро Live CD, это, скорее всего, не удастся, если версия ядра вашей системы не будет точно соответствовать Live CD. На моем Live CD использовалось ядро 2.6. *, Но у меня было установлено ядро 3.4. *, Поэтому я запустил:
mv /boot/initramfs-3.4.2-1.fc16.x86_64.img /boot/initramfs-3.4.2-1.fc16.x86_64-nouveau.img
dracut /boot/initramfs-3.4.2-1.fc16.x86_64.img 3.4.2-1.fc16.x86_64
exit
Впоследствии удаление Live CD и перезагрузка привели к загрузочной системе.