Недавно мне пришлось заменить неисправный HD на сервере Centos 7.5 на RAID1 (2 диска Samsung NVMe)
После замены диска сервер загрузился с другого диска, я скопировал те же разделы на новый диск с помощью fsdisk, добавил разделы в RAID, а после синхронизации RAID я установил GRUB на новом жестком диске с помощью:
grub2-install /dev/nvme1n1
для того, чтобы сделать его загрузочным (чтобы, если другой диск выйдет из строя, сервер все равно сможет загрузиться).
После перезагрузки сервера появилось меню GRUB, но после выбора любого ядра сервер перестает загружаться с ошибкой:
symbol 'grub_efi_secure_boot' not found
Мне удалось перезагрузить сервер после изменения последовательности загрузки в BIOS, выбрав сначала старый диск.
Как сделать новый диск загрузочным? Обратите внимание, что на сервере есть BIOS, а не UEFI, и я получил его с предустановленным образом.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 477G 0 disk
├─nvme0n1p1 259:2 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─nvme0n1p2 259:3 0 512M 0 part
│ └─md1 9:1 0 511.4M 0 raid1 /boot
└─nvme0n1p3 259:4 0 444.4G 0 part
└─md2 9:2 0 444.3G 0 raid1 /
nvme1n1 259:1 0 477G 0 disk
├─nvme1n1p1 259:5 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─nvme1n1p2 259:6 0 512M 0 part
│ └─md1 9:1 0 511.4M 0 raid1 /boot
└─nvme1n1p3 259:7 0 444.4G 0 part
└─md2 9:2 0 444.3G 0 raid1 /
Personalities : [raid1]
md1 : active raid1 nvme1n1p2[2] nvme0n1p2[0]
523712 blocks super 1.2 [2/2] [UU]
md2 : active raid1 nvme1n1p3[2] nvme0n1p3[0]
465895744 blocks super 1.2 [2/2] [UU]
bitmap: 2/4 pages [8KB], 65536KB chunk
md0 : active raid1 nvme0n1p1[0] nvme1n1p1[2]
33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Мне удалось исправить проблему с загрузкой, также перестроив initramfs: после того, как я перестроил массив RAID и установил grub2 на новый диск, я запускаю
dracut -f
Рекомендуется сначала сохранить резервную копию текущего файла img initramfs. Вы можете пересобрать img-файлы initramfs для любого доступного ядра в вашей системе. Узнать больше Вот
Я не знаю, почему это было необходимо, поскольку новый диск был точно таким же, как старый (производитель / модель), поэтому новые драйверы, хранящиеся в initramfs, не нужны.