grub-install / grub bootは正確にどのように機能しますか?

grub-install / grub bootは正確にどのように機能しますか?

Linuxディストリビューションが完全にインストールされたUSBを作成しようとすると、次のような多くのページが見つかりました。グラップを修正する方法? (Windowsのインストール後にUbuntuを復元する方法は?))デバイスにグラブを取り付ける/再インストールする方法を説明します。

手順と方法を理解しようとすると、いくつかの質問がありました。

  • コマンドは、grub-install起動するオペレーティングシステム(パーティション)を見つける場所をどのように知ることができますか?

Linux USBライブドライブを使用してGrubをインストールしたいデバイスパーティションの1つをマウントし、次のコマンドを使用することを確認しました。for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; doneすべてのオペレーティングシステムシステムですべてのインストールを見つけるためにgrub-installに必要なすべてのディレクトリをマウントします。認識されたデバイス(/dev/ディレクトリの下のすべてのデバイスを考慮する必要があるため)私のアプローチは正しいですか?また、すべてがインストールされ設定されたら、grub-installはデバイスから起動するOSがどこにあるかをgrubに通知する設定を作成すると思います。そうですか?インストール後にこの設定を手動で編集できますか(たとえば、新しいSOをインストールし、そのブートディレクティブをgrub設定に手動で追加します)。

  • grub-pcとパッケージgrub-efigrub-legacy正確な違いは何ですか?

私は grub を既存のブート (BIOS を使用して MBR からブート) と EFI ブートにインストールできることを知っていますが、 grub-install コマンド (grub-pcパッケージの 1 つをインストールした後に起動できるgrub-efi) にパラメータがgrub-legacyあることも知っています--efi-directory。このパラメータを使用すると、実行中のシステムでESPパーティションをインストールする場所を指定できるため、GrubをEFIブートモードでインストールできると想定します。これは正しいですか?これは、これらのパッケージのいずれかを使用してEFIまたはBIOSモードでGrubをインストールできることを意味しますか?それではどうですか?これらのパッケージのいずれかをインストールした後、grub-installを使用してBiosまたはEFIモードでGrubをインストールするように指定するにはどうすればよいですか?また、これらのパッケージの1つだけをインストールできることがわかりました(すでにパッケージがあり、aptitudeを使用して別のパッケージをインストールしようとすると、aptitudeは現在インストールされているパッケージを削除対象としてマークします)。なぜこれが起こるのですか? ?

答え1

Grub Legacy は grub2 以前の grub バージョンです。約10年前、多くのディストリビューションがgrub2に移行しました。ここで grub と言うと、通常は grub2 を意味します。古いグルーブをグルーブレガシーと呼ぶからです。

grub-pc パッケージは、BIOS ブートのインストールと MBR によるブートに使用されます。ドライブがgptパーティションに分割されている場合は、BIOS_grubフラグを持つ1MBまたは2MBのフォーマットされていないパーティションも必要です。

grub-efi-amd64は64ビットPCとUEFIブートで動作します。 grub-efi-amd64にはESPが必要です。 Ubuntuを使用すると、40年前のMBR(msdos)パーティションドライブにUEFIモードでインストールできますが、それはできませんが、データドライブを変換するときのデータ損失を防ぐことができます。 UEFIではgptパーティションの使用を強くお勧めします。 Windows では、UEFI ブートに gpt が必要です。

https://help.ubuntu.com/community/Grub2

マニュアル 2.04 https://www.gnu.org/software/grub/manual/grub/grub.pdf

関連情報