web-dev-qa-db-ja.com

rEFIndを使用してWindows10を起動できない(解決済み)

編集:解決済み。以下を参照してください。

以前はWindows10のラップトップのみにArchLinuxをインストールしました。 ArchLinux用とWindows用のssdが1つずつあります。 ArchLinuxで完全に機能するブートローダーとしてrEFIndを使用したいと思います。 this チュートリアルに従って、Windowsのメニューエントリを設定しようとしました。問題は、\EFI\tools\Shell.efiまたはfs0:\EFI\tools\launch_windows.nshがないことです。私の勘は、2つのssdがあり、以前はWindows 1つしか使用していなかったため、2つのESPがあり、Windows .efiファイルがArchLinuxESPに存在しないということです。これは正確ですか? Windowsドライブのパーティションを調べてみましたが、そこにも.efiファイルがありません。 WindowsがBIOSを使用して起動していて、それらのファイルを作成しなかった可能性はありますか?

編集:UEFIモードでWindowsを再インストールする必要がありました。レガシーモードでした。

2
Marcel

rEFIndは、Windows EFIブートローダーを自動的に検出し、そのメニューエントリを作成する必要があります。これが発生しない場合、私の勘は、WindowsがEFI/UEFIモードのGPTディスクではなく、BIOS/CSM /レガシーモードのMBRディスクにインストールされていることです。次のように、ディスクのパーティションテーブルタイプを確認できます(rootとして)。

parted /dev/sda print | grep Table

ディスクごとに/dev/sdaを変更します(おそらく/dev/sda/dev/sdbですが、もっとエキゾチックなものかもしれません)。 partedはGPTディスクをgptとして報告しますが、MBRディスクにはmsdosを使用します。私の勘が正しければ、LinuxディスクはGPTとして表示され、WindowsディスクはMBRとして表示される可能性があります。

私が正しければ、refind.conf(通常は/boot/efi/EFI/refindまたは/boot/EFI/refind)の編集を試すことができます。scanfor行のコメントを外し、hdbiosをに追加します。オプション。これにより、rEFIndはBIOSモードOSの起動のサポートをアクティブ化するように指示されます。起動すると、おそらく1つまたは2つの灰色のひし形のアイコンが表示されます。そのうちの1つはWindowsを起動するはずです。 (アイコンが1つしか表示されず、Windowsが起動しない場合は、uefi_deep_legacy_scanrefind.confオプションのコメントを解除してみてください。)機能しないWindows起動エントリを非表示にする場合は、これを行うことができます。 dont_scan_volumesを使用して、ブートオプションの説明の一意の部分を見つけて非表示にできると仮定します。

これらすべての代わりに、またはrEFIndのBIOSモードのサポートがコンピューターで機能しない場合は、WindowsをBIOSモードではなくEFIモードで起動するように変換できます。これは、BIOSモードのサポートをrEFIndの構成に追加するよりもリスクがありますが、起動が少し速くなり、WindowsがEFI機能にアクセスできるようになります。この変更を行う方法については、 このページ を参照してください。

WindowsがBIOSモードで起動しているという私の仮定が間違っている場合は、他の何かが間違っています-おそらく、Windowsブートローダーを保持しているESPのファイルシステムが破損しているか、Windowsが破壊されている可能性がありますブートローダー。必要な修復は、問題の正確な性質によって異なります。この場合、 ブート情報スクリプト を実行してください。これにより、RESULTS.txtというファイルが生成されます。そのファイルをに投稿してください。 Pastebinサイト そしてここにあなたのドキュメントへのURLを投稿してください。

4
Rod Smith

\EFI\tools\launch_windows.nshファイルは、実際のWindowsブートローダーを起動するスクリプトの単なる例だと思います。これはEFI\Microsoftディレクトリのどこかにあるはずです。

\EFI\tools\Shell.efiファイルはUEFIシェルであり、 ここ から取得できます。ただし、Windowsブートローダーを起動するだけの場合は、そのためのシェルは必要ありません。 Windowsブートローダーは、通常のUEFIアプリケーションと同じように直接起動できます。

次のようなものを追加してみてください。

menuentry Windows {
    loader \EFI\Microsoft\Boot\bootmgfw.efi
}

rEFInd構成に。

2
ea7ababe

WindowsがレガシーBIOSモードでインストールされていたシステムにEFIブートローダーを使用してLinuxをインストールした後、Windowsを起動できず、Linuxのみが起動しました。 @Rod Smithの回答は素晴らしく、さまざまな問題のトラブルシューティングに役立ちました。しかし、rEFIndをインストールして構成オプションを設定した後でも、Windowsを起動できませんでした。ドライブをMBRからGPTに変換しましたが、機能しませんでした。 UEFIとレガシーの間でマザーボードを切り替えようとしましたが、それでも何も起こりません。実際、Windows用のEFIブートローダーをWindows\Boot\EFIからESPにコピーする必要がありました。そして、私は@MarcelがWindowsを再インストールする代わりに同じことをしたかもしれないと推測しています-それは確かにオプションですが。

プロセス全体を説明する素晴らしいMediumの投稿があります: https://medium.com/@hetmansoftware/how-to-restore-the-structure-of-deleted-efi-partitions-in-windows-653a68b5c09f

1
villasenor