web-dev-qa-db-ja.com

EFIシステムパーティションを作成する方法

TL; DREFIシステムパーティションを最初から作成する方法を教えてください。 EFIファームウェアが作成された場所にEFIファームウェアを配置するにはどうすればよいですか。

ロングバージョン

私は東芝T430ラップトップを持っています。私はWindows 7がインストールされた状態でそれを受け取りました(しかし私はもともとそれがWindows 8に同梱されていたと思います)。私はそれにUbuntuをインストールしましたが、私はWindowsを一掃してUbuntuだけを持つことになったのでディスク上のいくつかのパーティションを削除しました。削除されたパーティションの中にEFIシステムパーティションがありました。私は、UbuntuがLegacyモード(UEFIではなく)で起動するようになったことを発見しました。 私のUbuntuインストールをLegacyからUEFIに変換することについてのこのガイド に従うことを試みています。問題 - UEFIを使用して起動するためにBIOSから選択するたびにEFIパーティションがないため、起動できません。それはハードドライブだけでなく、USBやDVDにも当てはまります。私はこれが論理的だと思う - それはEFIパーティションを期待している、そしてそれがそれを見つけることができないので、それはそれがHDDかDVDからそれであろうが、それ以上ブートすることができない。それでは、どうやってEFIパーティションを作り直すのですか?

上記のガイドは言う:

EFIパーティションを作成する

Ubuntuインストーラでディスクを手動でパーティション分割する場合は、EFIパーティションが設定されていることを確認する必要があります。

  1. ディスクにEFIパーティションがすでに含まれている場合(たとえば、コンピュータにWindows 8がプレインストールされている場合など)、Ubuntuでも使用できます。フォーマットしないでください。ディスクごとにEFIパーティションを1つだけにすることを強くお勧めします。

  2. EFIパーティションは、最新バージョンのGParted(12.04ディスクに含まれているGpartedバージョンでも問題ありません)で作成できます。次の属性が必要です。

    1. マウントポイント:/ boot/efi(手動パーティション分割を使用する場合はこのマウントポイントを設定する必要はありません。Ubuntuインストーラが自動的に検出します)

    2. サイズ:最小100Mib 200MiBをお勧めします。

    3. タイプ:FAT32

    4. その他: "boot"フラグが必要です。

私はこのパーティションの作成にいくつか問題がありました:

  • ライブのUbuntu DVDから起動し、GPartedを開き、200MBのパーティションを作成してFAT32にフォーマットします。
  • GPartedでは、マウントポイントを設定できないため、ブートフラグを設定できません。
  • マウントポイントはライブCDであり、fstabは通常のブートと比較して予想したものとはまったく違って見えたので、マウントポイントを/etc/fstabに設定しませんでした。とにかく、どの値を設定すればよいのかわかりませんでした。

私は再びライブDVDから起動してからUbuntuをインストールすることにしました。マウントポイント、200MB、FAT32、ブートフラグ - 私は言及された基準でパーティションを作成しました。

しかし、私はこの問題を抱え続けており、そのパーティションにはEFIファームウェアが存在しないため、EFIファームウェアを使用するのに適した単なる空のパーティションであると考えられます。

繰り返しますが、ラップトップをもう一度UEFIモードで起動できるように、EFIソフトウェアを含むEFIパーティションを作成するにはどうすればよいでしょうか。

SOLUTION両方の回答ありがとうございます。私がしたことは、ディスク全体をフォーマットし、次にUbuntuをその横にインストールすることによって、Windows 8.1を最初からインストールすることでした。これらは今私のパーティションです:

Disk partitions

Win 8のセットアップ中に、既存のパーティションをすべて削除し、Windowsがディスクを再フォーマットするとすぐに、メインインストールパーティションのほかに、1、2、3の3つの追加パーティションが自動的に作成されました。 、私はUEFIモードでHDDまたはDVDから起動することができます。

あなたはESPはデフォルトでは何の情報も格納していないと言いますが、OSがインストールされるとそこに何らかの情報が置かれると思います。それで私の場合は次のようになったと思います。私はそれを一掃したのですが、それを再作成したとしても、OSがインストールされた後でESPの作成が行われたので、情報はいっぱいありません。 Ubuntuのインストールを失いました(大したことではありませんが、とにかくフレッシュインストールでした)が、それを保存するためには grawity のアドバイスに従ったほうがいいと思います。 。時間はありませんでしたが、幸いなことにすべてが今大丈夫です。

28
Alex Popov

まず、GPartedでマウントポイントを設定しません。これはmountコマンドを使って手動で(そして一時的に)、あるいは/etc/fstabを編集することによって恒久的に行われます。したがって、この問題に対するあなたの懸念は見当違いです。

