web-dev-qa-db-ja.com

grub / efi / gptデュアルブートの完全な混乱

私はほとんど完全にマシンを台無しにしてしまったようです。私はubuntu liveusbを外部HDDにインストールしようとしましたが、その過程で内部設定が台無しになりました。外部のものが動作します;)

これはデュアルブートシステムであり、元々はwin8に加えて、Lenovo/Windowsリカバリパーティション全体が付属しています。 24gb SSDハイブリッドもあります。以前にsecurebootを無効にして、ubuntu 13.04をインストールし、最近14.04にアップグレードしました。私の小さな不運までうまくいきました。私のブートフラグもすべて、現在絶えず変化しているようです。理由は完全にはわかりません。


Boot-repairからの出力(/ dev/sda2または/ dev/sda11を選択できず、sda8(これはホームパーティションですか?)のみです。)とにかく試してみました。成功しましたが、しませんでした明らかに何でも。

http://paste.ubuntu.com/7303953/


私の(多くの)パーティションは次のとおりです。

/ dev/sda1-WINRE_DRV(1000mb ntfs、フラグ:hidden、diag)

/ dev/sda2-これは私が思う元のEFIパーティションでした(もともとSYSTEM_DRVとラベル付けされ、fat32としてフォーマットされていましたが、現在は認識されないファイルシステムです) )。

/ dev/sda3-不明、msftres ??

/ dev/sda4-Windows8 OS(68GB ntfs、フラグ:msftdata)

/ dev/sda11-別のefiパーティションを作成して移動することを期待して、これを 'boot'フラグ付きのfat32として作成しましたが、ブート修復で認識されないようです。

/ dev/sda5(350mb、ntfs flags:hidden、diag)-これが何なのかわかりません。

/ dev/sda6(20GB ext4、flags:hidden?)-ubuntuのシステムパーティション。 「非表示」フラグが付いている理由がわかりません。

/ dev/sda7-4GBスワップ

/ dev/sda8-ubuntuのホームパーティション(75gb ext3、フラグ:msftdata)

/ dev/sda10-290GB ntfs共有データパーティション(フラグ:msftdata)

/ dev/sda9-Lenovoリカバリー(10GB ntfs、フラグ:hidden、diag)


ここで何かがひどく失敗しています。再フォーマットしない方がいいと思います。 UEFIや​​GPTなどに関するほとんどの記事を読みましたが、問題を解決できないようで、実際には問題を悪化させているようです。

Livecd grubが適切なファイルを使用していない可能性もありますか? x86_64-efi-signedなどを使用する必要があると思ったときに、i386-pcでインストールしようとします。

誰かがこれを私に手伝ってもらえますか?


編集:

それでは、rEFIndをWindowsにダウンロードしてインストールし、それを使用して起動可能なUSBを作成しました。これにより、LiveCDではなく実際のLinux OSを起動できました。そこから、boot-repairを適切に使用してgrubを(/ dev/sda11に)インストールし、/ dev/sda6をブートすることができました。

以前のブート修復の問題は、EFIパーティションを検出できなかったため、/ dev/sda6にnon-efiをインストールしようとしていたことです(おそらくlivecdから行っていたためです)。ただし、ubuntu14.04に付属しているgrubの問題のようです。EFIのサポートなどがありません。

とにかく、今では/ dev/sda11にEFIがありますが、2つの不明なパーティション(sda2とsda3)があります。 そもそもsda3とは何でしたか?また、sda2とそのファイル(Lenovoのリカバリなど)で何ができますか?それらのパーティションを削除することはできますか、それとも問題が発生しますか?

最後に、それは今Windowsの回復を実行するだけの問題です?私はそれが私のubuntuを壊し、再びグラブすることを想像しています。

ありがとう!

3
Jordan

まず、EFIブートローダーを保持するために使用される EFIシステムパーティション(ESP)、 がありません。 Windows 8に同梱されているほとんどのコンピューターは/dev/sda2をESPとして使用しており、/dev/sda2はほぼそのサイズに合っています。ただし、/dev/sda2はLinuxファイルシステムを保持し、EFIブートローダーはありません。したがって、私の予想では、誤ってESPを破棄し、コンピューターを起動できなくしました。

最初の点に関連して、ハードディスクまたはSSDのいずれにもEFIブートローダープログラムがないようです。

/dev/sda11はESPになるのに適切なサイズであり、FATファイルシステム(ESPに必要)がありますが、 BIOSブートパーティション

最初のステップとして、適切なESPを作成する必要があります。これを行うには、2つの比較的簡単な方法があります。

  • /dev/sda11のタイプコードを調整します。 GPartedでは、「bios_grubフラグ」を削除し、「ブートフラグ」を設定することでこれを行うことができます。 gdiskでは、タイプコードをEF00に設定してこれを行います。
  • /dev/sda2のタイプコードを調整し、FAT32にします。 GPartedでは、「ブートフラグ」を設定し、その上にFAT32ファイルシステムを作成することでこれを行います。 gdiskでは、タイプコードをEF00に設定し、別のmkdosfsユーティリティを使用してパーティションにFAT32ファイルシステムを作成します。

それが完了したら、回復を開始できます。理論的には、少なくともLinuxの場合、ブート修復を使用してタスクを実行できます。しかし、表示されているように、以前は間違った道をたどっていたので、別のことをしたいかもしれません。

  1. My rEFIndブートマネージャーのブート可能なUSBフラッシュドライブまたはCD-Rバージョンをダウンロードして準備します。
  2. REFIndで起動します。 Linuxを起動するための少なくとも1つのオプションが表示されます。
  3. Linuxを起動します。
  4. ターミナルウィンドウを開きます。
  5. /etc/fstabファイルを編集して、ESP(/dev/sda2または/dev/sda11)を/boot/efiにマウントします。
  6. Sudo mount -aと入力します。
  7. df -hと入力し、/boot/efiの行があることを確認します。これは、マウントされた正しいパーティションを示しています。そうでない場合は、手順5に戻ります。
  8. REFIndのDebianパッケージバージョンをダウンロードしてインストールします。

この時点で、rEFIndを使用してLinuxを起動できるようになります。ただし、Windows回復ツールを実行するまで、Windowsインストールは起動できません。 Microsoftのサイトから何かをダウンロードしてWindowsブートローダーを修復できるはずですが、URLや指示が手元にないことがあります。タスクのこの部分に問題がある場合は、Windowsサイトで質問することをお勧めします。完了したら、Windowsブートローダーがデフォルトとして設定されるため、変更する必要があることに注意してください。 この手順 の手順2と10-11に従うか、USBフラッシュドライブを使用してLinuxを起動し、そこからrEFIndを再インストールします。または、Linuxを修復する前にWindowsを修復することもできますが、OS固有の修復を行う前にESPを修正する必要があります。

1
Rod Smith