web-dev-qa-db-ja.com

EFI / UEFIからUbuntuを起動する方法は?

EFIブートを有効にして、新しく購入したLenovo ThinkCentre Edge 71(モデル:1577-G3G)にUbuntu 11.10をインストールしました。 Use Entire Diskオプションを選択しました。インストールプロセスに問題やエラーが発生しなかったとしても、今すぐ再起動すると次のように表示されます。

起動可能なオペレーティングシステムはありません。起動可能なディスクを挿入し、任意のキーを押します...

これはEFIのせいだと思います。

回帰:

  • EFI/UEFIブートを無効にするBIOSオプションを見つけるために、セットアップユーティリティ(POST中のF1)を確認しましたが、このマシンにはそのようなオプションはありません。
  • これは、BIOSの「セキュアブート」機能が原因である可能性があります。
  • ハードウェアベンダーは、Linuxの起動を妨げるBIOSの「セキュアブート」設定を知りません。
  • Lenovoサポートは、セキュアブートと呼ばれるBIOS設定について何も知りませんでした。また、Linuxの起動を妨げる制限についても知りませんでした。
  • ThinkCentre 1577 BIOSマニュアル では、EFI、UEFI、セキュアブートについては言及していません。

EFIを搭載したマシンにUbuntuをインストールするにはどうすればよいですか? -または、おそらくUbuntuはすでにインストールされているので、Ubuntuを起動するにはどうすればよいですか?

20
ervingsb

これは buntu Forum のneraseziによる修正された投稿です

UEFIの主なソースは buntu UEFIガイド

以下は彼がした手順です。

  1. UEFIアーキテクチャに一致するライブCDを使用します。ほとんどがx86-64。ライブCDを起動します(xubuntuまたはlubuntu。これらは軽量のデスクトップですが、Ubuntuおよびkubuntuでも動作するはずです)。

    ライブシステムがUEFIモードで起動していることを確認してください。 UEFIセットアップで、おそらくブートオプションなどで確認できます。私の場合、デバイス名の前に「UEFI」というプレフィックスを付けます。

  2. ライブシステムが実行されると、ターミナルを介してrootパスワードを設定して入力します。
    Sudo passwd root

    次に、デフォルトのライブcdユーザーからログアウトし、GUIモードでrootとしてログインします。ハードドライブを差し込みます。 USB3ポータブルHDDを使用していますが、ほとんどの場合、ハードドライブはSATA内部ドライブです。とにかく、すべてのデータをバックアップしたことを確認してください。プロセスによってドライブ上のすべてが消去されます。 Gpartedを起動し(GUIツールはテキストツールよりもはるかに簡単です)、システムをインストールするドライブを選択します。 (必ず正しいものを選択してください!)トップメニューをポイントし、デバイス>パーティションテーブルの作成...を選択します。警告メッセージが表示されます。 [詳細設定]をクリックし、[gpt]を選択します。 OKと言う新しいGPTディスクレイアウトが作成されました。次に、その上にパーティションを作成する必要があります。最初のプライマリパーティションとしてFAT32ボリュームを作成し、それにラベルEFIを割り当てる必要があることが非常に重要です。パーティションが作成されたら、それを右クリックして「フラグを管理」を選択します。 「ブート」フラグを確認して、「OK」と言います。 /パーティションの作成(/ homeと/ bootを分離したい場合があります。通常のように行います。私の場合は/パーティションを作成しました)とスワップ領域に進みます。常にプライマリパーティションを優先するため、GPTでは4つのプライマリパーティションの制限が削除されました。 Gpartedを閉じます。

  3. システムをハードドライブの「/」パーティションにインストールし、ここにインストールするブートローダー(GRUB 1.99)を指すことを忘れないでください。別の「/ boot」パーティションを作成した場合は、ブートローダーのインストール用にそのパーティションを選択する必要があります。

  4. UEFIBootingガイドの一部を次に示します。

    GRUB2(U)EFIの構築

    最新のgrub2ソースコードZipファイルをダウンロードします。 ftp://ftp.gnu.org/gnu/grub/

    Grub2をビルドするには、次のプログラムをインストールする必要があります(ビルドの依存関係)。

    bison autoconf automake flex autogen python(2.xシリーズ)(bzrリポジトリからビルドする場合はautogen.sh用)texinfo help2man gettext(NLSサポート)device-mapper freetype2(libs)

    Sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-Perl automake autotools-dev freetype2-demos texinfo efibootmgr

    efibootmgrは、後で必要になるため、インストールする必要があるソフトウェアに追加されました。

    64ビット(U)EFIの場合:

