BIOSの更新に成功した後、 何か問題が発生し 、黒い画面の左上隅にカーソルが点滅してしまいました。間違いない、何もない。 BIOSは通常のUEFIのubuntu
オプションの代わりにSATA: <disc name>
ブートオプションのみをリストしました。私はGPTパーティショニングスキームを使用しています。
実用的な解決策は、grub-efi-AMD64
を正しく再インストールすることであることが最終的にわかりました。それで、どのようにこれをしますか?
シモンズ:実際には、私は自分でGRUB2 EFIを再インストールすることに成功し、私はこれについての完全なハウツーを見つけることができなかったので、ここに私の答えを掲載するつもりです。
UEFIモードでライブUSB/CD を使ってコンピューターを起動します。私は2つのブートオプション<flash_drive>
とUEFI: <flash_drive>
を持っていました、2番目はefibootmgr
が後で失敗しないように/sys/firmware/efi/
のefi変数を公開するのに必要です。最初のオプションで起動すると、次のようなエラーメッセージが表示されます。
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
modprobe efivars
は私にはうまくいきませんでした。
壊れたシステムにchrootします( ubuntu grub2 help に似ていますが、efiの特殊性があります)。
Sudo mount /dev/sda2 /mnt #sda2 is the root partition
Sudo mount /dev/sda1 /mnt/boot/efi #sda1 is the efi partition
for i in /dev /dev/pts /proc /sys; do Sudo mount -B $i /mnt$i; done
Sudo cp /etc/resolv.conf /mnt/etc/ #makes the network available after chrooting
modprobe efivars # make sure this is loaded
Sudo chroot /mnt
あなたのLinuxディストリビューションに応じて、今は違うことをします。
Ubuntu/Debianの場合:
apt-get install --reinstall grub-efi-AMD64
あるいは、
apt-get install --reinstall grub-efi
update-grub
上記はgrubを与えるべきですが、起動可能なものを与えるべきではありません
Fedoraの場合(最大16、他の人でも動くかもしれません):
yum reinstall grub-efi
次のコマンドでは、sdXを起動元のEFIパーティションを持つデバイスに置き換える必要があります。 --part Y
では、Y
をEFIパーティションの番号に置き換える必要があります(/dev/sdXY
のように)。
efibootmgr -c --disk /dev/sdX --part Y
efibootmgr -v # verify a new record called Linux is there
ここでCtrl + Dを入力してchrootを終了し、すべてのマウントを解除して再起動します。
for i in /sys /proc /dev/pts /dev; do Sudo umount /mnt$i; done
Sudo umount /mnt/boot/efi #please do this. Corrupted efi partitions are not Nice
Sudo umount /mnt
Sudo reboot
あなたはこれをあなたのニーズ(異なるパーティションテーブル、別々の/ bootパーティションなど)に適応させる必要があるかもしれません、そしてそれは唯一の選択肢ではないかもしれませんがこれは私にとってはうまく働きました。
物事を修正するのに適したライブシステムは grml です。起動可能なUSBデバイスの設定方法に関する 広範囲なガイド もあります。そのうち、実際にはMacセクションが最も役に立ちます(FAT32パーティションを作成するだけです)。ファイルをコピーし、再起動します。
最初の方法の潜在的な単純化として、ライブCDのgrubを使用するだけで、ハードディスク上のシステムに直接ブートすることが可能です。 xubuntu 13.10ライブCDでxubuntu 13.10でテスト済み。
セキュアブートがBIOSで無効になっていることを確認してください。ライブCDを挿入してUEFIで起動します。 CDのGRUBメニューが表示されます。コマンドラインに到達するために "c"を押してください。
configfile (hd0,gpt1)/EFI/ubuntu/grub.cfg
別のEFIシステムパーティションがある場合は、上記のgrubコマンドを適用してください。
システムがハードディスクから起動したら、grubをEFIシステムパーティションに再インストールし、grub-installでファームウェアに登録するだけで十分です。
Sudo grub-install
Maxineと同様に、BIOSでUEFI設定が破損し、マシンが起動しないことがわかりました。
私の場合、それはLinux Mint Debianを搭載したLenovo ThinkServer RD430であり、何でもあるように見えましたブート。私の場合のOSは、USB経由でインストールされたlinuxmint-201403-mate-dvd-64bitです。 (UEFIが機能しなくなるイベントの詳細については、以下を参照してください)
ThinkServer TS140でまったく同じ手順を実行しても、UEFIが一度も気を失うことはありませんでした。 RD430ドライバーページを見ると、私の経歴は2つのバージョンです。マザーボードのBIOSを更新する必要がなかったので、新しいバージョンが利用可能になったときに自動的に更新することはできません。 biosを更新した後、上記のMaxineの答えはうまくいきました。
# efibootmgr -c --disk /dev/sdX --part Y
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0000,0003,0001,0004
Boot0000* linuxmint HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\EFI\linuxmint\grubx64.efi)
Boot0001* LMDE Linux Mint Debian HD(1,800,15d505800,934c598c-fe3c-fd43-84a1-fa38e4f72552)File(\EFI\linuxmint\grubx64.efi)
Boot0002* Linux HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\elilo.efi)
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0004* UEFI: VerbatimSTORE N GO 1.00 ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,80,1d70780,00000000)AMBO
mint / #
efibootmgr -c
コマンドは、2つのエントリ0000
および0002
を追加しました!
ブート順序の最初のBoot0002* Linux HD
エントリは正しくありません。0000
エントリは正しいです。
これをテストするために、0002
エントリである中断なしで起動してみました。予想どおり、機能しませんでした。そこで、サーバーを再起動し、F12を押して、linuxmint
を選択しました。希望どおり、それは私のLMDEインストールで起動しました。
Efibootmgrを使用して不要なエントリを削除する方法は次のとおりです。
# efibootmgr -b 2 -B
このコマンドを使用して、エントリ0001
および0002
を削除しました。オプション0001
は、OSを回復しようとする多くの試みの最後のものでした。
これを読んでいて、私と同じようにUEFIにイライラしている場合は、次の注意事項とリソースを参照してください。
"UEFIシェルからの起動は、DOSシェルの使用に似ています。
"Intelは efiのPDFリファレンスマニュアル Shellコマンドを作成しました。
"Lenovoの EFI_on_TS430文書 は、efi Shellの使用法を説明している唯一のリソースです。
" 別のuefiシェルリファレンス fromnPartition Administrator's Guide。
"ローダーに移動して実行することで、efiシェルからパーティションの起動を試すことができます。
"UEFIは、ディスクにmsdosパーツテーブルではなく、GPTパーティションテーブルが必要です。
"UEFIは、ディスク上の最初のパーティションをfat32またはvfatでフォーマットすることを望んでいます。
"「汎用」ブートの場合、ルートに/EFI/boot
が含まれるbootx64.efi
ディレクトリが必要です。
"一部の人々は、grubx64.efi
をインストールした場所から/EFI/boot/bootx64.efi
にコピーし、このチートが機能しました。
"grubを変更するときはいつでも、efibootmgr -v
を前後に使用して、再起動が正常であることを確認してください。
先週、OSを10回以上再インストールして、これを整理してサーバーをセットアップしようとしました。私の構成は、LMDEがインストールされているPCIe 2.0スロットの このRAIDコントローラー のSSDです。 AOC-S3008L-L8i RAIDコントローラー( ITモードに再フラッシュ )6x 3TBドライブの2番目のPCIe 3.0スロットに。 RAM:12GB ECC(3x 4GB)。
以下は、システムが起動しない原因となる変更です。
"S3008L-L8i pciスロットを変更します(SSD +カードのみを残します)。
"オンボードコントローラーの LSi software raid bios Prompt を無効にします。
"古いHighPoint RocketRaidカードを空きPCIeスロットに追加します。
"/etc/default/grub
を変更してから、update-grub
を実行します。
(多分grub-install
も実行する必要がありますか?)
私はこれを支持するでしょうが、どうやら私はSuperUserに十分な担当者を持っていません。うまくいったが起動しないクローンとの戦いの日々の後に、私がついにこれに対する答えを見つけたことをうれしく思います。私はそれがすべてUEFIとある種の「安全な起動」メカニズムか何かに関係していると思います。
私はオフラインで作業しているので、apt-getは選択肢になりませんでした。 UbuntuデスクトップをUSBメモリにインストールし、USBメモリのルートにgrub-efi
とgrub-efi-AMD64
パッケージを追加しました(grub-efi_1.99〜rc1-13ubuntu3_AMD64.debとgrub-efi-AMD64_1.99〜rc1-13ubuntu3_AMD64)。 Ubuntu 11.04用のdeb - ディストリビューションやアーキテクチャに合わせて適切に変更し、USBスティックのスクリプトにも以下を追加します。
#! /bin/bash
Sudo mount /dev/sda2 /mnt
Sudo mount /dev/sda1 /mnt/boot/efi
dir=`dirname $0`
Sudo cp $dir/grub-efi*.deb /mnt/tmp
for i in /dev /dev/pts /proc /sys; do Sudo mount -B $i /mnt$i; done
Sudo chroot /mnt /bin/sh -c "dpkg -i /tmp/grub-efi*.deb"
Sudo shutdown -r now
Live USBスティックを起動し、ターミナルを開き、コマンドを実行してください。唯一の時折の問題は、UEFIが起動優先順位をHDDの下に移動することが時々あることです。その時点で、BIOSに入り、起動順序を変更してSATA: drive
の試行を停止する必要があります。
dpkg-reconfigure
の代わりにdpkg -i
を使用することもできますが、それはいくつかのブートローダーの質問をします。
[編集]私はまたコメントするのに十分な担当者を持っていないので、私が返事に対するコメントだと思ったのは返事であることが判明した。
Lenovo Yoga 2 Proの32ビットUbuntu 14.10では、次のようにUEFIブートに変更しました。
フォルダーを作る
Sudo su
mkdir /boot/efi
/etc/fstab
に "EFI System"パーティションをマウントする
fdisk -l|grep EFI
これが示した:/dev/sda2 2050048 2582527 532480 260M EFI System
echo "/dev/sda2 /boot/efi vfat defaults,sync 0 0">>/etc/fstab
そのパーティションをマウントする
mount /boot/efi
grub-efi-AMD64-bin
をインストールし、grub-efi-ia32-bin
をアンインストールする
aptitude install grub-efi-AMD64-bin grub-efi-ia32-bin_
grub-install --target=x86_64-efi
eFIモードでUbuntuを再起動する
update-grub
それがうまく起動するかどうかテストして、それから私はgrub-efi-AMD64
をインストールし、grub-pc grub-gfxpayload-lists
をアンインストールしました。
aptitude install grub-efi-AMD64 grub-pc_ grub-gfxpayload-lists_
私は尋ねられたときに/ bootを削除しないことを選択しました。
たぶん私はそれを複雑にしました、そしてこれはちょうどうまく働いたでしょう:
apt-get install --reinstall grub-efi
update-grub
このエントリは、efiエントリを再インストールするようにコンピュータを準備するためのものです。内部メディア(SSD、HDD)にシステムをインストールした後に、レスキューディスクを作成するための効果的で簡単な方法であると思われるかもしれません。
Linux Mint Tara(Ubuntu Bionic Beaverに密接に関連したLinuxの亜種)では、この方法で私のインストールを中止し、後で保存することが可能になりました。それは私が生きているUSBに永続性を持たせたいという思いから生まれました、そして、永続的なインストールのためにUnetbootinのようなユーティリティをインストールする時間はフレッシュインストールと大体同じですので内部SSDにOSをインストールするために使用されました。
もちろん、これはRAIDやその他の特別な設定ではありませんが、USBドライブ上に準備されたボリュームパーティション、およびディストリビューションの利用可能な方法を使用してそのUSB上で行われるインストールを必要としました。パーティションのルート(/)マウント。
これが、新しいGRUBインストールが内部ドライブと絡み合っていた場所です。 USBで再起動したとき、内蔵UEFI grubエントリが消えたように見え、BIOSメニューのエントリを使ってドライブを選択しようとしたときにgrubメニューだけが残っていました。
代わりに、USBから起動すると、このディストリビューションの方法で、/ dev/sda2(/ boot/efiマウントを含むパーティション)のリストを含む既成のgrubメニューが作成されたことがわかりました。ほとんどのプライマリ内蔵ドライブでは、パーティションのGRUB名はhd0、gpt1です。
'advanced'に入ると、複数のカーネルレスキューが利用可能でした。そこから、grubユーティリティを実行して、通常どおり起動します。
この時点から、以前はアクセスできない内蔵ドライブでOSを実行し、USBを取り外してからSudo grub-install
を実行します。
USBなしで再起動すると、元に戻れるはずです。この時点で、USBは内蔵ドライブを通常モードまたはレスキューモードで起動するように設定され、ドライブには独自のメニューがあります。