チェーンローダーとefiブートパーティション

チェーンローダーとefiブートパーティション

最近、デュアル ディスク リグにマルチブート システムをインストールしようとしましたが、失敗しました。ディスク 1 に Ubuntu、Linux Mint、Peppermint を正常にインストールし、その後 grub を更新しました。ディスク 2 に CentOS、openSUSE、Fedora をインストールしようとしたとき、さまざまな問題が発生しました。

  1. 十分な空き容量がありません。非 LVM インストール用に GParted を使用して両方のディスクをフォーマットしましたが、ディスク 2 には OS がありませんでした。
  2. インストーラーに他のディストリビューションが表示されません。
  3. マウント ポイントが受け入れられません。
  4. /boot/efi パーティションが必要であり、GPT パーティション テーブルが要求されました。
  5. インストーラーを介してパーティションを変更しようとしましたが、クラッシュしました。
  6. LMDE 2 を試しました (Debian は私の CPU に問題があるのでしょうか?)。インストールされているすべてのディストリビューション (再インストールした CentOS 6.6 も含め、私だけの問題かどうか確認) が表示されましたが、/boot/efi パーティションが必要でした。

行動。

問題が発生していたのは新しい RPM のディストリビューションだったので、最初に CentoS 7 をインストールすることにしました。ただし、CentOS 6.6 は、以前の BIOS 設定と sudo update-grub で問題なく共存していました。特に openSUSE の場合、クリーン インストールの可能性を高めるヒントはありますか。CentOS と Fedora の癖は解決したと思います。

  1. すべてをアンインストールします。新規インストールの場合。
  2. 両方のディスクを GPT を使用して再フォーマットし、各ディスクに 2 つの fat32 /boot/efi フラグ付きパーティションを作成します。これはやりすぎでしょうか、それとも必要ですか?
  3. 次に、新しい手動の非 LVM インストール用に、ext4 と linux-swap パーティションを含む /、/home パーティションを作成しました。
  4. BIOS を確認し、設定をレガシーから UEFI に変更します。
  5. 十分なスペースがないという欠点と、/boot/efi、/home、/、swap の順にマウント ポイントがおかしいという欠点を克服した後、CentOS 7 をインストールします。
  6. コマンド [ -d /sys/firmware/efi ] を実行し、 echo "UEFI モードでインストールされました" || echo "レガシー モードでインストールされました" = UEFI モードでインストールされました。

Ubuntu および Ubuntu ベースのディストリビューションは主に Debian をベースとして使用しており、現在 systemd はまだ実装されていませんが、近い将来に追随する可能性が非常に高いため、今すぐ適応する必要があります。

チェーンローダー。

あまり経験がありませんが、前回試したときには、sudo update-grub で削除されました。その後、Web Safari で、具体的な開始点を見つけて、CentOS 7 の正しい用語 (新規) を呼び出しました。grub2-mkconfig -o /boot/grub2/grub.cfg は sudo update-grub に似ています。次に、"etc/grub.d/40_custom" で gedit ファイルを開き、#40 メニューエントリを編集する (そうするだろうと予想しました)。

ターミナル。

ターミナルで、#... の後にチェーンローダーを入力すればよいのでしょうか? 以下のスクリプトについてはよくわからないので、経験豊富な方のご意見をいただければ幸いです。

[root@localhost tony]# /etc/grub.d/40_custom
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
[root@localhost tony]#

#DISK 1
#
# for CentOS-7
menuentry "My custom boot entry" {
set root= '(hd0,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for openSUSE
"openSUSE-13.2" {
set root='(hd0,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Fedora
"Fedora-22" {
set root='(hd0,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
#DISK 2
#
# for Ubuntu
"Ubuntu-14.04.2" {
set root='(hd1,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Linux Mint
"Linuxmint-17.1" {
set root='(hd1,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Peppermint
"Peppermint-Five" {
set root='(hd1,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}

まとめ。

レガシー モードから UEFI モードに変更し、GPT パーティション テーブルを使用し、両方のディスクに 2 つの /boot/efi パーティションを作成しましたが、これは必要ですか。Chainloader は、自信がないので、他のディストリビューションと調和して動作している他のディストリビューションを問題なくインストールできるように、ガイダンスが必要です。

この件に関して非常に必要なご支援をいただき、ありがとうございます。

答え1

インストーラーが指定したマウント ポイントを受け入れないなどの問題の一部は、明らかにディストリビューション固有のものであり、ディストリビューション固有のフォーラムなどで、それらに関連する個別の質問として対処する必要があります。

複雑なマルチOSセットアップのブートマネージャをどのように構成するかという全体的な質問に対して、まずはそのような複雑なセットアップを作成しないようにアドバイスします。可能であれば、シングルブートで仮想化(VMWare、VirtualBox、KVM/QEMUなど)を使用して複数のOSを処理する必要があります。このアプローチは多くの1 台のコンピューターで 6 つの異なる OS を管理するよりも手間がかかりません。

もし、あんたがしなければならない多数の OS をマルチブートする場合、GRUB は最悪のソリューションだと私は思います。セットアップ スクリプトで複雑な OS 検出ロジックが必要になります。どのディストリビューションのセットアップ スクリプトでも、そのディストリビューションは問題なく処理できますが、他のディストリビューションでは処理がかなり難しくなります。代わりに、別の EFI ブート マネージャの使用を検討してください。詳細は、次のリンクを参照してください。このページ私の場合、ほとんどは手動での設定が必要ですが、その設定はGRUBを動作させるために必要な調整よりもはるかに簡単です。再検索は、起動のたびにブートローダーと Linux カーネルをスキャンするため、おそらく最も簡単にセットアップできます。ほとんどの/boot/refind_linux.confインストールでファイルが必要になる可能性があり、カーネルを保存するファイルシステムに細心の注意を払い、カーネル用の EFI ファイルシステム ドライバーがインストールされていることを確認する必要がありますが、rEFInd は、それ以外の手間をかけずに、ほとんどまたはすべてのディストリビューションを起動し、特定のディストリビューションでカーネルを変更するたびに構成を調整する必要がありません。

関連情報