Как вы уже выяснили, имена устройств, такие как /dev/st0, не являются постоянными; они названы в порядке обнаружения. Лучший способ получить имена, которые переживут перезагрузку, — это написать правило UDEV, которое создает нужную вам символическую ссылку. У г-на Google есть много информации о том, как написать правило UDEV, но, по сути, когда устройство обнаружено, ядро предлагает атрибуты устройства подсистеме UDEV, где применяются правила, и если все предикаты правила выполняются, то действие правила будет выполнено. создать символическую ссылку.
Я не могу объяснить, почему Boot -Repair -Disk сообщает об ошибке с таблицей разделов, а также почему Windows считает, что /dev/sda4
является основным разделом. Вывод fdisk не сообщает об ошибках в таблице разделов MBR, а также может прочитать расширенную таблицу разделов в /dev/sda5
.
Итак, все, что нам нужно сделать, это:
Grub2 был установлен в сектора после MBR (и перед сектором 2048 ). Этот grub2 на диске имеет жестко запрограммированный адрес каталога /boot/grub
. К сожалению, содержимое /boot/grub
находится внутри LVM и закодировано с помощью LUKS . Grub должен:
Оба модуля также находятся внутри /boot/grub
. Это создает ловушку -22 ситуации, когда ключи от машины находятся внутри машины.
Решение состоит в том, чтобы записать несколько модулей в фиксированные сектора диска и загрузить их при загрузке. Затем запросите пароль LUKS, расшифруйте каталог /boot/grub
, загрузите дополнительные модули и, наконец, загрузите /boot/grub/grub.cfg
, чтобы узнать, какие другие модули необходимо загрузить, и предоставить пользователю список выбора ОС.
Однако модули, которые необходимо записать на диск, находятся внутри /usr/lib/grub/i386-pc/lvm.mod
(, например ). Да, grub можно использовать в нескольких архитектурах. Который также зашифрован в системе, которую вы установили.
Таким образом, единственным решением является:
/usr/lib
)chroot
для переключения на «настоящую» систему на диске. grub-install
, чтобы повторно -поместить grub на диск. Это руководство по спасению CentOS , которому вы должны следовать. Это упрощено, за исключением, к сожалению, части расшифровки зашифрованных разделов LVM -LUKS, которая добавляет еще одну особенность.
После того, как это будет сделано, и ваша система загрузится в CentOS через grub, вам нужно включить (, если окна не были автоматически -обнаружены при установке grub -), чтобы добавить пару записей в файл grub.cfg. Использовать записи с этой страницы
Связанные: