WindowsとUbuntuのデュアルブートがあります。マシンの電源を入れると、BIOSがPOSTを実行し、その後ブートローダーが起動します。
BIOSが実行するブートローダーをどのように選択するかを理解したいと思います。BIOSとデュアルブートコンピューターのブートローダーの間で行われているプロセスを知りたい。
WindowsとUbuntuのデュアルブートがあります。マシンの電源を入れると、BIOSがPOSTを実行し、その後ブートローダーが起動します。
BIOSが実行するブートローダーをどのように選択するかを理解したいと思います。BIOSとデュアルブートコンピューターのブートローダーの間で行われているプロセスを知りたい。
回答:
BIOSファームウェアは、実際にはブートローダーを選択しません。ドライブのセクター0からコードをロードして実行します。そこに何があっても、それは実行されます。うまくいけば、それはブートローダー(またはブートローダーをロードするもの)ですが、そうである必要はありません。初期のPC時代には、OSなしで単純に起動して実行するゲームがフロッピーディスクにありました。これらは現在、「ブーター」と呼ばれています。
UEFIファームウェアは実際にパーティションとファイルシステムを理解し、ドライブをスキャンしてUEFIシステムパーティションタイプを探します。これはファイルシステムであるため、複数のブートローダーをここに配置できます。UEFIファームウェアは、使用するブートローダーを選択するためのメニューまたは他の方法を提供することになっています。
多くのUEFIシステムは「レガシーモード」で起動します-UEFIは「互換性サービスモジュール」-BIOSのように見えるものをロードし、実際にはBIOSのように動作します。
GRUBは一般的なオープンソースのブートローダーで、Linuxをブートするか、Windowsブートローダー(通常はWindowsパーティションのブートフォルダーにあるwinload.exe)を「チェーンロード」する(制御を与える)ことができます。GRUBは、決定を下す能力を提供します。GRUBは構成ファイルを読み取り、それらからデフォルトの選択を取得できます。
たくさんの詳細な情報が必要な場合は、これをお読みください。
sudo
マウントされていないディスクに何かを書き込むためにroot が必要な理由の1つです。プログラムまたは悪意のあるユーザーがマルウェアをブートパーティションに書き込む場合...
この図は、制御がファームウェア(BIOSまたはUEFI)からブートローダーに、およびブートローダーからUbuntuのオペレーティングシステムにどのように渡されるかを示しています。
OSが異なるモード(BIOSとUEFI)でインストールされている場合、WindowsとUbuntuのデュアルブートは機能しません。
確認この答えとhttps://help.ubuntu.com/community/UEFIに関するセクションでのUEFIモードにUbuntuでの変換を。
GRUBブートローダーは、UEFIからBIOSに逆方向に変換することもできます。Linuxは、BIOSモードでGPTディスクから正常に起動できます。この回答を参照してください:EFIからBIOSブートモードに変換する
UbuntuをUEFIモードに変換する
[ / boot / efiパーティションを分割する ]オプションが表示されている場合は、その左側のチェックボックスにチェックマークを付けて、右下隅の[ 適用 ]ボタンをクリックします。
UEFIモードでハードドライブを起動するようにBIOSを設定します。この設定を調整する方法は、コンピューターの特定のモデルによって異なりますが、通常、この設定はBIOS / UEFIセットアップユーティリティの[ ブート ]タブの下のブート優先度設定にあります。
レガシーモード(UEFIではなくBIOSブート)では、BIOSがドライブの順序を制御します。昔々、これはケーブルによって制御されていました。BIOS設定を変更すると、ボックスを開いてケーブルを変更するよりも速くなります。
BIOSは、最初のディスク(またはBIOSによって制御されるドライブ順序)の最初のセクター(MBRまたはマスターブートレコードと呼ばれる512バイトのディスク)を(メモリに)ロードし、この「ブートローダー」に(CPU)制御を渡します。BIOSはこのようにジョブを完了し、最初のセクターのコードが実行されます。