У меня есть установка сервера Ubuntu 16.04 на двух дисках с программным рейдом на двух больших разделах. Начало каждого диска содержит раздел EFI. Я хотел бы иметь возможность загружаться с любого диска (в случае сбоя одного из них) - одно руководство, которое я прочитал, инструктировало просто клонировать раздел EFI после установки с использованием «dd» - однако я обнаружил, что это не работает - после прочтения немного, я думаю, это потому, что записи GRUB содержат UID раздела для местоположения ядра, которое оно должно загружать. Поэтому я думаю, что клонированный grub.cfg содержит какую-то ссылку на UID только для одного из дисков.
Мой вопрос: как я могу сгенерировать или даже вручную отредактировать grub.cfg на каждом разделе EFI, чтобы он относился к установке ubuntu на том же физическом диске?
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 953.9G 0 disk
├─sda1 8:1 0 476M 0 part /boot/efi
└─sda2 8:2 0 953.4G 0 part
└─md0 9:0 0 953.3G 0 raid1
├─vg-root 252:0 0 923.5G 0 lvm /
└─vg-swap 252:1 0 29.8G 0 lvm [SWAP]
sdb 8:16 0 953.9G 0 disk
├─sdb1 8:17 0 476M 0 part
└─sdb2 8:18 0 953.4G 0 part
└─md0 9:0 0 953.3G 0 raid1
├─vg-root 252:0 0 923.5G 0 lvm /
└─vg-swap 252:1 0 29.8G 0 lvm [SWAP]
Используя свой любимый текстовый редактор, откройте /etc/default/grub.cfg
и раскомментируйте строку, в которой говорится GRUB_DISABLE_LINUX_UUID=true
Обновите grub с новой конфигурацией:
sudo update-grub
Скопируйте обновленную конфигурацию grub в другой раздел EFI:
dd if=/dev/sda1 of=/dev/sdb1
Войдите в меню UEFI и отключите все параметры (например, оболочку UEFI), которые не входят в число устанавливаемых ubuntu.