新しいefiファイルからHPラップトップをgrubで起動するにはどうすればよいですか?


28

オリジナルのWindows 8でUbuntu 12.10デュアルブートをインストールしたHP Pavilion Sleekbook 14ラップトップを持っています。grubでブートするようにセットアップするためにブート修復を使用しました。

私の問題は、作成された新しいefiファイルから直接起動することができなかったことです。BIOS画面でブートオプションを調べましたが、Ubuntuの選択肢はありません。Ubuntuを起動する唯一の方法は、システムの電源を入れたときにF9を押してから、手動でubuntu efiファイルに移動することです。これは機能しますが、細心の注意を払っていなければ、Windowsが起動します。

ブート修復の実行が終了すると、sda2 / EFI / ubuntu / shimx64.efiからブートするように指示されました。Windowsbootmgfw.efiの代わりにこのファイルを移動する必要があるという提案がいくつかありましたが、物事を壊し、Windows 8インストールを起動できません。すでにwin7はwin7よりも嫌いですが、いくつかのタスクのために時々必要になります...

ブート修復の詳細はこちら:http : //paste.ubuntu.com/1418009/


shimx64.efiはうまくいきましたが、私の場合、Ubuntu Gnomeはインストール後に起動せず、BIOSで新しい起動オプションを作成してファイルを選択する必要がありました。
timkofu

ここにはWindowsについてたくさんの答えがあります。LinuxかWindowsを起動しようとしていますか?
エヴァンキャロル

Windowsの懸念のために不必要に複雑な多くの悪い答えは、sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi@ Vitor Abellaの答えからgrubのefiの名前を変更するだけです
エヴァンキャロル

回答:


29

Ubuntu 12.04.3 LTSとWindows 8をデュアルブートしようとしたときに、HP Pavilion g6で同じ問題が発生しました。つまり、「正常に」Boot-Repairを実行した後でも、ノートブックが直接Windows 8で起動していました。 HPシンボルが表示される前にF9を押すと、ブートメニュー(HPのメニューですか。わかりません...)に移動し、そこから「Ubuntu」エントリを選択して、GRUBに移動しました2そして最後に私のUbuntuのインストールに。

それでも、ユーザーの介入を必要とせずに、コンピューターをLinuxから直接起動できるようにしたかったのです。

最後に、上記のRod Smithの回答と、別のフォーラムで見つけた情報を組み合わせて、私にとってはうまくいきました。セキュアブートを無効にし、レガシーブートも無効にします。

これは私がやったことです:

  • 起動時にF9キーのトリックを使用してUbuntuのインストールを起動し、ブートローダーを選択できるようにしました。
  • Ubuntuに着いたら、ターミナルを開きました。
  • 以下のコマンドを使用して、Windowsブートローダーの場所を確認しました。

    $ sudo efibootmgr -v
    
  • 私の場合、元のブートローダーは次の場所にありました/boot/efi/EFI/Microsoft/Boot/bootmgfw.efiコンピューターの別の場所にある可能性があることに注意してください。その場合、以下のコマンドを調整する必要があります。

  • Rodの回答(ブートローダーを手動で修復する方法に関するもの)の勧告に従って、私はそのファイルを1レベル上に移動してバックアップを作成しました。

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • 最後に、その場所にGRUB2のブートローダーをコピーし、Windowsの元のブートローダーの代わりに、システムに希望のブートローダーをロードするように "トリック"しました。

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

そしてついに、GRUB2でデュアルブートが機能するようになりました。更新後にWindowsがブートローダーを再度上書きする場合(私が行ったように)、grubを元の場所に戻す手順は既に知っています。

これが誰かを助けることを願っています。ソリューションに問題がある場合はお知らせください。


