コミュニティでは、非常に一般的ないくつかのシナリオでGrub2をインストールする方法に関するクリーンガイドが長い間必要とされていると感じています。 シナリオごとに1つのセクションがあり、指定されたもの以外を想定していない場合は、回答を解決済みとして受け入れます。 元の仮定を維持しながら、既存の回答、wikiスタイルに追加してください。
ルール:
1。答えのどの時点でも、Ubiquity(Ubuntuインストーラー)を呼び出すことはできません。
2。あまり教育的ではないため、自動修復ツールを使用しないことを強くお勧めします
セットアップ:
/dev/sda1
はフォーマット済みext*
/dev/sda2
はフォーマット済みlinux_swap
/dev/sda1
が消去されたため、/boot/grub/*
が起動しませんrm -rf /boot/grub
およびdd if=/dev/zero of=/dev/sda bs=440 count=1
を実行するのと同等になります説明する:
/boot
of /dev/sda1
に復元する方法セットアップ:
/dev/sda1
はフォーマット済みfat
/dev/sda2
はフォーマット済みext*
/dev/sda3
はフォーマット済みlinux_swap
/dev/sda2
がフォーマットされたため、/dev/sda1
が起動しません説明する:
/dev/sda1
に復元し、/dev/sda2
のfstab
を更新する方法セットアップ:
/dev/sdb
はリムーバブルメディアです/dev/sdb1
はフォーマット済みfat
/dev/sdb2
はフォーマット済みext*
/dev/sdb3
はフォーマット済みfat
/dev/sdb
のMBRは初期化されません。/dev/sda
にインストールされたLinuxベースのOSから実行しています説明する:
/dev/sdb1
にインストールし、/dev/sdb1
をアクティブにする方法、起動時に/dev/sdb2
と/dev/sdb3
の間で選択できるようにする方法。セットアップ:
/dev/sdb
はリムーバブルメディアです/dev/sdb1
はフォーマット済みfat
/dev/sdb1
には/iso/live.iso
が含まれます/dev/sdb2
はフォーマット済みext*
/dev/sdb3
はフォーマット済みfat
/dev/sdb
のMBRは初期化されません。/dev/sda
にインストールされたLinuxベースのOSから実行しています説明する:
/dev/sdb1
にインストールし、/dev/sdb1
をアクティブにし、ブート時に/dev/sdb2
、/dev/sdb3
、/iso/live.iso
から選択できるようにする方法。grub-install
Sudo grub-install /device
/device
は、Grubがメインのgrub実行可能ファイルをMBRまたはパーティションブートレコードに書き込む物理ドライブを指します。 /dev/sd[a-z]
という形式のデバイスにはMBRが書き込まれ、/dev/sd[a-z][0-9]
という形式のデバイスにはPBRが書き込まれます。主な違いは、ハードウェアが常にMBRにあるものを実行し、PBRが実行されるかどうかはそこにあるコード次第です。 Grub2以外をMBRにインストールし(grubレガシーなど)、パーティションの1つのPBRにインストールされているGrub2をロードするセットアップがあります。ただし、一般的には、/dev/sd[a-z]
を使用してGrub2をMBRにインストールすることをお勧めします。このオプションは、コマンドのすべての形式に必要です。Sudo grub-install {--no-floppy|--allow-floppy} /device
grub-install
コマンドラインの他のバリエーションで使用できます。最初のオプション--no-floppy
は、grubにフロッピーディスクを検索しないように指示して、全体の実行時間を短縮するために使用されました。 Grubの最近のコピーには、デフォルトでフロッピーを検索しないようになったため、この機能を有効にする--allow-floppy
オプションが追加されました。Sudo grub-install [--force] /device
--force
オプションを追加すると、マスターブートレコードではなく、パーティションブートレコードにGrubをインストールできます。通常、この動作は許可されていません。これを行う理由の理由については、以下のシナリオのいずれかで詳しく説明します。Sudo grub-install [--recheck] /device
/boot/grub/device.map
が再生成されますSudo grub-install [--target=] /device
このオプションは、起動時に実行される特定のファームウェアを指定する場合に使用されます。 BIOSとUEFI、およびx86とx64のバリアントがあります。 BIOSを使用していて、ブートする予定の同じマシンにGrub2をインストールする場合、これは完全にオプションであり、Grub2がこれを独自に検出することをお勧めします。grub-mkconfig
Sudo grub-mkconfig -o /boot/grub/grub.cfg
/etc/grub.d
の各スクリプトが順番に実行され、それらすべての出力が-o file
オプションで指定されたファイルに追加されます。ファイルの場所は、インストールまたは修復の種類によって異なります。 grub/grub.cfg
のエントリを参照してくださいgrub-update
Sudo grub-update [*]
grub-update
を呼び出すことができる唯一の形式です。これは単にgrup-mkconfig -o /boot/grub/grub.cfg
のラッパーです。つまり、/boot
をマウントして動作させる必要があります。すべての引数はgrub-mkconfig
に直接渡されます/boot/grub/device.map
(オプション)
[これを記入]
/boot/grub/core.img
(必須)
これはgrub2のメイン実行可能ファイルです。 [もっと詳しく]
grub/grub.cfg
(必須)
このファイルは、grubのすべてのメニューエントリが読み取られるファイルです。これは、grubがインストールされたオペレーティングシステムの/etc/grub.d
にあるスクリプトのリストで生成されます(これは、grubが最終的に起動するものである場合とそうでない場合があります)。 grub-mkconfig
のエントリを参照してください。このファイルは(Grubに更新があり、/boot
がマウントされている場合)OR(grub-update
が実行されます)OR(grub-mkconfig -o /boot/grub/grub.cfg
が実行されます)。このファイルは、インストールまたは修復を行うかどうかによって正確に存在する場所が異なるため、相対パスでリストされます。修復する場合は、/boot
を含むパーティションを/mnt/boot
などのどこかにマウントする必要があります。この場合、パスは/mnt/boot/grub/grub.cfg
になります。すでにブートされているLinuxシステムにインストールする場合、パスは/boot/grub/grub.cfg
になります。このファイルが見つからない場合でも、grubコマンドシェルを使用して起動できます。これはこのドキュメントの範囲外です(そのためmostlyが必要です)。
/dev/sdb1
のマウントポイントを作成してマウントする/dev/sdb
のMBRにgrubをインストールしますコマンド:
# Step 2
Sudo mkdir /mnt/usb-boot-part
Sudo mount /dev/sdb1 /mnt/usb-boot-part
# Step 3
Sudo grub-install --boot-directory=/mnt/usb-boot-part /dev/sdb