次に、EFIシステムパーティション(ESP)は、特定のタイプコード(つまり、GPTディスクではC12A7328-F81F-11D2-BA4B-00A0C93EC93B)が設定された単なるFATパーティションです。 /etc/fstabのマウントポイントは、ESPの定義の一部ではありません。 LinuxではESPに/boot/efiでマウントすることによってアクセスするのは、一般的な方法です(必須ではありません)。通常は/etc/fstabエントリを使用します。タイプコードの設定方法はプログラムによって異なります。

  • gdiskでは、タイプコードをEF00に設定します。 (gdiskは、ディスク上の実際のタイプコードに展開される2バイトタイプコードを使用します。「EF00」は、「C12A7328-F81F-11D2-BA4B-00A0C93EC93B」の単なるニーモニックです。)
  • GPartedまたはpartedでは、「ブートフラグ」を設定します。ただし、これはGPTディスクでは のみ で機能します。これらのプログラムでは、MBRディスクにESPタイプコードを設定できません。 (EFIベースのコンピュータは通常GPTディスクから起動するので、これは通常大したことではありません。)
  • Ubuntuインストーラでは、このパーティションを「EFIブートパーティション」として識別します。それから型コードを設定します そして は適切に/etc/fstabを設定します。
  • 最近のバージョンのLinux fdiskでは、パーティションの種類を番号で設定するか(GPTディスクの場合は "EFI System"、MBRディスクの場合は0xEF)、またはGPTディスクにフルタイプコードを入力します。

第三に、ESPはファームウェアを保持していません - ファームウェアは、定義により、マザーボード上のチップに格納されています。したがって、EFIファームウェアをESPにインストールしようとするのは、やりがいのある作業です。 (この規則には2つの例外があります。1つ目は、コンピューターのファームウェアを更新するためにESPにファームウェアファイルを保存することです。これは単なる一時的な保持領域です。2番目に、 DUET または Clover ブートローダ、EFIは通常ESPから通常のプログラムとしてロードされます。 EFIマシンであるかのように起動するBIOS専用コンピューター、通常はEFIファームウェアを搭載したコンピューターでは not が使用されています(技術的にはDUETもCloverもファームウェアではない)。 EFIと同じ仕事をするブートローダ)

最後に、私はあなたの問題のいくつかの考えられる原因を考えることができます、しかしさらなる情報なしで、私はそれらすべてをカバーするために半分の本を書く必要があるでしょう。コンピュータ上で Boot Info Script を実行することをお勧めします。これはRESULTS.txtというファイルを生成します。 Pastebinサイト に投稿し、あなたの文書へのURLを付けて投稿してください。それはあなたの設定に関する硬いデータを与えるでしょう、そしてそれはあなたの問題の考えられる原因の範囲を大幅に減らすでしょう。

36
Rod Smith

EFIパーティションは firmware (マザーボードのチップに格納されています)を保持しません。 ブートローダ インストール済みオペレーティングシステム用です。 BIOS PCの場合と同様に、これは基本的にブートローダーをディスクの0番目のセクターに配置するEFIの代替手段です。

つまり、このようなパーティションを作成すると、オペレーティングシステムをインストールしたときに自動的にパーティションがいっぱいになるはずです。 (おそらく install disc 自体もEFIモードで起動する必要があります。そうでなければ、UEFI起動の設定に煩わされることはありません。 BIOSモード

Ubuntuが既にインストールされている場合は、次の作業が必要です。

  1. UEFI版のGRUBをインストールします。 私は思います grub-efi-AMD64-signedパッケージに入っています。

    grub-install --target=x86_64-efi-signed
    

    (未署名のgrub-efi-AMD64バージョンの場合はx86_64-efiです。)

  2. GRUBがEFIシステムパーティション内の\EFI\Boot\bootx64.efiとして自分自身をインストールしていることを確認してください。 (ここではEFIパスの構文を使用しています。Linuxのパーティションを/bootにマウントすると、/boot/EFI/Boot/bootx64.efiになります。)

    そうでない場合は、grubx64.efiを手動でその場所にコピーしてください。

    grub-installはシステムがEFIモードで already bootedを持っていない限りEFIブートメニューに自分自身を追加することができないのでこれは必要です。 (「EFI変数」はBIOS moedではアクセスできません。)したがって、GRUBを起動する唯一の方法は、それを "fallback boot loader"の場所に置くことです。

  3. リブート。ファームウェアのブートメニューである種のEFIモードを選択してみてください(EFIファームウェアには、GRUBより前でも独自のブートメニューがあります)。

  4. EFIモードになっていることを確認するために、dmesg | grep "efi:"に何かが表示されているかどうかを確認します。

11
grawity

メモ帳を使って2つのファイルを作成し、それらをUSB Windowsインストールドライブに保存します。
SaveAs:CreatePartitions-UEFI.txt

select disk 0  
clean  
convert gpt  
rem == 1. System Partition  =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition  ======  
create partition msr size=16  
rem == 3.  Windows partition  ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition  ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

メモ帳を使って別のテキストファイルを作成します。
SaveAs:diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

あなたがMBRを使用しているならば、コマンドはそうなるでしょう、mbrを変換してください。

Windowsパーティションのサイズを取得するには、HDサイズに1024を掛け、100ギガハードドライブに1024を掛けたものが102400マイナス210(efiサイズ)マイナス16(msrサイズ)マイナス460(予約サイズ)になりますWindowsのパーティションサイズ(xxxxxx)

パーティションのサイズは端末から変更できます(コマンドプロンプト)。cd/d D:> notepad CreatePartitions-UEFI.txt

あなたがメモ帳diskpart-UEFI.txtで開いているUSBドライブにいる間、あなたが間違えないように開いたままにするか、またはコマンドを書き留めておいてください。パーティションのサイズを好みに合わせて変更したら、それを閉じてからcd/d x:/ Sourcesを実行し、次にdiskpart/s D:\ CreatePartitions-URFI.txtを実行します。
最後のコマンドとしてボリュームを一覧表示すると、パーティションが表示されます。問題がなければ、終了>コンピュータの電源を切ってください>再起動>インストールの順にクリックします。

2
Dave Vian