export EFI_Arch=x86_64./configure --with-platform=efi --target=${EFI_Arch} --program-prefix=""make

32ビットアーキテクチャを使用している場合は、上部にあるリンクでオンラインドキュメントを確認してください。

(U)EFIシステムにGRUB2をインストールする

EFIシステムパーティションを決定します。 (2番目のhdに/ dev/sda1または/ dev/sdb1が設定されている場合)

次に、パーティションを/ mnt/EFISYS(または任意のマウントポイント)にマウントします。次のコードは、/ dev/sda1がEFISYSパーティションであると想定しています。

Sudo mkdir -p /mnt/EFISYS

Sudo modprobe dm-mod

Sudo mount -t vfat -o rw,users /dev/sda1 /mnt/EFISYS

Sudo mkdir -p /mnt/EFISYS/efi/grub

次に、GRUBのEFIアプリケーションを構築し、それと他のモジュールをコピーします。

「grub2コンパイル済みソース/ grub-core」ディレクトリに入ります-デフォルト:/ usr/lib/grub/{EFI_Arch}

grub-mkimage -O ${EFI_Arch}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot

Sudo cp grub.efi *.mod *.lst /mnt/EFISYS/efi/grub

注:ポータブルgrub.efiアプリを作成するには、-p ""オプションが重要です。/mnt/EFISYS/efi/grubにgrub.cfgを作成します:

Sudo touch /mnt/EFISYS/efi/grub/grub.cfg

ファームウェアがデフォルトとしてGRUB2(U)EFIを起動するようにします

Mac以外のUEFIシステムでは、efibootmgrを使用してUEFIファームウェアブートマネージャーを変更します。これには、カーネルをUEFIモードで起動する必要があり、カーネルプロセッサアーキテクチャが「efivars」カーネルモジュールをロードし、ブートマネージャ変数にアクセスするためにefibootmgrのファームウェアアーキテクチャと一致する必要があります(「noefi」は使用されません)。 grub2-efiがBIOSモードでインストールされている場合、ユーザーは最初にファームウェアコンソール自体から「efi/grub/grub.efi」を手動で起動する必要があります。次に、efibootmgrを実行してブートエントリを作成する必要があります。

Sudo modprobe efivars

「grub2 compile source/grub-core」ディレクトリを入力します

grub-probe --target=device /boot/efi/efi/grub/grub.efi

出力をgrub-probeが/ dev/sda1であると仮定します

Sudo efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"

上記のコマンドでは、/ boot/efi/efi/grub/grub/efiを/ boot/efiと/efi/grub/grub.efiに分割でき、(/ dev/sda)->パーティション1に変換されます- >\EFI\grub\grub.efi.

  1. Synapticを開き、すべてのgrubパッケージを削除し、grub-efiパッケージ(私にとってはAMD64)とすべての必要な依存関係のみをインストールします。インストールが終了したら、ターミナルでSudo update-grubを実行します。/boot/grubから「grub.cfg」を編集し、ディスクUUIDがディスクとパーティションに一致することを確認する必要があります。音声「insmod part_」および「set root = '(hd0、)には「gpt」のテキスト行があります。 OK、「grub.cfg」をEFIシステムパーティションの「efi/grub」にコピーします。前述の内容が一致しない場合は、grub.cfgを編集して値を手動で変更します。次に、ファイルを「 Efiシステムパーティションの「efi/grub」ディレクトリ(/ mntの下にマウントする必要があります)。

    その後、システムを再起動すると、UEFIセットアップの下の[ブート]タブにGRUB2という名前の新しいエントリが表示され、それをデフォルトのブートオプションとして設定しました。

11
Luis Alvarado

マシンがU/EFI対応かどうかを確認するには、ライブデスクトップセッションでターミナルからdmesg | grep EFIを実行するだけです。
インストールされたUbuntuがU/EFIを使用して起動したかどうかを確認するには、/sys/firmware/efiが返すものを確認してください。
時間を節約するソリューションは、Ubuntuがinstall timeでUEFIモードで実際に起動したことを確認することです。新しい buntu UEFIガイド セクション2.4を参照すると、これが見事に説明されています

コンピューターがEFIモードでCDを起動するかどうかを識別する

警告:PCがCDをEFIモードで起動しても、HDDはレガシーモードで起動する可能性があります(逆の場合もあります)。

