web-dev-qa-db-ja.com

EFIシステムでElementary OSにUbuntuを再インストールする方法は?

まず、少しの背景。 Ubuntu 8をWindows 8(プリインストール済み)でデュアルブートできました。セキュアブートを無効にしました。 BIOS設定でディスクの順序を変更して、Ubuntuを最初のディスクとして選択する必要がありました(Ubuntuをブートデバイスとして作成しました)。 Grubが開き、Ubuntuのみが表示されました。 Ubuntuを開いてブート修復を実行し、再起動するとUbuntuとWindows 8が表示されました。両方のOSが完全に機能しました。

Ubuntuを台無しにした後、再インストールが適切であると判断しました。しかし、Ubuntu上に基本OSをインストールすることにしました。 Ubuntuにはパーティションが1つしかなかったので(スワップはカウントしません)、パーティションを削除してext4パーティションを再作成し、ブートローダーをデフォルトの場所(dev/saと思います)に残しました。再起動しましたが、オプションは基本OSのみでした。そこで、もう一度ブート修復を実行し、Windows 8が十分に戻ったことを確認しました。両方を試してみましたが、どちらも機能しました。その後、エレメンタリーOSで少し問題が発生したため、Ubuntuを再インストールすることにしました。前と同じ手順を繰り返し、基本OSを含む1つのパーティションを削除し、新しく作成したパーティションにUbuntuをインストールしました。

これが私の問題の始まりです。インストールの完了後に再起動すると、空白の画面しか表示されません。そこで、BIOS設定をもう一度確認することにしましたが、Ubuntuではなく、起動デバイスにまだエレメンタリが残っていることに気付きました。ライブUSBで起動し、再度ブート修復を実行すると問題が解決すると考えました。推奨されるアクションを実行し、再起動しても空白の画面が表示されます。 BIOSのブートデバイスを見て、エレメンタリーはまだそこにあります。

ブート修復でいくつかの異なる設定を試しましたが、常に空白の画面が表示されます。何らかの理由で、ブートデバイスリストからエレメンタリを削除できないようです。エレメンタリーをインストールする前は、Ubuntuはブートデバイスでした。

そこからエレメンタリーを削除し、Grubをロードして2つのOSから選択できるようにUbuntuを再追加する方法に関するアイデアはありますか?

3
Moosehead

@oldfredのアドバイスを使用する

ライブUSBから起動して実行しました

Sudo efibootmgr -v 

「-v」オプションはすべてのエントリを表示するので、正しいエントリを削除していることを確認できます。出力は次のようになります

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0003,0004,0005
Boot0000* elementary    HD(1,GPT,887f27c1-1cfd-42a8-8d04-c3b41ba74a74,0x800,0x100000)/File(\EFI\UBUNTU\GRUBIA32.EFI)
Boot0001* Windows Boot Manager  HD(1,GPT,887f27c1-1cfd-42a8-8d04-c3b41ba74a74,0x800,0x100000)/File(\EFI\Microsoft\BOOT\BOOTMGFW.EFI)
Boot0002* ubuntu    HD(1,GPT,887f27c1-1cfd-42a8-8d04-c3b41ba74a74,0x800,0x100000)/File(\EFI\UBUNTU\GRUBX64.EFI)
Boot0003* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0004* UEFI:Removable Device BBS(130,,0x0)
Boot0005* UEFI:Network Device   BBS(131,,0x0)

次に、-b ####を組み合わせてエントリを指定し、-Bを組み合わせて削除します。たとえば、Boot0000* elementary HD...を削除する場合は、次のようにします。

Sudo efibootmgr -b 0000 -B

man efibootmagrまたは efibootmgrのマニュアルページ を参照してください

基本メニューエントリを削除し、ブート修復を再度実行しました。今回はすべてが機能しました。

1
Moosehead