これは、Ubuntuフォーラムの neraseziによる修正された投稿です。
UEFIの主な情報源はUbuntu UEFIガイドでした
以下は彼がした手順です。
UEFIアーキテクチャに一致するライブCDを使用します。ほとんどがx86-64。ライブCDを起動します(xubuntuまたはlubuntu。これらは軽量のデスクトップですが、Ubuntuおよびkubuntuでも動作するはずです)。
ライブシステムがUEFIモードで起動していることを確認してください。UEFIセットアップで、おそらくブートオプションなどで確認できます。私の場合、デバイス名の前に「UEFI」というプレフィックスを付けています。
ライブシステムが実行されたら、ターミナルを介してrootパスワードを設定して入力します。
sudo passwd root
次に、デフォルトのライブcdユーザーからログアウトし、GUIモードでrootとしてログインします。ハードドライブを接続します。USB3ポータブルHDDを使用していますが、ほとんどの場合、ハードドライブはSATA内部ドライブです。とにかく、すべてのデータをバックアップしたことを確認してください。プロセスによってドライブ上のすべてが消去されます。Gpartedを起動し(GUIツールはテキストツールよりもはるかに簡単です)、システムをインストールするドライブを選択します。(必ず正しいものを選択してください!)トップメニューをポイントし、デバイス>パーティションテーブルの作成...を選択してください。警告メッセージが表示されます。[詳細設定]をクリックし、[gpt]を選択します。OKと言う新しいGPTディスクレイアウトが作成されました。次に、パーティションを作成する必要があります。最初のプライマリパーティションとしてFAT32ボリュームを作成し、それにラベルEFIを割り当てる必要があることが非常に重要です。パーティションが作成されたら、それを右クリックして「フラグを管理」を選択します。「ブート」フラグを確認して、「OK」と言います。/パーティションの作成(/ homeと/ bootを分離したい場合があります。通常のように行います。私の場合は/パーティションを作成しました)、およびスワップ領域に進みます。常にプライマリパーティションを優先するため、GPTでは4つのプライマリパーティションの制限が削除されました。Gpartedを閉じます。
システムをハードドライブ「/」パーティションにインストールし、ここにインストールするブートローダー(GRUB 1.99)を指すことを忘れないでください。別の「/ boot」パーティションを作成した場合は、ブートローダーのインストール用にそのパーティションを選択する必要があります。
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コンパイルされたsource / 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
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という名前の新しいエントリが表示され、それをデフォルトのブートオプションとして設定しました。