web-dev-qa-db-ja.com

Windows 7 + Ubuntu 12.04 +無効なEFIファイルパス+ブート修復+多くのエントリをグラブする

Win 7 Home Premium x64がプリインストールされたIntel Core i7-3610QMを搭載したASUS N56VZを使用しています。このコンピューターには、従来のBIOSの代わりにEFIが付属しています。

私がそれを買ったとき、私は3つの目に見えるパーティションを持っていました。 C(システム)-ウィンドウとプログラム。 D(データ)-空白で、個人データと映画を保存します。 E(リカバリ)-ASUSからリカバリコンピュータへのソフトウェア。

そのため、コンピューターサイエンスの修士号を取得しているため、Ubuntuをインストールする必要がありました。 Ubuntu 12.04用に約35 GBを確保して、Win 7からパーティションを作成しました。

それはうまくいき、インストールは成功しました。リブートして、Ubuntuにアクセスできました。ブートは4つのエントリを示しました。Ubuntu用に2つ、Windows Recover用に1つです。

Windows 7「Windows 7(ローダー)」に入ろうとしたときに、次のメッセージが表示されました。

error: Invalid EFI file path.
Press any key to continue...

回復用のブートもできませんでした。

だから私は再びUbuntuに入り、repair-toolを使用してGRUBに新しいエントリを挿入します。現在、11のエントリがあります!

新しいエントリの1つは「Windows UEFIローダー」と呼ばれます。古いエントリ「Windows 7(loader)」は引き続き機能しませんでした。この新しい「Windows UEFIローダー」は、私をWindowsに入れました。そして、私はここで身をかがめました。

必要な2つのオプションを備えた単一のブートマネージャーが必要です。

これは完璧ではないと思いますが、解決方法がわかりません。

さらに、Windows 7で休止状態にした場合、コンピューターの電源を入れると黒い画面が表示され、セッションを再開できないというメッセージが表示されます。 (正確な単語についてはわかりません。-再起動してウィンドウを再起動する必要がありました。)

そして、これは大きな懸念事項です。私もこれを解決したいと思います。

ブート修復を実行した後のリンクは次のとおりです。

これは今日、ブート修復とブート情報の要約を求めて作成しました:

4
David Nogueira

ブート修復ツールは、非常に多くのブートローダーファイルのバックアップコピーを作成することにより、物事のハッシュを作成します。この問題を解決する方法は数多くあります。それらの1つを次に示します。

  1. EFIシステムパーティション(ESP)をバックアップします。ESPは、ケースでは/dev/sda1であり、/boot/efiにマウントされています。ファイルベースのバックアップ(たとえば、tarまたはcpを使用)は正常に機能します。これにより、問題が発生した場合に回復できます。
  2. rEFIndブートマネージャー をインストールします。これはDebianパッケージをインストールすることで最も簡単に行えます。
  3. リブート。 rEFIndが表示され、UbuntuおよびWindowsのブートオプションが表示されます。
  4. 各rEFIndオプションを順番にテストし、それぞれで指定されたファイル名とその機能に注意してください。 (そのようなファイル名が不足している場合があります。Windowsアイコンが付いているものはおそらくこれらの1つですが、GRUBを起動する可能性があります。)rEFIndからLinuxとWindowsの両方を起動できることを確認してください。
  5. Linuxでは、シェルを開き、/boot/efiディレクトリに移動します。これは、ブートローダーが格納されているEFIシステムパーティション(ESP)です。
  6. テストしたときに動作しなかったブートローダーを削除するか、バックアップ場所(/boot/efi/backupsなど)にコピーします。同じように複製を行います。たとえば、2つのブートローダーが両方ともGRUBを起動した場合、それらの1つを削除または移動できます。
  7. 実際にWindowsを起動したブートローダー(rEFIndのメインメニューでファイル名で識別された場合)を/boot/efi/EFI/Microsoft/Boot/bootmgfw.efiに移動します。これは、所属することになっている場所です。ブート修復はそれを別のファイル名にコピーしたので、コピーして戻すだけです。
  8. vmlinuz-3.5.0-23-genericエントリを介してLinuxを直接起動できる場合は、おそらくGRUBを削除するか、dont_scan_files/boot/efi/EFI/refind/refind.conf行のコメントを解除して、そのリストにgrubx64.efiを追加できます。

すべてうまくいけば、rEFIndを使用してブートする必要があります。これにより、はるかに小さいブートオプションのリストが表示されます。まだ多すぎる場合、適切と思われる場合は、誤ったファイルを追跡して削除するか、dont_scan_filesdont_scan_dirsdont_scan_volumes、または/boot/efi/EFI/refind/refind.confオプションを使用して、残りのアイテムをブートリストから除外します。システムにこのようなシンボリックリンクがある場合、このような「ブラックリスト」は、/vmlinuzから/boot/vmlinuz-3.5.0-23-genericへのリンクをブートリストから除外するのに役立つ場合があります。

REFIndはブートごとにブートローダーをスキャンするため、インストール時に新しいカーネルが自動的に選択されます。

GRUBを使い続けたい場合は、手順と概念的に似たことができますが、/boot/grub/grub.cfgファイルを熟読し、どのブートローダーエントリが機能し、どれが機能しないかをメモと相互参照する必要があります。削除するファイル。その後、update-grubを使用してgrub.cfgファイルを書き換える必要があります。現在のgrub.cfgファイルには、Windowsを起動するためのBIOSモードエントリもありますが、これは役に立たないので、update-grubがそれらを取得しないようにする方法がわかりません。

幸運を!

1
Rod Smith

ここ GRUB/UEFI関連の問題へのリンクがあります。同様に、メインボードの製造元によって実装されたUEFIが不適切であり、Linuxとの組み合わせでエラーが発生する可能性があります。また、Linuxをインストールする前に、デフラグやファストスタートのオフなど、Win7および8を処理するための特定のヒントがあります。

Win7が/ boot/efi/EFI /にリストされているかどうかを確認し、GRUB2のチェーンローダーセクションをチェックアウトします。全体として、経験豊富なLinuxユーザーにとっては複雑すぎず、Linux初心者にとっては困難です。たくさんの読書をする必要があるため、助けを求めてください。これはワンボタンソリューションではありません。

0
intosomethin