2つのオペレーティングシステムを切り替えることはできません。

2つのオペレーティングシステムを切り替えることはできません。

私のコンピュータには2つあります。1つはSamsung 970 EVO 500GB M.2 NVMe、もう1つはSamsung SATA SSD 860 EVO(250GB)です。 Windowsはm.2ドライブにインストールされ、最近SATA SSDにPop!_OS(Ubuntuブランチ)をインストールしました。

BIOSに移動してシステムを起動するドライブを手動で選択しない限り、起動時にこれら2つのオペレーティングシステムの中から選択するように求めるメッセージはまだわかりません。

これを行う方法を知っている人はいますか?

Windowsの詳細オプションも確認しましたが、「基本OS」ドロップダウンにはWindows 10のみがリストされていました。 Windowsが別のドライブにある2番目のオペレーティングシステムを表示できないのはなぜですか?

Windowsの高度なオプションも確認しました。

答え1

Windowsの「基本オペレーティングシステム」には、Windowsブートローダを使用して起動してWindows BCDに登録できるオペレーティングシステムのみが一覧表示されます。このオプションは、主に更新するのではなく、以前のバージョンのWindowsを起動できるようにするために存在します(以前のバージョンと同時に新しいバージョンのWindowsをインストールした場合)。

私の考えでは、WindowsインストールはデフォルトのUEFIブートスタイルを使用し、Pop!_OSはレガシーBIOSスタイルを使用しているようです。

最新のUEFIファームウェアでBIOSの互換性サポートモジュール(CSM)が有効になっていても、デフォルトのUEFIブートローダを起動することは無効になっています。 CSMは、レガシーブートローダで使用される16ビットレガシーBIOS呼び出しをサポートします。したがって、UEFI ブートローダは通常、既存の BIOS スタイルのブートローダを起動できません。

一方、CSMがレガシーBIOSスタイルのブートローダを起動する場合、16ビットレガシーBIOS環境には同等のインターフェイスがないため、UEFIブート設定にアクセスするにはデフォルトのUEFIファームウェアインターフェイスを無効にする必要があります。したがって、従来のBIOSブートローダはデフォルトのUEFIブートローダを起動できません。 UEFIランタイムサービスと呼ばれるUEFIファームウェアインターフェイスの一部を使用するには、デフォルトのUEFIブートローダがシステムディスクに正しくインストールされている必要があるため、既存のBIOSメソッドを使用して起動されたオペレーティングシステムは、後でデフォルトのUEFIブートをインストールするためのすべての要件を満たしていますできません。プログラムをロードするために必要な手順です。

これらの制限により、オペレーティングシステムのインストーラを起動する方法によって、通常はオペレーティングシステムの起動方法が決まります。オペレーティングシステムのインストーラがレガシーBIOSスタイルで起動すると、レガシーBIOSブートローダがインストールされます。インストーラが UEFI モードで起動すると、UEFI ブートローダが別途インストールされます。

UEFIスタイルのブートローダを使用するためにPop!_OSを切り替えるために必要な手順は、おおよそ次のとおりです。

  • まず、可能であればPop!_OSにパッケージをインストールしますgrub-efi-amd64grub-efi-amd64-signedこれにより、オペレーティングシステムにGRUBのデフォルトのUEFIバージョンをインストールできます。efibootmgr後でデフォルトのUEFI起動設定を調整するために必要になる可能性があるため、このパッケージもインストールする必要があります。

  • 2. スタートデフォルトのUEFIスタイル外部メディアからPop!_OSのインストールにアクセスします。 Pop!_OSインストールメディアがリカバリモードを提供している場合は、これを自動的に実行できます。他の種類のライブ Linux メディアを使用する必要がある場合は、次の操作を行う必要があります。

    sudo mkdir /old_installation sudo マウント /dev/ /old_installation sudo マウント -t proc proc /old_installation/proc sudo マウント -t sysfs sysfs /old_installation/sysfs sudo マウント -o バインド,rw /dev /old_installation/dev /old_installation/sys/firmware/efi/efivars sudo マウント /dev/ /old_installation/boot/efi sudo chroot /old_installation /bin/bash

(インストールでLVM、ディスク暗号化、またはその他の複雑な機能を使用する場合は、追加の手順が必要です。)Pop!_OSインストールでrootとして実行する必要があります。

まず、デフォルトのefibootmgr -vUEFIブート設定を表示するには実行してください。 Windowsブートマネージャーに言及する必要がありますが、現在GRUBのバージョンはありません。

grub-install --target=x86_64-efi /dev/<your NVMe disk>

これにより、Windowsブートローダと共存できるように、GRUBのUEFIバージョンが自動的にインストールされます。再度実行すると、efibootmgr -vUEFIブート設定にGRUBが追加され、ブート順序で最初のオプションに設定されていることを確認できます。

その後、それを実行update-grubしてコンピュータ上のすべてのオペレーティングシステムを自動的に検出し、GRUBブートメニューを構築します。 Windowsが検出されたことを示すメッセージが表示されます。

答え2

Grubインターフェイスをインストールする必要があります。基本オペレーティングシステム(BIOSで変更可能)と他のオプションから選択できます。数秒後に自動的にデフォルト値が選択されます。

私も初心者だからコードを教えてくれませんね。頑張ってください!

答え3

Windowsはまだロードされていないため、起動するまで何も表示されません。ファームウェアは、ブート優先順位1に設定されたドライブで、Windowsシステム管理者やGRUBなどのブートマネージャを探します。

BIOS/ファームウェアで設定したドライブにGRUB(または同等)がインストールされている場合にのみメニューが表示されます。

M.2 ドライブで Windows 10 で実行するように Linux を再インストールすると、Windows 10 または Linux を提供する GRUB が表示されます。

関連情報