web-dev-qa-db-ja.com

Xubuntu / BIOSでEFIファイルに移動しないと起動できない

Xubuntu 14.04でプレインストールされたWindows 7を交換しようとしたため、ラップトップ(HP ProBook 450 G2)で起動の問題があります。 BIOSはUEFIブートモードを使用します(ただし、「レガシー」ブートモードを試しても改善はありません)。

どんな方法を試しても、ルートパーティションへの道を自動的に見つけることはできません。それはただ言う:

「BootDeviceが見つかりませんハードディスクにオペレーティングシステムをインストールしてください。ハードディスク F0)」...

ただし、私のXubuntuルートは正しくインストールされます。なぜなら、(ブート時に)毎回BIOSブートオプションを介して正しくナビゲートすれば、ブートできるからです。

「Boot from EFI File」を選択してから、

「Acpi(PNP0A03,0)/ Pci(1F | 2)/ Sata(Port 0)/ HD(Part1、Sig81D20AD3-C00E-47C2-ACEC-BC1F51」

、次に"EFI""ubuntu"、および"grubx64.efi"の順に進み、grubに到達し、最終的にXubuntuの起動に成功します。 shimxを選択すると、xubuntuルートパーティションで起動することになります。ただし、上記のメッセージが表示されて、再起動して自動的に失敗します。

"secure boot"オプションを無効にする必要があると聞きましたが、そのようです。

私のパーティションは次のように構成されています:

/ dev/sda1 fat32 121MBブート

/ dev/sda2 ext4 465GBルート

/ dev/sda3 linux-swap 7MB

ブート修復ユーティリティでgrubを再インストールしようとしましたが、何も変わりませんでした。

ところで、ここにboot-repairからのブート情報の要約があります:---(http://paste.ubuntu.com/9595800/

ブート修復は常に"Please do not forget to make your BIOS boot on sda1/EFI/ubuntu/shimx64.efi file!"と言ってしまいますが、それをブートするために他に何をすべきかわかりません。

MBRが破損している可能性があるため、次のddコマンドで消去しました。

dd if =/dev/zero of =/dev/sda bs = 446 count = 1

そして、boot-repairで再度ブートを修復しようとしましたが、それでも同じ結果になりました...

EFIファイルを変更し、新しいブートエントリも作成しようとしましたが、役に立ちませんでした。その後、efibootmgrのステータスは次のとおりです。

~$ Sudo efibootmgr -v

BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................

それで、EFIファイルに新しいブートエントリを作成しようとしました。

~$ Sudo efibootmgr -v -c -w -L ubuntu_14_04 -l \EFI\ubuntu\shimx64.efi
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0002,0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0002* ubuntu_14_04  HD(1,800,100000,81d20ad3-c00e-47c2-acec-bc1f51dd12d1)File(EFIubuntushimx64.efi)

...作成したばかりの新しいエントリで起動するように、起動順序を変更します。

~$ Sudo efibootmgr -v -o 2,1,0
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0002,0001,0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0002* ubuntu_14_04  HD(1,800,100000,81d20ad3-c00e-47c2-acec-bc1f51dd12d1)File(EFIubuntushimx64.efi)

しかし、再起動後(もちろん、EFIブートオプションをナビゲートして動作させる):

~$ Sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0002* ubuntu_14_04  HD(1,800,100000,81d20ad3-c00e-47c2-acec-bc1f51dd12d1)File(EFIubuntushimx64.efi)

設定した順序を失ったかのようです。

何かアイデアはありますか?

4
Omaanuu

これは私のために働いた HP UEFIはUbuntuを自動的に起動しません

Biosにcustomboot値(EFI\ubuntu\grubx64.efi)を追加すると、ubuntuが自動的に起動します。

1
Tim Bailey

Bootloaderに起動エントリを追加せずにUbuntuを起動するのは困難です。ただし、Ubuntuを手動で起動できるため、別のブートローダーであるrEFIndを使用できます。 UbuntuにrEFIndをインストールする方法:

Sudo apt-add-repository ppa:rodsmith/refind
Sudo apt-get update
Sudo apt-get install refind

詳細はこちら: http://www.rodsbooks.com/refind/

1
dat tutbrus

Ttyまたは端末でこれを入力しようとしましたか?

     Sudo apt-get purge -y --force-yes shim-signed-efi grub* shime-signed-generic 

    Sudo apt-get install -y --force-yes  shim-signed-efi shim-signed-AMD64 shim-signed-generic 

そして、ttyまたは端末にもこれを入力します:

    Sudo  apt-get update 

    Sudo apt-get upgrade 

この方法でうまくいくかもしれません。

0
Michael

コマンドを少し間違えました:

Sudo efibootmgr -v -c -w -L ubuntu_14_04 -l \EFI\ubuntu\shimx64.efi

スラッシュはbashのメタキャラクターであるため、渡される実際の値はEFIubuntushimx64.efiです。

パスを引用符で囲むか、二重スラッシュを使用する必要があります。次のように機能しました:

Sudo efibootmgr -c -l "\EFI\ubuntu\shimx64.efi"
0
Kansloos