9
おかげで助かりましたが、Windowsを起動できませんでした。起動時にGRUBが起動し、GRUBで「Windowsブートマネージャー」オプションが再度GRUBメニューに移動します(これは同じ.efiファイルにリンクするため)。私はブート修復で幸運ではなかったがそれはその問題のように見えた。Ubuntuの/etc/grub.d/に移動し、ubuntuペーストにあるWindowsブートエントリをコピーし、bootmgfw.efiのバックアップを指すように.efiファイルのURLを編集して、ファイル40_customを埋めることで解決しました。したがって、menuentryには次が含まれますchainloader /EFI/Microsoft/bootmgfw.efi
ビンス

1
そのメニュー項目は私のために動作しません
ピエール

@Pierre May:次のメニューエントリを使用するとうまくいくかもしれません:menuentry 'Real Windows' {set root =(hd0、gpt2)chainloader /EFI/Microsoft/bootmgfw.efi}(これは、efiパーティションが最初にあると仮定しますsda2のハードドライブ確認するために、grubにいるときに「c」と入力し、「ls」と入力して使用可能なパーティションを表示することができます。
tobiasBora17年

12

HP ProBook 4340sで、新しいKubuntu 15.04で既に上書きされた元のWindows 8で同じ問題に直面しました(デュアルブートは望ましくありません)。他の試みの中でも、私はBoot-Repairも試してみました(インストール後のHDとboot-repair-diskの両方から)が、その演習はおそらく不要でした。

トリックを作ったのは、BIOSセットアップでの次の変更です(コンピューターを起動した後、F10を押す- システム構成に移動する- ブートオプションを開く)。

  1. カスタマイズされたブートを確認する

  2. SecureBootをオフにする

  3. ブートモードUEFIハイブリッドまたはUEFIネイティブを選択します(UEFIネイティブを選択しました

  4. UEFIブート順序カスタマイズされたブートを先頭に配置

  5. カスタマイズされたブートオプションの定義:[ 追加 ]を選択し、設定を入力します。\EFI\ubuntu\grubx64.efi

Fast Boot Options(F9)のBoot from EFI Fileオプションを使用してGRUBを開くと、正しいパス文字列が見つかりました。最初は、オプションリストに含まれていました。

  • OSブートマネージャー
  • EFIファイルから起動

カスタマイズされたブートオプションを追加した後、リストに追加されました。

  • カスタマイズされたブート
  • OSブートマネージャー
  • EFIファイルから起動

hp zbook 15でこれを正確に行いました。運はありません
cmbarbu

あなたはUEFIシステムを使用し、Windows後UBUNTU 16.10をインストールした場合、この答えに比べ10は正しいものである
leoredi

おかげで、私はこれをしなければなりませんでしたDefine Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

Hewlett-PackardのUEFIは、しばらくの間私に心痛を与えてきました。あなたの修正は、最初にF9を押すことなくGRUBでHPラップトップを再起動するのに役立ちました。

問題が1つありました。修正後、GRUBでWindows 8を選択できましたが、Windows 8は起動を拒否し、GRUBメニューが再び表示されました。

私の修正:

  1. 元のMicrosoft efiファイルのコピー先 /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. /boot/grub/grub.cfg名前を変更したMicrosoft efiファイルを認識するための編集

ラップトップがGRUBから起動し、UbuntuおよびWindows 8がGRUBから正常に起動するようになりました。


5

通常、ブート修復を実行すると、Microsoftの元のブートローダーファイル(bootmgfw.efi)がバックアップされbootmgfw.efi.bkp、元のbootmgfw.efiファイルがGRUB(またはshim)のコピーに置き換えられます。投稿したブート修復の出力にはこれが表示されます。ただし、このようなバックアップファイルは表示されません。したがって、次の3つのいずれかを実行することをお勧めします。

  • ブート修復を再度実行しますが、Microsoftブートローダーのバックアップと交換に関連するオプションを探します。これらのオプションをアクティブにして、プロセスを続行します。GRUBはWindowsを起動できる場合とできない場合があります。ヒットまたはミスのように見えます。セキュアブートをアクティブのままにしておくと、さらに「ミス」します。
  • 手動でジョブを実行します:Linuxからバックアップします/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi/boot/efi/EFI/Microsoft/bootmgfw.efi名前をに変更するのではなく、1レベル下に移動することをお勧めします。bootmgfw.efi.bkp後者は標準ではなく、ブート修復とUbuntuのGRUB以外のツールが見つからないためです)。/boot/efi/EFI/ubuntu/grubx64.efiその場所にコピーします。または、セキュアブートを機能させ続ける場合は/boot/efi/EFI/ubuntu/shimx64.efi、その場所にコピーgrubx64.efiして、/boot/efi/EFI/Microsoft/Boot元の名前を使用します。その後、GRUB構成を変更して、新しい場所または新しい名前でWindowsブートローダーを起動できるようにする必要があります。(GRUBはまだセキュアブートモードでWindowsブートローダーを起動できないと聞きました。そのため、GRUBからWindowsを起動する場合は、セキュアブートを無効にする必要があるかもしれません。 、この点でGRUBの機能について誤解される可能性があります。)
  • セキュアブートを無効にしてから、Linuxを起動し、Debianパッケージを使用してrEFIndブートマネージャーをインストールします。完了したら、と入力しsudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Bootます。後者のコマンドは、先ほど説明した手動の手順またはブート修復の動作に似た方法でファイルを移動して名前を変更しますが、GRUBではなくデフォルトのブートローダーとしてrEFIndをセットアップします。セキュアブートを使用する場合は、ファイルをジャグリングし、shimの新しいバージョンをインストールすることでこれを行うことができます(UbuntuのshimはrEFIndで正常に動作しないほど早いので)。この方法でrEFIndをインストールすると、GRUBを使用せずに起動でき、インストールスクリプト(Debianパッケージのインストール時にパッケージシステムによって実行される)とスクリプトの組み合わせによりmvrefind.sh、発生している問題を回避できます。

記録のために、あなたが抱えている問題はHPのEFI実装の既知のバグに関連しています。基本的に、ファームウェアはMicrosoftのブートローダーから起動し、他から起動するのが困難または不可能になるようにハードコードされています。これについてHPに不満を言うことを強くお勧めします。人々が文句を言わない限り、彼らはそのような問題を解決しません。

3つのソリューションのうち、ブート修復を使用するのが最も簡単に機能する可能性があります。ただし、先ほど述べたように、ブート修復で使用される非標準の命名は、将来的に他のユーティリティに問題を引き起こす可能性があります。手動調整は機能するためにより多くの努力を必要としますが、長期的にはよりきれいになります。GRUBでWindowsブートローダーをチェーンロードする際に問題が発生するという報告を受けている人もいます。そのため、どちらのオプションでもそのスコアに頭痛の種を与える可能性があります。rEFIndはLinuxまたはWindowsを問題なく起動する可能性がはるかに高くなりますが、手順からわかるように、手動でファイルジャグリングを実行するよりも、おそらく起動修復を再度実行するよりも少し手間がかかります。セキュアブートとrEFIndを併用するには、現時点でさらにフープジャンピングが必要です。(詳細については、rEFIndのドキュメントを参照してください。

3つのソリューションすべてにリスクが伴います。EFIの実装はそれらの間で大きく異なります。つまり、1台のコンピューターでうまく機能する自動または手動の手順が、別のコンピューターで悲惨に失敗する可能性があります。身を守るために、ESPをバックアップすることをお勧めします(通常/boot/efiはLinuxで)。ファイルをtarballにパックするか、バックアップディレクトリにコピーするだけです。何かがうまくいかない場合は、緊急ディスクで起動してファイルを復元できます。これにより、おそらくコンピューターが再び起動します。


どうもありがとうございました!私はあなたのオプションをまだ試していませんが、今週末にしようとします。
maddentim

rEFIndブートマネージャーは興味深いようです。だから、あなたは私がセキュアブートを無効にして、Win8を使用できると言っていますか?質問の1つは、tar / boot / efiを試行したときに、tarがubuntuフォルダー内のいくつかのファイルでエラーを出したことです。彼らは「AME = "App.lic」のような奇妙な名前を持っている。中に817にライン809を参照してくださいpaste.ubuntu.com/1418009最後のインストールこの実際に私の第三の試みだった。私は、彼らはゴミであり、削除することができ考えています。あなたは何をすべきかあなたの手順の1つを完了した後、投稿します。
maddentim13年

セキュアブートを無効にし、Windowsの起動に問題がないという人々の報告をいくつか見てきたので、それは問題ではありません。セキュリティ上の利点のために有効にしたい場合は理解できますが、Windowsが起動できなくなる心配はありません。あなたのようtarにエラー、スクリプトのようなその音はバグがありましたし、奇妙な名前のファイルを作成しました。出力でこれらのファイルに気づいたことはありませんでしたが、それらを作成したバグがブートの問題の原因であると考えられます。その場合、rEFIndを使用すると問題を回避できますが、他のソリューションは失敗する可能性があります。
ロッドスミス

rEFIndは正常にインストールされませんでした。LovinBuntuには問題が特定されていると思います。/ boot / EFIは読み取り専用です。出力の一部を次に示します/boot/efi//EFI/refind': Read-only file system cp: cannot create regular file 。mkdir:ディレクトリ/boot/efi//EFI/refind/refind_x64.efiを作成できません:そのようなファイルまたはディレクトリはありませんext4(ext4_x64.efi)のドライバをインストールしますmkdir:ディレクトリ `/ boot /を作成できませんefi // EFI / refind ':読み取り専用ファイルシステムコピーされたrEFIndバイナリファイル
maddentim

3

私は同じ問題に1日を費やし、ついに解決しました。以下は正確な解決策です。この問題を解決するための記事全文は、ここで書かれているロッド・スミス

有用な情報

efiブートローダーでGPTパーティションテーブルを起動するため。efiファイルは、インストール時にオペレーティングシステムによって作成されます。このファイルは、対応するオペレーティングシステムを起動するために、コンピューターのUEFI BIOSに提供する必要があります。

efiファイルを保持するには、1つのEFIパーティションが必要です。これは通常fat32、ラベルがの形式の200MB未満のパーティションですEFI system。これは、.efiファイルと(の形でその依存関係.dllまたは.efiブート可能なパーティション(通常はオペレーティングシステム)のいずれかに起動するために必要なの)。私のコンピューターでは、このパーティションの構造は次のスキーマに示されています。

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

通常、.efiファイルには任意の名前を付けることができますが、一部のコンピューターは特定の名前を探しているようです。したがって、標準名についても言及します。

  1. Bootフォルダ:Isはデフォルトのブートオプションとして認識され、NVRAMが理由で消去された場合。これはデフォルトで使用されます。efiブートローダーの名前は「bootx64.efi」です。デフォルトのefiブートローダーを選択する場合は、efiファイルとその周囲のすべてのファイルをブートフォルダーにコピーし、ソースのefiファイルの名前を「bootx64.efi」に変更します。

  2. Microsoftフォルダー:Windowsのefiブートファイルを保持します。いくつかのefiファイルがありますが、主なファイルは「efibootmgfw.efi」です。これはWindowsが起動するために使用されると確信しています。

  3. Ubuntuフォルダー:UbuntuまたはMintのefiファイルを保持します。いくつかの.efiファイルがありますが、主なものはgrubx64.efi

何をすべきか?

オペレーティングシステムのインストール時にインストールされるブートオプションが既にいくつかあります。ただし、HDDの取り外しと再インストール、新しいオペレーティングシステム、または新しいマザーボードバッテリーの取り付けなど、さまざまな理由でBIOSのブートオプションから削除される可能性があります。ブートオプションを回復するには、2つの解決策があります。

  1. (非推奨)いくつかの回答で説明されているように、動作中のブートオプションを動作していないブートオプションに置き換えることができます。しかし、問題は他の方法のままです。

  2. 欠落しているefiブートローダーファイルを手動で登録します。

実行する方法?

  1. Linuxブータブルフラッシュから起動します(Linux Mintのブータブルフラッシュを使用しています)。これはEFI usbでなければなりません。(ルーファスなどのプログラムで作成できるGPT usb)

  2. EFIパーティションをマウントすると、ディストリビューションがこれを自動的に行う場合があります。/boot使用可能な場合はこの手順をスキップし、上記のような構造を示します。現代のUbuntuはあなたのためにこれを行う必要があります。

    1. EFIパーティションのアドレスを見つけます。これは、partedコマンドまたはDisksプログラムを使用して実行できます。通常、ブータブルディスクの最初または2番目のパーティションです。(/dev/sda1または/dev/sda2)このパーティションは、通常、FAT32で100MB〜200MB、EFIシステムのパーティションタイプです。

    2. EFIパーティションをマウントします。dfコマンドを使用して、パーティションが以前にマウントされているかどうかを確認できます。

      df  /boot/efi
      

      パーティションが以前にマウントされていない場合(前のコマンドには表示されません)mountコマンドを使用してパーティションをマウントします:

      mount  /dev/sda1  /boot/efi
      
  3. ここで参照/boot/efiすると、上記で説明したものと同様のファイル構造が表示されます。紛失したオペレーティングシステムのフォルダを見つけることができるかどうかを制御します。私の場合、コンピューターのBIOSはWindowsブートオプションしか表示できませんでしたが、Linux MintのGrubブートオプションもありました。

    • (非推奨)Windowsブートオプションが機能していたため、まずテスト目的で、Windowsのブートefiファイルと一緒に多数のファイルを保持するMicrosoftフォルダーのバックアップを作成しました。(bootmgfw.efi)次に、ubuntuフォルダーの名前をMicrosoftに変更し、次にの名前をに変更しgrubx64.efiましたbootmgfw.efi。再起動後、Windowsで起動する代わりにgrubメニューが読み込まれますが、今回はWindowsで起動するのはgrubでのみ可能です。また、Windowsを直接起動することはできませんでした。

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • 推奨される方法)関連するオペレーティングシステムをBIOSのブートオプションに表示するefiファイルのアドレスを書き込むだけです。私の場合、Linux MintはコンピューターのBIOSのブートリストにありませんでした。そのefiファイルのアドレスは、/efi/ubuntu/grubx64.efiEFIパーティションのルートに相対的でした。次に、efibootmgrコマンドを使用して、NVRAMに登録しました。

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      p 1コマンドの第1部は、所定のディスクにEFIパーティションのパーティション番号を定義します。 nameForBootOption起動オプションに与えられたカスタム名です

*正しいアドレスを書くように注意してください。Linuxでパーティションをマウントするとき。ルートの下のいくつかのフォルダにパーティションをマウントします。これにより、実際のアドレス/media/mint/CC1F-9708/EFI/ubuntuは、/EFI/ubuntu一部だけを与える必要があるようなものに拡張されます。

* Disksプログラムは、デフォルトでLinux Mintのブート可能なフラッシュ上にある素晴らしいグラフィカルツールです。EFIパーティションの確認と検索に使用でき、mountコマンドまたはpartedコマンドを使用せずにEFIパーティションをマウントするためにも使用できます。メニュー、設定、ディスクで検索するだけです。


推奨されない方法で行った。完璧に働きました。
エヴァンキャロル

1

このバグの影響を受けますhttps : //bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

溶液:

  1. Gpartedを介して、別のEFIパーティションを作成します(FAT32、200MB、ディスクの最初の100GB内にあります)
  2. 「ブート」フラグを移動します
  3. Ubuntuがこの新しいESPを使用するようにします(たとえば、Boot-Repair-> Recommended Repairを使用)。

まあ、最初の100GB内に別のESPを作成するということは、win8パーティションを200MB以上移動することを意味します...そこで注意する必要があると思います。Windowsの起動が壊れる場合があります。たぶん私はそれを吹き飛ばす必要があります。とにかく好きではありません。Netflixを見るためだけに本当に必要です!
maddentim

Boot-Repair( 'boot-sav'および 'boot-repair'パッケージ)を更新してから、Recommended Repairを実行し、表示される新しいURLを指定してください。
LovinBuntu


1

Cent-OS 7をWindows 10にインストールした後、同様の問題に直面しました。以下のプロセスが続きます。

  • 初期OSはWindows 10でした
  • rufusによって作成されたuefi usbを使用してcent-os 7をインストールしました

問題:Windows 10がロードされ、セントOSブートメニューが表示されませんでした。

  1. 解決方法:
  2. ビオスに行きました
  3. レガシーブートを有効にしました(将来の予防措置のための追加手順にすぎません)
  4. 起動オプションに移動します
  5. OSブートマネージャーをクリックします
  6. CentOS UEFIをウィンドウの上に移動:f10を押して保存します
  7. ODブートマネージャーをもう一度クリックして確認します。
  8. f10を押して保存して終了します

これで、システムはcentos UEFIで起動します

レガシーブートを有効にしたため、ESCキーを選択してBIOSまたはその他のブートオプションに移動できます


1

bootmgfw.efirEFIndまたはGRUBに置き換えることなく、HP Pavilion g7-2269wm(UEFI)でrEFInd(GRUBも可能)を起動する方法を見つけました

rEFIndをインストールし、ブートマネージャリストにrEFIndを追加しました sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

F9を使用して再起動してrEFIndを選択し、次にUbuntuを選択しました。

次にbootmgfw.efibootmgfwms.efiusingに名前が変更されました

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

その後、再起動し、F9を使用せずにrEFIndで再起動しました。Windows10エントリがなくなったため、Ubuntuを選択しました。

その後、私が実行したWindows 10エントリを取り戻すために

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

その後、再起動すると、F9を押さずにrEFIndが表示され、Windows 10がエントリとして表示されます。


1

これは、VinceやIのようにウィンドウを起動できない人のためのmairabcの答えです。fs_uuidが必要です。

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

そして、hints_string:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

次に、ファイル/etc/grub.d/40_customを次のように編集する必要があります。

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

保存して

# update-grub

Windowsを再起動します...


1

私のHPラップトップでは、次のように段階的に行いました。

1-F9でUbuntuを起動します

2-Windowsブートローダーの場所を確認する

sudo efibootmgr -v

私の場合 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3-.efiファイルのバックアップ:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4-元の.efiファイルをubuntuのものに置き換えます(トリック):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5-GRUBにWindows 10メニューエントリを追加します。/etc/grub.d/40_customファイルの最後にこのメニューエントリを開いて追加します。

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6-保存40_customして:

sudo update-grub

7-BIOSでセキュアブートを無効にします(必要かどうかわかりません)

8-すべてがうまくいった場合、デフォルトでubuntuで起動し、windows 10はgrubの別のオプションになります。

思ったより簡単でした。


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi完璧に働きました。
エヴァンキャロル

@EvanCarroll、答えを改善すべきだと思いますか?それは本当に私が行うステップです。
ビトーアベラ

まあ、正直に言うとこの答えが必要かどうかはわかりません。それはたくさんの言葉ですが、あなたの方法は、Tekinが推奨されていないセクションで持っているものと同じですしかし、Linuxのみのユーザーの場合、その方法は単純さのために素晴らしいです。
エヴァンキャロル

1

14インチのWindows 10とUbuntuデュアルブートを備えた2018 HPラップトップを持っています。以前はF9を押して、必要なOSを選択していましたが、今は数週間行っています。

溶液:

  • シャットダウンし、F10を押してBIOSに入ります

  • ブート順序をリストするBIOSの部分に移動します

  • OSブートマネージャーでEnterキーを押します。

  • F5またはF6を使用して、UbuntuをWindowsに切り替えます。

  • 保存して終了。


0

これはWindowsの問題ではありません!HPファームウェアはUEFIファーム変数「BootOrder」を使用しない(または適切にサポートさえしない)ため、完全にバグがあります。これに対する唯一の修正は、Windowsブートローダーファイル(既に述べたように)をgrub.efiに置き換えることだと思います。


0

私のシナリオは、15:20投稿のMichalŽarnayの15年8月19日のポストに似ています:HP Pavillion Slimline 400-314ミニタワーをいくつか入手しました。プリインストールされたWindows 8は必要ありませんでした。 Grub2。

残念ながら、パビリオンのBIOSメニューのブート構成は非常に限られています。他のほとんどの人がここで説明しているような素晴らしい選択肢はほとんどありません。起動順序を変更しようとしても失敗しません。

私が機能するようになった唯一の解決策は、このブログの「代替ネーミングソリューション」セクションで説明されている「代替ネーミング」回避策を使用することです。


1
Ask Ubuntuへようこそ!これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
マークカービー

0

@Vitor Abellaの手順により、HP 2000-notebookのデュアルブートの問題が解決したことを確認します。ただし、次のいずれかを実行する必要があります(@mairabcが言及したとおり)

  • レガシーブートを有効にします(デフォルトでは、セキュリティブートは無効になっています)

または

  • レガシーブートを無効にし、セキュリティブートを有効にします。

0

ブートファイルを移動したくない場合は、ブートシーケンスを手動で変更してみてください。

ubuntuに手動でアクセスし、以下を使用して現在のブートシーケンスとそのIDを確認します。

sudo efibootmgr -v

次に、-oとIDを使用してブートシーケンスを変更します(ブート順は左から右)。

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003




1.現在のブート設定を表示する

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2.起動順序を変更します(最初にubuntuを起動し、起動時に起動メニューを表示します):
Boot2003(フロッピーディスクドライブ?)を見つけることができなかったため、最初の試行でエラーが発生したことに注意してくださいただし、再起動後に再作成されます。

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3.再起動します。ブートメニューが表示されます。(2003は自動的に再追加されます):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

0

私のソリューションは、grub4dosがロードされていることを知った後に実現しました

このエントリを作成します men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi

0

Windows 8が10にアップグレードされたノートブックHP-15-r248nfにUbuntu 14.04 64ビットをインストールした後、Realtek Wifiドライバー(を使用して解決echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf)とのWifi接続のドロップの問題に加えてスムーズに発生しましたが、PCはWindowsで起動しました。

grubを介したUbuntuは、ブートフェーズでESCキーを使用する場合にのみ使用可能になりました。boot-repairは役に立たず、実際にはgrubにかなり多くのオプションをインストールしましたが、grubにはまだ直接アクセスできませんでした。

実際、起動順序をデフォルトから変更するだけで済みました。

  • PCのスイッチをオンにした後の起動ステップで、Escを押してからF10を押してBIOSセットアップに入ります。
  • 「システム構成」タブから「ブートオプション」まで進みます。Enterキーを押します。「セキュアブート」を無効にする
  • UEFIブート順序に進みます。F5 / F6を使用して、OSブートマネージャーを一番上に配置しました(おそらく必要ありません)。
  • Enterで「OSブートマネージャー」を選択します。F5 / F6を使用して、ubuntuをWindowsブートマネージャーの上に移動します。
  • F10 Save / exitを使用してBIOS設定を終了し、行った変更を確認します。

ここで、grubに移動します。ここで、上部に星印の付いたUbuntuオプションを選択します。これは、少し遅れて自動的に起動します。


2
これを少しフォーマットしてください。それが答えかどうかさえわかりません。
TheWanderer

0

次のようなEFIブートの問題を解決しました。

efibootmgr -oあなたが再起動したら、それは動作しませんので、オプションは、上書きされます。

しかし、私はこの-nオプションがそうであることがわかりました。そのため、ライブusb-ubuntuを実行してefibootmgr、ubuntu の4桁の数字を見つけ、-nオプションでその数字をロードします。次に、システムから再起動できるようにするには、次のようなスクリプトを作成します。

#!/bin/sh
/usr/bin/efibootmgr -n 0000

0000ubuntuエントリに置き換えます。実行crontab -eすると、cronを編集できます。次のような行を追加します。

@reboot /home/"user"/"path"/efibootsj

efibootsjコンピューターが起動すると、スクリプト(または名前は何でも)が実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.