64ビットUbuntuディスクで起動する場合:

  • BIOSがCDをEFIモードで起動するように設定されている場合、次の画面が表示されます。

UEFI mode

  • BIOSがEFIモードでCDを起動するように設定されていない場合、またはディスクが64ビットでない場合、以下の画面が表示されます。

BIOS mode

UEFIを使用してハードドライブが起動されるようにするために、必ず同じガイドを参照してください。これはSATAをAHCIに設定するのと同じくらい簡単かもしれませんが、使用しているファームウェアに依存します。

画面をグラブしたら、「c」を押してコマンドラインにドロップし、lsefisystabを試して、インストール前にUEFIが使用されているかどうかを識別する別の便利な方法であるGUIDを含むEFIエントリのテーブルを提供することができます.

dmesg | grep EFIを使用して、マシンがUEFI対応かどうかを識別することができます。 U/EFI対応ではないマシンの1つで、これを行うと UEFI capable?
UEFI対応マシンで同じコマンドを実行すると、EFIを使用して起動したときにさらに多くの行(おそらく50+)が返されるため、誤解を招く可能性があります rodsbooks (リンクGrub2)を使用する代わりのrEFInd用です。ロッドブックのWebページは定期的に更新されており、非常に信頼できる情報源です。著者は、天才ではないとしても控えめに言ってもUEFI教授です!

この page のロッドブックを参照すると、Ubuntu 11.10がFAT16ファイルシステムでESPを作成し、一部のUEFIファームウェアがFAT32ファイルシステムでESPを必要としていることがわかります。あなたがするなら、あなたは完全な説明を見つけるでしょう Ctrl + F この段落のリンク先ページでFedoraを検索します(参照されている情報に直接移動するには、[検索バー]で[次へ]を1回クリックします)。

これらはすべて、Ubuntu 11.10がセキュアブートに対応していないことを確認しているため、セキュアブートは問題ではありません。

UEFIを使用した後、UEFIの使用時にのみGPTを使用できるWindowsをインストールできます。インストーラーの不足により、UbuntuはBIOS /レガシー設定を使用してインストールされます。つまり、UbuntuはBIOSまたはUEFIの両方を使用してGPTにインストールできるため、各OSを起動するためにファームウェア設定を切り替える必要が生じます。

WindowsがUEFIを使用しているかどうかを識別するには、ディスク管理を使用してGPTが使用されていることを確認します。このガイドを使用して、Windows BiosインストールをUEFIに変換できます Converting Windows BIOS installation to UEFI

簡単な解決策の1つは、Boot-repair-diskを実行することです(cd .isoをダウンロードすると、完全なUbuntu.isoを使用してからブート修復をインストールする場合に比べて、起動がわずかに速くなります。 Boot-Repairはgrub-efiをインストールし、システムがUEFIを使用してUbuntuおよびUEFIを使用する他の既存のインストールを起動するためにファームウェアのハードコーディングの問題を修正します。

重要な部分(ベンダー固有の場合があります)は、EFIモードでの起動方法です(つまり、同じUbuntu 14.04 LTS CDは2つの異なるモードを検出し、上記のように異なるテキストと非テキストの起動画面をレンダリングできます)。

http://forum.hardware.fr/hfr/OrdinateursPortables/portable/resolu-installation-probleme-sujet_67937_1.htm

またはこれ:

http://rog.asus.com/220572013/rampage-motherboards/rampage-iv-uefi-boot-installation-guide-on-windows-7-or-8/

ブート優先順位のBIOSセットアップでは、一般的にDVDには2つの異なるオプションがあります:PxまたはUEFI(または他の言葉)。これの1つはUEFI用で、もう1つはレガシーMBRベースのブートアップ用です。

5
geezanansa

Acerノートブック5560GのEFI問題を解決した結果、 Wubi USBディスクのEFIディレクトリとEFIファイルの名前を変更 動作しました(immerohnegottに感謝)。

USBスティックにGPartedを使用して、2つの既成パーティションに通常のGRUBインストールを強制しました。パーティトンは次のとおりです。

  • /boot(100 mb)
  • /(70 GB)

Windows 7を再起動して、EasyBCDの無料バージョンをインストールします。新しいエントリLinux -- >> Grub 2を追加すると、すべてのパーティションでGRUBブートローダーが検索されます。

この方法では、Windowsの「システム予約済み」パーティションとPQSERVICE Acer隠しパーティションは変更されません。

3
blaire

EFIシステムで動作するUSB​​ブータブルドライブを作成できますが、私はいくつかの経験がありませんので、簡単で動作する方法を見つけました:)

