お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-12-21 00:42:30

katsu07
ゲスト

ubuntuでのUEFIについて

実際に自分が試してみた結果や、調べた情報から大まかにまとめてみました。
殆ど基本的な事だけですが、間違い等があれば指摘して下さい。


# LiveCD編

1. ubuntu 12.04 LTSより、LiveCDでの起動画面が違う。
   [ UEFIモードで起動及びインストールできるのは、64bit版のみ ]

    # UEFI BIOSモードの場合

        grubメニューの選択方式で起動する。

    # Legacy BIOSモード(旧BIOSモード)の場合

        画面下部にアイコンの表示される紫色の画面で起動し、デスクトップが立ち上がる。


# インストール編

1. UEFIモードで起動すると、ハードディスクのパーティショニングはGPT方式となる。

2. 必ず、ESP(EFIシステムパーティション)が必要となる。

    # FAT32でフォーマットされた特別なパーティション

        community ubuntu documentationでは100〜250MB程度となっている。
        インストーラーから自分で作成する場合は、フォーマット形式で[EFIブートパーティション]を選べば自動構成される。
        既存のESPを使う場合は、/boot/efi にマウントされる様に構成する。

        パーティション構成の例(UEFIモード):

/dev/sda1    /boot/efi    FAT32    bootフラグ    ESP(EFI System Partition)
/dev/sda2    /            ext4
/dev/sda3    /home        ext4
/dev/sda4    swap        swap

3. インストールされるgrubブートローダーのパッケージがLegacy BIOSモードの物と一部異なる。

    # UEFI BIOSモードの場合

grub-efi
grub-efi-amd64
grub-efi-amd64-bin

# Legacy BIOSモードの場合

grub-gfxpayload-lists
grub-pc
grub-pc-bin

* ESPが無い状態でUEFIモードでのインストールは可能だが、起動する事はできない。

    # UEFIモードで起動したのに従来のパーティション構成でインストール

        従来のパーティション構成の例:

/dev/sda1    /        ext4
/dev/sda5    /home    ext4
/dev/sda6    swap    swap

/dev/sda1にbootフラグが付かない上に、MBRに書き込まれないので起動できない。

* 32bit OSと混在させたい場合は、UEFIを諦めてBIOSでUEFI関連を[Disable]や[Legacy]等に変更する。
  (UEFIの仕様:64bit実装のUEFIでは、64bit OSしかブートできない為)

  他の手段として、UEFI構成でインストールして、virtualbox等の仮想環境上に32bit OSをインストールする。
  又は、上記構成でUEFIモードでインストール後にLiveCDで再起動し、Legacy BIOS版のgrubをインストールをする。


* virtualbox-4.2.4にて[EFIを有効化(一部OSのみ)]のオプションを使い確認した事。

1. NVRAMが読み込めない、又は読み込めてもNVRAMにOSの登録がない場合は、ESPの EFI/boot/bootx64.efi ファイルを読みに行く。
   ubuntuのインストールでは作成されないディレクトリであり、当然ながら bootx64.efi ファイルも無い。

    # virtualboxのEFIは試験実装な為か、仮想環境が電源OFFからの起動の場合NVRAMに登録が残っていない。
      その為、通常は UEFI Shell が起動する。
      それを利用して確認してみた。

      /boot/efi/EFI/ubuntu/grubx64.efi ファイルを /boot/efi/EFI/boot/bootx64.efi としてコピー。
      UEFI Shellは立ち上がらず、grubが正常に起動する様になる。

      フリーのUEFI対応ブートローダーであるrEFIndを /boot/efi/EFI/boot/bootx64.efi としてインストール。
      UEFI Shellは立ち上がらず、rEFIndが正常に起動する様になる。
      又、そこからgrubも正常に起動させられる。

2. ESPを含めてソフトウェアRAID-1を構成。

    # ESPパーティションもRAID-1構成にする事は可能だが・・・

      ESPを含めての構成はエラーもなくインストールも終了するが、起動不可。
      MBRが無いから? UEFI BIOSがESPを正常に読み込めない? mdデバイスを認識できない?

 

#2 2012-12-22 18:17:36

katsu07
ゲスト

Re: ubuntuでのUEFIについて

## オープンソースのUEFI Shellについて ##

以下のリンクからオープンソース版のUEFI Shellをダウンロードして起動できるか確認してみました。
https://help.ubuntu.com/community/UEFIB … UEFI_Shell


# 実機 Lenovo G580(2689-7LJ)で実験
Dual-core celeron B820 1.7Ghz
UEFI Ver 2.31(UEFI Shellは未実装)
Ubuntu 12.04.1 LTSのみUEFI構成でインストール済み

# 使用したUEFI Shell
UEFI Shell 64bit beta版(EFI Shell Ver 2.0でUEFI Ver 2.3+が必要な様です)
UEFI Shell 64bit old版(EFI Shell Ver 1.0の様です)

## 結果 ##
* 64bit版beta
/boot/efi/EFI/boot/bootx64.efi として起動に失敗。
/boot/efi/shellx64.efi としてrEFIndからの起動に失敗。

* 64bit版old
/boot/efi/EFI/boot/bootx64.efi として起動に成功。
/boot/efi/shellx64.efi としてrEFIndからの起動に成功。

但し、rEFIndの説明では /boot/efi/EFI/tools/shell.efiと記載されている。
説明通りでも認識するし、/boot/efi/shellx64.efi でも認識した。

 

#3 2012-12-24 12:25:24

katsu07
ゲスト

Re: ubuntuでのUEFIについて

* 一部修正と補足

* 修正
#1での投稿内容

ubuntu 12.04 LTSより、LiveCDでの起動画面が違う。

いずれも64bit版のみであり、UEFIがサポートされたのはubuntu 11.10からです。
但し、私がUEFIで動作するのを確認したのは、ubuntu 12.04からです。

* 補足
#2での投稿内容
UEFI Shellを /boot/efi/EFI/boot/bootx64.efi としてコピーし、実験する方法について。
実験した環境では既にUEFI構成でubuntu12.04.1 LTSがインストールされているので、NVRAMに"ubuntu"が登録されており、BIOSにもUEFI Shellを起動する項目が無い為、そのままではUEFI Shellを起動できません。
#1で記述した様に、NVRAMが読めない、又はOSのentryが無い場合にUEFIが読みにいく場所なので以下の様に実施すれば確認できます。

PCを起動時に"F12"を押し起動デバイスの選択画面を出して、OSのentryではなくESPの存在するハードディスクを直接選択し、起動する。

NVRAMを読みに行かないので、/boot/efi/EFI/boot/bootx64.efi を読みに行きます。

 

#4 2013-10-06 15:35:34

eka
新しいメンバ
登録日: 2013-10-06

Re: ubuntuでのUEFIについて

ubuntu 12.04.3 server amd64版で software raid1 を構成(ESPと/boot以外)して、インストール・起動
できることを確認しました。情報追加します。

使用したハードウェアは、
MB:  Supermicro X9SBAA-F (CPU on board)
HDD: Western Digital Red 3TB (WD30EFRX)を2台
です。

ESP(EFIシステムパーティション)や /bootパーティションも raid1にすると、UEFI BIOSが
見に行けないようです。想像するに、ソフトウェアRAIDですので、ubuntuが起動して、又は
起動途中で、はじめて raidが使えるようになるためでしょうか?
# 他のパーティション(/、/home、swap)は raid1で構成しても大丈夫でした。

オフライン

 

Board footer

Powered by FluxBB