私のコンピュータには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番目のオペレーティングシステムを表示できないのはなぜですか?
答え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-amd64
。grub-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 -v
UEFIブート設定を表示するには実行してください。 Windowsブートマネージャーに言及する必要がありますが、現在GRUBのバージョンはありません。
grub-install --target=x86_64-efi /dev/<your NVMe disk>
これにより、Windowsブートローダと共存できるように、GRUBのUEFIバージョンが自動的にインストールされます。再度実行すると、efibootmgr -v
UEFIブート設定にGRUBが追加され、ブート順序で最初のオプションに設定されていることを確認できます。
その後、それを実行update-grub
してコンピュータ上のすべてのオペレーティングシステムを自動的に検出し、GRUBブートメニューを構築します。 Windowsが検出されたことを示すメッセージが表示されます。
答え2
Grubインターフェイスをインストールする必要があります。基本オペレーティングシステム(BIOSで変更可能)と他のオプションから選択できます。数秒後に自動的にデフォルト値が選択されます。
私も初心者だからコードを教えてくれませんね。頑張ってください!
答え3
Windowsはまだロードされていないため、起動するまで何も表示されません。ファームウェアは、ブート優先順位1に設定されたドライブで、Windowsシステム管理者やGRUBなどのブートマネージャを探します。
BIOS/ファームウェアで設定したドライブにGRUB(または同等)がインストールされている場合にのみメニューが表示されます。
M.2 ドライブで Windows 10 で実行するように Linux を再インストールすると、Windows 10 または Linux を提供する GRUB が表示されます。