現在、私はArchとWindowsをインストールして設定し、grubをインストールしました。別のパーティションに別のArchインストールを実行する予定です。
新しくインストールされたディストリビューションにgrubを再インストールして設定する必要がありますか?それとも古いディストリビューションを使用できますか?
古い(この観点から現在) grub を引き続き使用する場合は、新しい Arch インストールを表示できるように再構成する必要があるようです。
(以前のArchインストールを使用して)現在のパーティションをフォーマットするとどうなりますか?
Grubは引き続き機能しますか(つまり、問題を解決するにはライブCDを起動する必要があります)。
要約すると、grubはオペレーティングシステムに関係なく共通の場所にインストールされていますか、それとも一部のオペレーティングシステム(現在のArchインストール)と一緒にバンドルされていますか?
チュートリアルでは、次のコマンドを提供します。grub-mkconfig -o /boot/grub/grub.cfg
これは grub が特定の Linux インストールに関連していると考えられますが、grub-install
ディレクトリを指定せずにコマンドも表示されます。
grubが現在のインストールに接続されている場合、私のコンピュータはgrubをチェックするパーティションをどのように知ることができますか?そうではなく、「一般」なら、なぜパッケージに「インストール」する必要がありますか?特定アーチのインストール?
答え1
命名規則:
GRUB(一部)はMBRに残ります。
GRUB(残り)はロードされるいくつかのファイルです
/boot/grub
(たとえば、GRUBで背景として表示される素晴らしい画像はMBRには保存されません)。
メモ:
答えはMBR設定を考慮することです。 GRUBは他の設定で使用できます。
EFI設定では、状況が複雑になり、GRUBを使用できますが、カーネル自体も独自のEFIスタブとして機能する可能性があります。
GRUB(一部)はMBRにインストールされます。 MBRはディスクの最初の512バイトです。 MBRはディスクのパーティションテーブルでも使用されるため、GRUB自体のスペースは512バイト未満です。
MBR内のGRUB(一部)は、GRUBのMBRへのインストール中に定義されたディスクの他の部分からより完全なGRUB(残り)をロードします(grub-install
)。 MBR GRUBはディスク(通常は)内の対応するエントリを見つける必要があるため、デフォルトの/boot
GRUBを持つパーティションはパーティションテーブルから離れすぎてはいけません(通常512MB
は異なる場合があります)。
独自のパーティションを持つことが便利なので、/boot
そこからディスク全体のGRUBを管理できます。
どういう意味ですか:
MBRのGRUBは、ディスクから1つのGRUB(残り)しかロードできません。
コンピュータのすべてのオペレーティングシステムを見つけるには、ディスク上の特定のGRUB(残り)を設定する必要があります。
このコマンドがgrub-mkconfig -o /boot/grub/grub.cfg
実行されるとos-prober
(見つかった場合)、すべてのパーティションを検索し、grub.cfg
すべてのオペレーティングシステムへのポインタを生成します。
/boot
したがって、複数のパーティション(またはMS Windowsと同等のパーティション、わかりませんがわかっています)がある場合、os-prober
システムはos-prober
そのパーティションを見つけてgrub.cfg
それに応じて作成します。grub-install
現在実行中のオペレーティングシステムのGRUBを指すMBRからGRUB(その一部)インストールを実行しますgrub.cfg
。
どういう意味ですか:
システム全体には GRUB が 1 つだけ必要です。
MBRが異なるため、ディスクごとにGRUBが異なる可能性がありますが、これはディスクを削除したい場合にのみ意味があります。
単一のGRUBインストールですべてのオペレーティングシステムの起動を管理できます。
単一ディスクでは、常に
grub-install
単一のオペレーティングシステムでのみ実行する必要があります!これは重要です。それ以外の場合、設定は上書きされます。
答え2
明確にするために:あなたは使用していますgrub2
、正しいですか?
Grub2が独自のブートパーティションにインストールされている場合は、何も変更する必要はありません。そうでない場合(本当に奇妙です)、技術的に維持するか、grub.cfg
ディストリビューションにいる場合はそれを維持できます/etc/grub.d
。
/boot
しかし、それ自身のパーティションでなければなりません。実行してmount
次の内容が表示されます。
/dev/sda1 on /boot type ext4 (rw,relatime,seclabel,stripe=4,data=ordered)
必要に応じてGrub2を独自のパーティションにインストールしました。通常、新しいディストリビューションをインストールすると、ウィザードは通常インストールプロセスを案内し、どのパーティションにどのオペレーティングシステムが含まれているか(該当する場合)を見つけます。 Archのプロセスはやや退屈ですが、非常によく記録された。
ひどいことが起きたらどうしますか?
ダウンロードゴポット、USBスティックに挿入して起動し、/boot
パーティションをマウントします。
その後、rootとして実行するかsudo
、を使用します。
grub-mkconfig -o /boot/grub/grub.cfg
Grub2は自動的にパーティションを検出し、それに応じてアクションを取ることができるはずです。
(しかし、Grub2でオペレーティングシステムを検出するために完全なインストールパーティションが必要かどうかは現時点では不明です。)
Windowsを同時にインストールする場合は、Windowsがブートローダを上書きしている可能性があります。この問題を解決するには、rootとして実行するか、を使用してくださいsudo
。
grub-install /dev/sdX
/dev/sdX
ブートパーティションがあるドライブはどこにありますか?
いくつかの説明:
Grub2はステージ2です。ブートローダー。これはオペレーティングシステムではありませんが、プライマリパーティションの最初の446バイトに収まる単純なチェーンローダよりもはるかに複雑です(最初のセクタの残りの部分はパーティションテーブルであり、フラグは待ちます)。
MBRには、/boot
パーティション内のGrub2コードを実行するコードのみが含まれています。 Grub2それからまたはチェーンロード別のパーティション(たとえば、独自のブートローダをインストールしているため、Windowsブート用)に移動しますが、コードを実行したりmemtest
(たとえば)カーネルとモジュールイメージにアクセスして実行することもできます(vmlinuz
)。
どちらの場合も、カーネルが実行を開始するか、別のパーティションがチェーンロードされると、Grub2がメモリからアンロードされることに注意することが重要です。
答え3
Grubは特定のオペレーティングシステムに縛られていません。専用のパーティションに常駐することもできますが、通常はデフォルトのファイルシステムに沿ってマウントされます。ただし、システムを起動するにはこれを知る必要があります。したがって、新しいオペレーティングシステムのインストールやカーネルのアップグレードなど、コンピュータシステムに重大な変更が加えられた後は、Grubを更新する必要があります。唯一のGrubを削除すると、システムを起動できなくなります。マシンには複数のGrubがありますが、1つだけデフォルトまたはアクティブです。 Grubに加えて(Grubの代わりに)利用可能な他のブートローダがあります。 Windowsには、システム全体のデフォルトローダーとして設定できる独自のブートローダーがあります。