EFI biosを搭載したマシンに、Parted MagicのCD/DVDを挿入します(USBの代わりにCDにしたHIRENブートCDに入れました)そのCD/DVDからブートします。

Parted Magicに入ったら、2GB以上のメモリを備えた空のUSBジャンプドライブを挿入します。 Parted Magicに含まれているUnetbootenユーティリティを開きます。プログラムを実行し、ジャンプドライブにロードしようとしているディストリビューションを選択します。指示に従い、完了するのを待ちます。

そのUSBドライブは、EFIシステムで起動するはずです。少なくともそれは私のために働いた:oP

2
CynnieH

BIOS設定で、ハードディスクモードをIDEに変更し、USBフラッシュドライブから起動します。非UEFIモードでインストールされ、インストール後のブートも正常に機能します。

この特定の方法は、最新のBIOSリリースを備えたLenovo ThinkCentre Edge 71上のUbuntu 16.04でうまく機能しています。

1
Gregg B.

BIOSでBIOSをインストールするのではなく、BIOSでEFIモードでブートする方法を理解する必要があります。通常のsyslinuxの代わりにgrubメニューが表示されるため、efiモードで起動していることがわかります。

1
psusi

Lenovo ThinkCentre M91pにUbuntu 14.04をインストールする際に問題が発生しました。迅速で簡単な解決策があります。

  1. Ubuntuインストールディスク/ USBから起動する前に、BIOSに移動し、[スタートアップ]タブで[ブートモード]を[自動]から[レガシー]に変更します。
  2. Ubuntuをインストールします。
  3. 必要に応じて、BIOSのブートモードを自動に戻します。

それは私にとって一貫して機能します。

Ubuntuインストーラーは、インストールするブートローダーを決定するときに、BIOSがEFIをサポートしているかどうかを検出するため、確実に機能します。 BIOSをレガシーに設定すると、UbuntuはこれらのLenovoマシンで動作する古いブートローダーをインストールします。

1
Eric

私は同じ問題を抱えていました...私はデスクトップのこの新しいLenovoの獣を買って同じ問題に遭遇しました、私はそれでWIN 8.1をまったく望んでいませんでした(私はRed Hat 6.1以来Linuxを扱っていました) UEFI/EFIを使用します。 PCでliveCDを起動することもできません。このブログでtru情報を掘り下げた後、UEFI/EFI/BIOSでいくつかの点を変更する必要があることがわかりました。最初にCSMを無効にし、ブートスタートアップオプションで[レガシーのみ]を選択します。再起動してブーム!にいました。 Ubuntu 12.04 iをインストールしました。その後、同じ設定を「UEFIのみ」エラー「OSが見つかりません」に戻した後、12.04が起動しないことがわかりました。Ubuntuは12.10でこのUEFIのサポートを開始し、13.04にアップグレードし、同じ設定を変更し、有効にしましたCSMおよびUEFIのみ、できれば! UEFIから起動しましたが、マシンの実行速度がかなり向上していることに気付きました! UEFIから新たにインストールする必要はありません。13.04/ 10にアップグレードするだけでUEFIに戻りますが、それでもうまくいきました...このかなり新しい機能であるUEFI/EFIでLinuxが何をするのか待ちきれません。

0
user255633

私も同様の問題を抱えています。

私が経験したのは、EFIを搭載したコンピューターにもBIOSが搭載されていることです。私はF2を狂ったようにスパムしましたが、何が起こったのかと言うと、EFIを使用するか標準BIOSを使用するかの選択がありました。

ただし、BIOSを使用する場合、コンピューターは「OSが見つかりません」というメッセージで起動します。

したがって、そこからコンピューターを潜在的にフォーマットし、通常のPCとして起動することができます。

0
Marius

この問題を解決し、Ubuntu 16.04とWindows 10を使用していますが、Ubuntuを自動的に起動できません。 EFIパーティションはFAT32です

Ubuntuパーティションの最初の起動順序を確認してください。

$ Sudo su
# cd /boot/efi/EFI/Boot
# mv bootx64.efi bootx64_.efi
# cp ../ubuntu/shimx64.efi bootx64.efi
# cp ../ubuntu/grubx64.efi grubx64.efi
# update-grub
# reboot
0
aedi