SSDとHDDによるデュアルブート

SSDとHDDによるデュアルブート

私は、Ubuntu 20.04 をインストールした SSD と、WINDOWS OS をインストールした HDD を持っています。私は 12 GB RAM を搭載した HP ラップトップを使用しています。そこで、必要に応じて OS を切り替えられるようにデュアル ブートを管理する方法を知りたいです。主に Ubuntu を使用していますが、時々 Windows が必要になります。SSD サイズは 240 GB なので、そこに Windows をインストールしたくありません。

ありがとう

答え1

これにはいくつかのアプローチがあります。

BIOS ブート メニューを使用して OS を選択できます。

メイン ブート ドライブの UEFI パーティションに両方のオペレーティング システムのブートローダーをインストールし、次のいずれかを実行できます。

  • refindのようなUEFIブートセレクターを使用して、インストールされているオペレーティングシステムを選択します。
  • Linux GRUBを使用してWindowsまたはUbuntuを選択します
  • ツールを使用して Linux を Windows ブート メニューに追加する

最も簡単なのは、GRUB を使用して選択することですが、そのためには、Windows ブートローダーと同じ UEFI パーティションに Linux ブートローダーをインストールし、GRUB のデフォルト オプションで Windows 検出を有効にする必要があります。

答え2

最近の EFI ベースのコンピュータは、古い BIOS ベースのコンピュータに比べて、ブート オプションに関してはるかに柔軟性があります。BIOS では、デフォルトのブート ディスクを選択したり、場合によってはディスク以外のデバイス (ネットワーク ブート オプションなど) を選択したりできましたが、それだけでした。EFI/UEFI では、ブート ローダーはディスク上のファイルに保存されるプログラムであるため、1 つのディスクに複数のブート ローダーを含めることができ、ブート ローダーが試行される順序を設定できます。ほとんどの EFI では「ディスクをブートする」オプションが提供されていますが、これは古い BIOS スタイルのブート (互換性サポート モジュール (CSM) と呼ばれるものを使用。これは、おそらくこのケースでは使用されていないでしょう)、または「フォールバック」ファイル名を使用したブート ( EFI\BOOT\bootx64.efix86-64 システムの場合) のいずれかを指します。この質問は、ブート プロセスに関する BIOS スタイルの考え方を明らかにしていますが、EFI モードのブートを扱うときに、これは大きな誤りにつながる可能性があります。

Windows と Ubuntu をデュアル ブートする適切に構成されたコンピューターでは、各 OS に 1 つずつ、少なくとも 2 つのブート エントリが存在する可能性があり、フォールバック ブート ローダー、組み込みツールなどのシステム固有のブート オプションも存在する可能性があります。Linux のブート オプションは、ツールを使用して次efibootmgrのように確認できます。

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0009,0006,0007,0008,0001,0002,0003
Boot0000* ubuntu
Boot0001* UEFI:CD/DVD Drive
Boot0002* UEFI:Removable Device
Boot0003* UEFI:Network Device
Boot0006* UEFI OS
Boot0007* Hard Drive
Boot0008* CD/DVD Drive
Boot0009* Windows Boot Manager

この例では、Boot0000(別名ubuntu) はブート順序の 1 番目であり、Boot0009(別名) はブート順序の 2 番目です (ただし、ブート エントリのリストの一番下にあります)。コマンドに をWindows Boot Manager追加することで詳細を表示できますが、追加情報を解析するにはある程度の知識が必要です。-vefibootmgr

ほとんどの OS は、インストール時に、独自のブート ローダーをデフォルトに設定します。この事実は、一部の OS のブート ローダーが他の OS の存在を他の OS よりもうまく検出するため、意味を持ちます。Ubuntu と Windows をデュアル ブートする最も簡単な方法は、最初に Windows をインストールしてから Ubuntu をインストールすることです。Ubuntu の GRUB 2 セットアップ スクリプトは通常、Windows を検出し、GRUB 2 ブート メニューに追加します。これが機能しない場合、または別の順序でインストールした場合は、問題を解決するために実行できる手順がいくつかありますが、どの手順が効果的かはわかりません。オプションには次のものがあります。

  • インストールするrEFInd ブートマネージャーは、起動のたびに他の OS のブートローダーをスキャンします。 と入力すると、Ubuntu にインストールできますsudo apt install refind
  • にWindowsが起動順序の先頭であることが示されている場合、上の例のように(Windowsが先頭である場合)オプションefibootmgrを使用して起動順序を変更できます。入力する正確な数字は-oefibootmgrsudo efibootmgr -o 0,9,6,7,8,1,2,3非常にシステム固有です。また、おそらく最初の 1 つか 2 つの数字だけが必要です。他の数字は、最初の数字が機能しない場合に備えて存在します。
  • Ubuntu を最初にインストールし、次に Windows をインストールした場合、 でブート順序をリセットするefibootmgr必要があるかもしれませんが、それだけでは十分ではありません。GRUB 2 構成に Windows も追加する必要があります。これは通常 で実行できますsudo update-grub。これが機能しない場合は、高度な GRUB 構成になっていることになり、面倒です。rEFInd をインストールする方が簡単かもしれませんが、私の意見は偏っています。(私は rEFInd を保守しています。)
  • 起動順序を調整してefibootmgrも効果がない場合は、おそらくブートクーデター、リンク先のページで説明されているように、修正が難しい場合があります。ブート クーデターの原因を特定することが重要です。Windows がブートのたびにデフォルトとしてリセットされているのでしょうか。NVRAM が不安定なのでしょうか。GRUB が失敗して終了し、代わりに EFI が Windows をブートしているのでしょうか。UEFI ファームウェアにバグがあるのでしょうか。最適な解決策は原因ごとに異なります。

関連情報