別のドライブにGrubを再インストールしますか?

別のドライブにGrubを再インストールしますか?

コンピュータを分解して再度組み立てたところ、GRUBは消えた。
SSD(sdb、GPT)とHDD(sda、MBR)という2つのディスクがあります。

  • sda1: "セクション" (128MB)
  • sda2: Windows、NTFS
  • sda3: windows 再度、ntfs (grub と arch のインストール後にこのパーティションを追加)
  • sda4:vaultLinux/

  • sdb1:Windows用の回復(ntfs)

  • sdb2: /boot/efi (vfat)
  • sdb3:再び「部分」、16 ​​MB
  • sdb4: windows 再 (既定の Windows パーティション、ここにインストールされます)

私は通常SSDで起動し、WindowsブートローダとArch_grubを持っています。これで
Windowsブートローダしかありませんが、grub用のファイルはまだそこにgrubx64.efiあります/boot/efi/EFI/arch_grubgrubenvUEFIモードではArchitectを使用しました) grub.cfgx86_64-efi/boot

したがって、デフォルトでは、grubは/boot私のHDD(および/boot/efi私のSSD)にあり、これまでは非常に良いです。 Ubuntu Live USBで使用しようとしていますが、「アーチパッケージがインストールされていません」 boot-repairというエラーが発生します。grub-amd64-efi-signed

まだアーチから発射できると思います。グラップコマンドラインしかし、どうすればいいですか?必要なファイルがすでにすべてあるのでグラップインストール何の役にも立ちません。

答え1

Linuxリカバリメディア/ Live CDから起動し、/dev/sda4を/mntにマウントし、/dev/sdb2を/mnt/bootにマウントします。 chroot /mnt を実行し、grub-install /dev/sdb を実行します。

答え2

助けてくれたRaman Sailopalとcasに感謝します。しかし、私の場合には適していません。 /dev/sda4がLinuxルート、/dev/sdb2がEFIパーティション(/boot/efiにあります)、linux / initrdファイルがUbuntuのライブUSB(16.04?)であると仮定し、
従う必要がある正確な手順は次のとおりです。 。 amd64 アーキテクチャを使用してこれを実行し、次のコマンドを貼り付けます。 /boot/vmlinuz-linux/boot/initramfs.img

sudo os-prober
efibootmgr

まだインストールされていない場合は、os-prober または efibootmgr をインストールします。

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

efiモードのGrubはインストールされていない可能性があります。 Grubもインストールしてください。

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

再起動し、地上のワームが戻ってきました。

関連情報