Переустановите grub на другой диск?

Я разобрал свой компьютер и снова собрал его, после чего GRUB исчез.
У меня два диска: SSD (sdb, GPT) и жесткий диск (sda, MBR):

  • sda1: «часть» (128 МБ)
  • sda2: windows, ntfs
  • sda3: окна снова, ntfs (добавлен этот раздел после установки grub & arch)
  • sda4: arch linux /

  • sdb1: восстановление windows (ntfs)

  • sdb2: / boot / efi (vfat)
  • sdb3: снова «часть», 16 МБ
  • sdb4: окна снова (главный раздел Windows, он установлен здесь)

Я обычно загружался на своем SSD, и у меня был загрузчик окон и arch_grub
Теперь у меня только загрузчик Windows, но файлы grub все еще есть, есть grubx64.efi in /boot/efi/EFI/arch_grub , и grubenv , grub.cfg , x86_64-efi in /boot
(Я установил окна в режиме UEFI, и, я думаю, я также установил арку в режиме UEFI, я использовал архитектуру)

Так что в основном grub находится в /boot который находится на моем жестком диске (и /boot/efi на моем SSD), все работало нормально до сих пор. Я попытался использовать boot-repair на ubuntu live usb, но у меня была ошибка: « grub-amd64-efi-signed не имеет установленного пакета grub-amd64-efi-signed »

Я думаю, что я все еще могу загрузиться с аркой с командной строкой grub, но что мне тогда делать? У меня уже есть все необходимые файлы, поэтому grub-install будет бесполезен

Загрузите диск восстановления Linux / live CD, а затем установите / dev / sda4 в / mnt и / dev / sdb2 в / mnt / boot. chroot / mnt, а затем запустить grub-install / dev / sdb.

Спасибо Raman Sailopal и за помощь, но это не соответствовало моему делу.
Ниже приведены точные шаги, предполагающие, что / dev / sda4 – это linux root, / dev / sdb2 – это ваш раздел EFI (расположенный в / boot / efi), а ваши файлы linux / initrd – /boot/vmlinuz-linux & /boot/initramfs.img
Запишите живое usb ubuntu (16.04?) С архитектурой amd64, загрузите его и вставьте следующие команды:

 sudo os-prober efibootmgr 

Установите os-prober или efibootmgr, если он еще не установлен:

 sudo apt-get install os-prober sudo apt-get install efibootmgr 

Grub в режиме efi, вероятно, не установлен, установите его тоже

 sudo apt-get install grub-efi-amd64-signed 

Затем установите grub:

 sudo mount -t ext4 /dev/sda4 /mnt sudo mount -t vfat /dev/sdb2 /mnt/boot/efi grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot --bootloader-id=grub 

Не пытайтесь использовать grub-mkconfig , это не сработает.
Вместо этого, загрузившись с вашего нового загрузчика загрузчика grub, у вас будет оболочка grub, вставьте следующие команды :

 set root=(hd0,4) linux /boot/vmlinuz-linux root=/dev/sda4 initrd /boot/initramfs.img boot 

После этого вы должны быть в linux, смонтируйте свой efi-раздел, если он еще не установлен, установите grub / os-prober / efibootmgr и выполните следующие действия:

 sudo os-prober grub-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot --bootloader-id=grub grub-mkconfig -o /boot/grub/grub.cfg 

Перезагрузитесь, и grub вернулся.