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