Windows 8に付属のHP Pavilion Touchsmartノートブックを手に入れました。8.1にアップグレードし、Windows 10でUbuntuディストリビューションをデュアルブートします。Windows8.1でデュアルブートする場合、Windowsブートマネージャーは常にGRUBをインストールした後でも優先されました。 GRUBをWindowsブートマネージャーではなくデフォルトのブートローダーにするには、何をする必要がありますか?
これは、私がStackExchangeサイトで行った最長の投稿ですが、このプロセスには多くの説明と詳細への注意が必要です。また、問題のハードウェアに固有のものであり、詳細な説明が必要です。
多くの頭痛、2つの偶発的なハードドライブの再フォーマット、およびHPのバグのあるファームウェアの実装に対する多くのフラストレーションの後、XubuntuとWindows 10がうまく並んで実行されました。これはWindows 10で行いましたが、Windows 8.1でも動作するはずです。これらの新しいオペレーティングシステムはどちらも、従来のBIOSシステムではなく、新しい(っぽい)UEFIファームウェアシステムを使用しています。 BIOSシステムとのデュアルブートに関する指示が書かれた多くの場所からたくさんのことを読んでいます。UEFIについてはまるで異なる種類のBIOSであるか、またはBIOSとOSの間のオプションレイヤーであるかのように話しています。 UEFIとBIOSは同じものではありません。 UEFIはBIOSではなく、BIOSはUEFIではありません。それらは完全に異なっています。 UEFIシステムでデュアルブートする場合、異なる方法で実行する必要があることがいくつかあります。
まず、EasyBCDを使用しないでください。 EasyBCDを推奨するoutdatedデュアルブートチュートリアルを見てきましたが、Windows 7およびWindowsで使用される従来のBIOSファームウェアで動作するように設計されていますVista、および新しいUEFIファームウェア(Windows 8、8.1、または10)ではうまく機能しません。既にEasyBCDをいじくり回している場合は、心配しないでください。最悪の場合は、MBRに書き込むことでEFIブートエントリを混乱させる可能性があります。それをステップ4でクリーンアップします。MBRといえば、ペストのようにそれを避けてください。マスターブートレコードは、ハードドライブのブートパーティション(またはWindowsによって書き込まれている場合は、最初のパーティション)に格納されているブートローダーのリストとして、従来のBIOSファームウェアで使用されているものです。これは、ハードドライブ上のオペレーティングシステムを一覧表示し、最初に起動するオペレーティングシステムをファームウェアに伝えることを目的としています。これは、HPのUEFIファームウェアではうまく機能しません。 MBRの変更が行われると、HPのUEFIファームウェアが混乱してWindowsブートマネージャーに戻り、GRUBを完全にバイパスするようです。
必要なもの:
失いたくないすべてのWindowsファイルとフォルダーをバックアップします。新しいUbuntuパーティションに十分な空きハードドライブ領域がある限り、このプロセスはWindowsファイルを妨害することはありません。ただし、Shouldは危険なWordです。
Windows 8.1には「リカバリディスクを作成する」ツールがありますが、作成したバックアップを復元する際に役に立たず、機能しないことがわかりました。失いたくないファイルを保存する最も簡単な方法は、Windowsエクスプローラーを開いて、バックアップディスクにコピーすることです。それは永遠にかかりますが、それだけの価値があります。
これを行うには、管理者としてログインする必要があります。
UbuntuインストーラーがWindowsの存在を検出できるかどうかは、Windowsがブートパーティションでそれ自体を表す方法に依存するため、GRUBをインストールする前に高速起動を無効にすることが非常に重要です。高速起動が正しく無効になっていると、検出されます。検出については、手順4で説明します。
Windows 8、8.1、および10は、Fast Startupと呼ばれるこの派手な新しいものを使用します。これは、システムをシャットダウン前の状態に非常にすばやく復元する特別なブートローダーをファームウェアにロードするよう指示します。かなりクールだよね?まあ、それはEFIシステムの次のブートオプションを変更するため、GRUBのインストール中はこの機能を無効にする必要があります。これは、以下を実行することで実行できます。
より詳細な指示は here にあります。 GRUBのインストール後にFast Startupを再度有効にできますが、Ubuntu/GRUBの起動に問題は発生しないようです。インストール中は無効にしてください。
高速起動を無効にした後、コンピューターをシャットダウンします。高速起動が無効になっているため、Windowsは完全なシャットダウンを実行し、ファームウェアのEFIマネージャーの次回起動オプションを変更しません。 (レイマンの用語:Windowsは、HPシステムに次回起動するときにFast Startupファイルを起動するように指示しないため、必要に応じてEFIブートマネージャーのリストを使用します。GRUBはこのリストの最初に配置されます。 )
Ubuntuをインストールする前に、ライブCD/USBを使用して別のパーティションを作成する必要があります。そうすれば、Windowsは上書きされません。
*バックアップがあることを確認してください。保証なし-これは、Windowsがブートパーティションで行うことを決定したことに依存します。また、使用しているUbuntuバージョン/ディストリビューションにも依存する可能性があります。
パーティションを作成するには、ライブCD/USBから起動し、gpartedを開く必要があります。 gpartedの使用に関するチュートリアルはたくさんありますが、理解するのは非常に簡単なので、詳細はあなたとインターネットに任せます。
4つのパーティションが必要になります。
ブートパーティション。既にWindowsがインストールされている場合は、何もする必要はありません。ドライブの最初のパーティションの1つである必要があります。 Windowsは、ディスクの先頭にRecoveryという別の小さなパーティションを作成することもあります。これはそのままにしておきます。
boot
とだけ呼び出します。ラベルオプションがない場合は、心配する必要はありません。ただし、must、このパーティションに「boot」および「esp」フラグを設定する必要があります。それらがないと、Ubuntuインストーラーはそれを無視してレガシーモードインストールを使用し、Windows(10)は「新しいパーティションを作成できないか、既存のパーティションを見つけることができませんでした」というエラーでインストールを拒否します。か否か。その日のWindowsの感じ方に依存しているようです...Windowsパーティション。繰り返しますが、既にWindowsがインストールされている場合、このパーティションは、ブートパーティションとリカバリパーティションの後に、ここにあるはずです。これは必要な場所ですが、Ubuntuパーティションとlinux-swapパーティション用のスペースを確保するためにサイズを変更する必要があります。これを行うには、gpartedのサイズ変更/移動オプションを使用します。 Ubuntuには少なくとも5 GBが必要であり、linux-swapパーティションは物理RAMのサイズの少なくとも半分にする必要があります。そのため、十分なスペースを確保するためにWindowsパーティションのサイズを変更してください。 gpartedは、潜在的なデータ損失について警告します。パーティションを縮小しても、使用中の領域に縮小しない限り、データを破壊または破損することはありません。
Windows
というラベルを付けます。これにより、Windowsのインストール中に簡単になります。 Windowsインストーラーといえば、まだ開始しないでください。 UbuntuとWindowsの両方を同時に新規インストールする場合、8または8.1から10にアップグレードする代わりに、muchが最初にUbuntuをインストールします。既存のWindows OSからWindows 10にアップグレードする場合でも、Windows 10とUbuntuディストリビューションの両方を新しいハードドライブまたは新しく再パーティションされたハードドライブにインストールする場合でも、最初にUbuntuをインストールする方がはるかに簡単です。 UbuntuはGRUB 2をブートローダーとして使用します。これはEFIブートローダーが行うべきことを行います。 ... Windowsブートマネージャーは、ブートローダーのリストに追加されるときにGRUBを尊重しないため、Windowsブートマネージャーの読み込みを停止します。そのため、代わりにUbuntuとGRUBを最初にインストールしてから、WindowsブートマネージャーのGRUBにエントリを追加します。
ステップ4.1:古いEFIエントリを消去する(オプション)
ここで注意してください。間違ったものを削除すると、大きな問題が発生する可能性があります。
Ubuntuをインストールする前に、過去のOSインストールのゴーストが将来私たちを悩ませることがないことを確認したいと思います。 UEFIシステムでは、オペレーティングシステムはEFI(拡張ファームウェアインターフェイス)ファイルを使用して、ファームウェアに次のように伝えます。新しいOSがインストールされると、EFI Boot Managerのリストにエントリが追加され、一意のエントリ番号が付与され、EFIファイルがどこにあるかがEFI Boot Managerに通知されます(Windowsはいくつかの異なるEFIファイルを登録します- 1つは通常のブート用、もう1つは回復ブート用、もう1つは高速起動用です。おそらく、ファームウェアとOSのバージョンによって異なります。 EFIブートマネージャーは、ブート順序(最初にブートするものを指定するエントリ番号のリスト)も追跡します。 EasyBCDを使用している場合; bcdedit; Windowsのブート修復または回復ツール。 Linux OSでのブート修復。または、Windowsを更新または再インストールした場合でも、EFIエントリリストに重複がある可能性があります。少なくとも、私の場合はそうでした。ここに重複があると、ファームウェアが動作しないブートローダーを見つけるまで、古いファイルや間違ったファイルのエントリを選別するため、起動プロセスが滞ります。また、ブートローダーAがファームウェアをブートローダーBに向け、Aに戻すというブートループが発生する可能性があります。その後、非常に長い時間がかかります...
とにかく、EFIエントリリストを表示し、クリーニングする必要があるものを確認するには、ライブCD/USBでefibootmgr
パッケージを使用します。ターミナルでSudo apt-get install efibootmgr
を使用してインストールし、Sudo efibootmgr
を使用して実行する必要があります。デフォルトでは、次のようなエントリのリストが取得されます。
EasyBCDとbcdeditをいじって適切な順序でブートしようとした後にこのツールを初めて使用したとき、ここには100を超えるエントリがあり、そのほとんどが重複しています。
ブートマネージャーリストが乱雑になっていない場合、または削除できるものと削除すべきでないものを決定することに不安がある場合は、スキップしてくださいステップ4.2。
不要なエントリを削除するには、efibootmgr -b <hex_number> -B
を使用します。hex_number
は、ブートエントリにリストされている番号に置き換えられます。したがって、上の図のUSB Drive (UEFI)
エントリ(Boot2001の番号)を削除するには、Sudo efibootmgr -b 2001 -B
を使用します。あなたは私がいくつかの重複を残したことに気付くでしょう(3000+のすべての番号のエントリ)。 efibootmgr
をさまざまなオプションと共に使用して、エントリが指しているファイルパスなど、エントリの他の属性を表示できます。これらのエントリは重複しているように見えますが、すべてHPラップトップがBIOSを更新するために使用する異なるファイルを指します。 削除するものに注意してください。ここでの置き換えは非常に困難または不可能な場合があります。efibootmgrを使用して、表示されるBootOrderを変更することもできます。この便利なツールの詳細については、 manページ をご覧ください。
ステップ4.2:Ubuntuのインストール
EFI Boot Managerエントリをクリーンアップした後、そうすることを選択した場合は、いよいよUbuntuをインストールします。ライブCD/USBがロードされた状態で、ブートローダーメニューからインストールオプションを選択するか、ログイン後にデスクトップから起動オプションを選択します。インストーラーの最初のページでオプションを選択します。 2番目の部分は次のようになります(Xubuntu 14.04を使用しているため、インストーラーは異なる場合がありますが、オプションはかなり似ているはずです)。
インストーラーが(私のもののように)Windowsインストールを検出しない場合、「その他」オプションを選択する必要があります。そこから、パーティションのセットアップに使用したgpartedメニューに似た画面が表示されます。作成したパーティションを選択し、パーティションを選択して[変更]をクリックするだけで、正しいマウントポイントに割り当てます。
Windows 10用のインストールディスクが必要です。インストールを開始する前に、プロダクトキーが近くにあることを確認してください。そうしないと、インストール/アップグレードができません。インストールCD/USBから起動すると、インストーラーは非常に簡単です。私の快適さのために少し単純すぎます-唯一のボタンは「Windows 10のインストール」またはそのようなもので、Windows 8、8.1、および10は、「We're準備を整えて」、システムで実際に何をしているかについての詳細は提供しません。これまでにこれらの指示に従った場合、定期的にインストールを開始しても問題ありません。
Windows 8またはWindows 8.1からアップグレードする場合、インストールプロセスで特別なことをする必要はありません。 (非常に長い)インストールを完了し、手順6に進みます。
新規インストールを行う場合、インストーラーはWindows 10をインストールする場所を尋ねます。別のパーティションではなく、手順2で作成したFAT32パーティションを選択してください。そうしないと、そのパーティションはワイプおよびフォーマットされます。 Ubuntuはすでにインストールされているため、Windows 10はブートパーティションを尊重し、再フォーマットしないでください。ゴミのエントリをEFIブートマネージャーのリストから削除すると、小さな200 MBのブートパーティションのスペースも解放され、Windowsが混乱して怒り、すべてを完全にクリアする可能性が少なくなります。
Windows 10をインストールまたはアップグレードした後、Ubuntuを再起動してGRUBを更新し、リストにWindowsブートマネージャーが含まれるようにする必要があります。 これを行う前に、高速起動を再度無効にします。これは、手順2で行った方法と非常によく似ています。コントロールパネルと設定UIは、少し異なりますが、ほとんどのオプションはまだあります。
高速起動を再度無効にした後、コンピューターを再起動します。
Windowsがデフォルトで起動する場合、ラップトップの特別なキーを押してシステムのファームウェアメニューにアクセスする必要があります。私のHP Touchsmartでは、そのキーはEscです。他の一般的なキーはF12、Delete、F10です。コンピューターのマニュアルを参照してください。ファームウェアメニューからGRUBを起動します。 「ブートデバイスを選択する」などのオプションがあり、UbuntuまたはGRUBが表示されるはずです。リストにない場合は、EFIファイルから起動するオプションを探し、/ EFI/ubuntu/grubx64.efiまたは(セキュアブートを有効にしている場合)EFI/ubuntu/shimx64.efiを参照します。これらのファイルの実際のパスは、オプション、およびブートパーティションの設定方法によって異なりますが、ファイル名は同じである必要があります。これらの.efiファイルのいずれかを選択するとGRUBが起動し、Ubuntuディストリビューションから起動できるようになります。ログインしたら、ターミナルを開いてSudo update-grub
と入力します。これにより、GRUBがgrub.cfgをコンパイルするために使用するos-proberスクリプトが実行され、grubのEFIファイルに含めるエントリ、使用する色などが指示されます。os-proberスクリプトは、Windowsブートマネージャを識別し、リストに自動的に追加します。
オプションで、Grub Customizerをインストールしてメニューエントリの順序を変更し、GRUBメニューの動作と色と背景を変更できます。 Sudo apt-get install grub-customizer
を使用してターミナルからこれをインストールし、Sudo grub-customizer
を実行できます。
Windows OSと共有されているUEFIシステムでGRUBを使用する場合、MBRにインストールしないでください。いくつかのチュートリアルでは、 Grub Customizerの[ファイル]メニューの[MBRにインストール]オプションを使用します。ほとんどのUEFIシステムでは、これをしないでください。 MBR(マスターブートレコード)はBIOSファームウェア用に設計されており、Windowsブートローダーである程度使用されています。 GRUBをMBRに追加すると、既にEFIエントリリストにある場合、多くのヘアボールが発生する可能性があります。 GRUBが起動順序リストの最初のエントリであることを確認する必要がある場合(つまり、すべてを正しく実行したにもかかわらずWindowsが常に起動している場合)、 efibootmgr を使用します(ステップを参照) 4.1)EFI Managerの起動順序を表示/編集します。
Ubuntuのインストールには通常影響しないため、Secure Bootについては言及していません。多くのデュアルブートチュートリアルでは、無効にする方法について説明していますが、現在の64ビットインストーラーでは通常、これは必要ありません。ただし、各PCは異なり、セキュアブートはかなり新しい(2012年)ため、ファームウェアが異なると実装が異なる場合があります。たとえば、HPファームウェアのバージョンには「レガシーブート」オプションが含まれています。これはセキュアブートを無効にし、インストールされたOSをBIOSファームウェアのように扱います。システムにUbuntuをレガシブートモードでインストールすると、GRUBがEFIエントリリストに自身を追加できなかったため、Windowsブートマネージャが完全に制御できるMBRに自分自身を追加するだけでした。 Windowsブートマネージャーは、エントリーのリストを表示するために多くの調整を行いましたが、その後、Windowsエントリーのみをブートし、電源を入れるたびにEFIファイルを手動で選択せずにGRUBを使用できなくなりました。
Ubuntuとセキュアブートおよびレガシーブートの詳細、およびUEFIとBIOSの一般的なインストールの違いに関する情報については、 here を参照してください。
ポリシー違反の可能性がある投稿を複製したくないので、この問題に対する回答をリンクします。要するに、Windows 10がすでにインストールされているSamsungラップトップがあり、複数のインスタンスでlinuxをインストールしようとしました。 Ubuntu 12.04、14.04、および16.04。Boot-Repairを使用し、Setup BIOSでBoot Priorityを変更しましたが、機能的ではあるが乱雑になりましたGRUB最初にロードします。 ユーザーMichael Hoffmannによる回答 は、空のドライブへのインストールとクリーンアップGRUBの良い説明を提供しますが、Windows 10を削除したくありませんでしたインストール。
詳細な説明は私の投稿にあります HERE 。
この問題の簡単なハックを提示できます。正当な解決策で問題が解決されない場合に使用します。
Windowsが起動順序を変更し続けるので、ハッキングは、WindowsをUbuntuのgrubをWindows起動ファイルとして認識するようにWindowsをtrickすことですbootmgfw.efi
パート1:WindowsのEFIフォルダーへのアクセス
cmdを管理者として開き、EFIフォルダーをマウントしてアクセスします。次のコマンドを1つずつ実行します。以下では、マウントに文字gを割り当てました。PCで割り当てられていない文字を割り当ててください。
mountvol g: /s
g:
cd EFI\
EFI内にMicrosoftフォルダーとUbuntuフォルダーが表示されます。
パート2:grubx64.efi UbuntuからMicrosoft\Boot \にbootmgfw.efiとしてコピーします
最初にbootmgfw.efiのバックアップを作成します
cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi
コピーして名前を変更します。
copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi
パート3:EFIフォルダーをアンマウントする
次のコマンドを1つずつ実行します。
c:
mountvol g: /d
PCを再起動すると、Ubuntu GRUBがロードされ、Windowsを起動するオプションWindows UEFI loaderが表示されます。
上記の問題を少し簡単に解決します。
ここでの特定の回答(具体的には、ここでの非常に詳細な回答)からインスピレーション(正直なところ、回答から取り去り、複雑すぎて合理化するようなもの)を取得することは、これを達成する方法であり、最近のQ&A投稿( EFIにUbuntuをインストールした後にWindowsをインストールできますか? )。
UEFIは、最新のインストールを優先する伝統ではなく、最初にインストールされたシステム(少なくともこれらのHPシステムでは、これを達成したHP OMENを持っています)を優先するように見えるため、最初の最も簡単な方法です。 UEFIは複数のブートローダーをネイティブにサポートしているため、これが発生する可能性もあります。
つまり、UbuntuのGrubに優先順位を付けるには、まずUbuntuをインストールする必要があります。これについて心配する必要はありません。Windows10はその後Ubuntuとうまくインストールされ、WindowsインストーラーでWindowsパーティションを作成してからインストールするだけです。
次に、設定が完了したら、Windowsから再起動します。または、もちろん、Ubuntuを起動する前にこれを行う必要があります。電源オプションに移動して高速起動オプションをオフにし、「電源ボタンの機能を選択して、」および「高速起動を有効にする」チェックボックスをオフにします。
もう1つの方法はefibootmgrを使用することです。私はこれに関する経験があまりないので、UEFIの詳細を知っている素晴らしい人、良い昔のRod Smithから借りることにしました。彼はここで質問に答えました: efibootmgrを使用してブート順序を変更 。彼が言葉どおりに言ったのは次のとおりです。
まず、ブートファイルがディスクの先頭から遠く離れているという不満は、EFIブートコンピューターでは無関係です。 BIOSには制限があります(BIOSの古さによって異なります)が、(最新の)BIOSでも、750GBのディスクには問題はありません。
次に、次のように、
BootOrder
の-o
オプションでefibootmgr
変数を変更できます。Sudo efibootmgr -o 0,1,2
このコマンドは、最初に2つの
ubuntu
インスタンスを設定し、その後にWindows Boot Manager
エントリを設定します。そのshouldがトリックを行います。残念ながら、一部のEFIはバグがあり、BootOrder
エントリを「忘れる」か、そうでなければ誤動作します。問題がある場合は、Windows管理者コマンドプロンプトウィンドウで次のコマンドを試すことをお勧めします。bcdedit/set {bootmgr}パス\ EFI\ubuntu\shimx64.efi
(セキュアブートを無効にした場合は、
shimx64.efi
をgrubx64.efi
に置き換えることができますが、セキュアブートを無効にしても機能します。)それが失敗する場合は、おそらくファームウェアに欠陥があります。 HPからアップデートを入手できる場合があります。そうでない場合、またはそれが役に立たない場合、およびコンピューターの返品期間内であれば、払い戻しのために返品し、壊れていないものを入手します。それができない場合は、GRUBの名前を変更してWindowsブートローダーのふりをするなど、非常にい回避策の領域にいます。 rEFInd専用に書かれていますが、そのトピックに関する情報については here を参照してください。ただし、基本原則はすべてに適用されます。
そのため、基本的にefibootmgrを使用して起動順序を変更します。そうしたら、Windowsの代わりにUbuntuを最初に起動する必要があります。 :)
それがすべて役立つことを願っています!
私はmuchよりシンプルなソリューションを見つけました。これはWindows 10がインストールされたHPラップトップ(355 G2)で機能しました