茱萸note

電子工作の備忘録と旅行の記録

OS Ubuntu 電子工作

【Ubuntu】【上級者向け】EFIシステムパーティションを作成する

投稿日:

「EFIシステムパーティションがないSSD・HDD・USBメモリにUbuntuをインストールしたい!」といった人に向けて、SSD・HDD・USBメモリにEFIシステムパーティションを作成する方法を説明します。


目次


更新履歴


注意事項

  • 上級者向けです
  • 作業はUbuntu(Live USBも可)でおこなうこととします
  • 以下の作業は、空のSSD・HDD・USBメモリでおこなうことを推奨します。空で無くてもできなくはない(場合による)ですが、途中の作業でデータが失われる可能性が高いので、かならずバックアップをとっておく必要があります。

作業の流れ

空っぽのSSD・HDD・USBメモリ、あるいは空っぽにしても良いものであれば、

  • 全てのパーティションを削除しGPT形式のパーティションテーブルを作る
  • EFIシステムパーティションを作成する

データを保持したままにしたいのであれば、

  • パーティションテーブルがMBR(MSDOS)形式ならGPT形式に変換する。変換できない場合もあるが、その場合は諦める。
  • 既存のパーティションを縮小し200MBの空き容量を確保する。
  • EFIシステムパーティションを作成する

パーティションテーブルをGPT形式にする

SSD・HDD・USBメモリが空っぽ or 空っぽにして良い場合

全てのパーティションを削除した上でパーティションテーブルをGPT形式にします。

作業は簡単です。Ubuntu(Live USB も可)で『GParted』を開き、空っぽ or 空っぽにしたいSSD・HDD・USBメモリを選びます。『デバイス』の『パーティションテーブルの作成』を選択。『gpt』形式を選択して『OK』を押すだけです。

これで、全てのデータが削除されGPT形式のパーティションテーブルができあがります。

データを残したい場合

必ずバックアップをとっておいて下さい。

『GParted』を開いて、対象の SSD or HDD or USBメモリを選び、『表示』の『デバイス情報』を選択、パーティションテーブルが『gpt』なら次の操作は不要ですが、『msdos』なら変換が必要です。

gdiskコマンドでGPT形式に変換する

対象を /dev/sda と仮定します。 もう一度いいますが高確率で失敗するっぽいので必ずバックアップをとっておいて下さい。

sudo gdisk /dev/sda

ここで、MBR: MBR Only と表示されているのを確認します。この段階で何らかのエラーが吐かれていると変換に失敗する気がするので、『q』をタイプして逃げます。

変換するには、『w』をタイプします。「ほんとにええんか?」と聞かれるので、『y』をタイプします。しばらくすると変換が終わります。失敗しているとエラーメッセージが吐かれます。

変換がうまく行かなかった人は、 SSD・HDD・USBメモリを空にしてからEFIパーティションの作成をおこない、あとからバックアップしていたデータをもとに戻すという方法を使うと良いと思います。

既存のパーティションを縮小する

運良く変換ができた人は、『GParted』などを用いて既存のパーティションを縮小して200MBの空き領域を確保します。この空き領域は、SSD or HDD or USBメモリの先頭でなくても大丈夫です(多分)。

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

『GParted』を開いて、対象のSSD・HDD・USBメモリを選びます。空き領域に、

  • 容量200MB程度
  • Partition Name:『ESP』
  • 基本パーティション
  • ラベル:『ESP』
  • ファイルシステム:『FAT32』

の領域を作ります。 SSD・HDD・USBメモリの先頭に作るのがおそらく普通ですが、そうでなくても恐らく大丈夫です。

作られた領域を右クリックして、『フラグを編集』をクリック。 

  • 『boot』
  • 『esp』

の二つにチェックマークを付けます。

以上で、EFIシステムパーティションの作成は完了です。

-電子工作
-, ,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

STM32F042でAVRプログラマを作る

秋月で販売しているSTM32F042K6T6でAVRプログラマを作ります.

Visual Studio 2019でC言語のお勉強を始める

Visual Studio 2019 で C言語 のお勉強をする人に向けて書きます。

プロキシ設定が必要な学内LANに接続するときに役に立つスクリプト

プロキシ設定が必要な学内 or 社内LANに接続する際のプロキシ設定の切り替えをしやすくするスクリプトを用意します。

C言語でのマイコンプログラミングのお作法

マイコンのプログラムをC言語で書く際に心がけるべきこと、知っておくべき知識について述べます。

Alexa Smart Home Skill を実装して Alexa で ESP8266 を制御する【Alexa×Arduino その2】

AWS Lambda で Alexa Smart Home Skill を実装し、Alexa で ESP8266(Arduino)に接続した LED を操作できるようにします。