Ubuntuの導入したときに UEFIブートになっておらず BIOS ブート位なっていたのですがようやく UEFIにすることが出来ました。Macbookは、EFI領域がなくBIOSブートの領域だけでもBootManagerが起動してくれるので問題はないのですが非常に時間がかかります(大体20-30秒前後)
rEFindの導入
今回パーティション構成は次のようになっています。
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Model: CHN 25SATAA3 120
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 5B9C2F29-F02D-4A76-B09A-1E8E1DEAF557
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 2925 sectors (1.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 249855 121.0 MiB EF00
2 249856 234440703 111.7 GiB 8300
UEFIのソフトウェアは rEFnd を利用します。
- rEFind をこちらからダウンロード
- ドネーションウェアになっていますが無料でダウンロードできます。
- 解凍後
sudo ./refind-install
を実施します。
設定の確認
今回の場合には /dev/sda1 に導入したファイルが入っています。これを /boot/efi にマウントし確認することが出来ます。
$ sudo -i
$ mount /dev/sda1 /boot/efi
$ ls -l /boot/efi/EFI/BOOT
合計 640
drwxr-xr-x 2 root root 512 12月 1 23:39 drivers_ia32
drwxr-xr-x 3 root root 6144 12月 1 23:39 icons
drwxr-xr-x 2 root root 1536 12月 1 23:39 keys
-rwxr-xr-x 1 root root 136 12月 1 23:39 BOOT.CSV
-rwxr-xr-x 1 root root 202624 12月 1 23:39 bootaa64.efi
-rwxr-xr-x 1 root root 201600 12月 1 23:39 bootia32.efi
-rwxr-xr-x 1 root root 208776 12月 1 23:39 bootx64.efi
-rwxr-xr-x 1 root root 32029 12月 2 22:32 refind.conf
- Macbookは、この bootia32.efi を利用して起動してきます。
- refind.conf が設定ファイルになっています。
- 標準では上記のような感じで動きます。Macbookの場合には、
option
を押しながら起動した場合ブートソフトウェアを選択することが出来ます。その後こちらのブートマネージャーを起動することが出来ます。 - refind.conf に定義している起動設定や自動で検索し発見された設定が表示されます。
grubとの関係性
- grubは、BIOSブートで起動後にシステムを起動することが出来るブートマネージャーです。
- Kernelに対して様々な設定を与えて起動することが出来ます。
- grub-efi という機能は grubxxxxx.efi というEFI経由で起動するブートマネージャーでEFIからgrubの設定ファイルを利用して起動することが出来ます。
- rEFind経由で grubxxx.efiがない場合でもレガシーブートという項目でBIOSブートを行うことが出来ますのでその際にはdiskにgrubが導入されていれば通常のBIOSブート同様の画面が表示されます。
refind.confの設定
メインで起動させる Ubuntu
を追加します。
menuentry Ubuntu {
icon EFI/BOOT/themes/tux-refind-theme/icons/os_ubuntu_original.png
volume 0f0adafd-53a4-4915-a5e7-cd0f34493d34
loader /boot/vmlinuz-4.15.0-39-generic
initrd /boot/initrd.img-4.15.0-39-generic
options "ro root=UUID=a16fd3ad-0ea8-4f95-9ccf-74a46189985b text nomodeset"
#disabled
}
- Volume は、
sudo blkid /dev/sda2
を実施した結果のPARTUUID
を指定します。 - loader, initrd は
/boot
以下のファイルを指定します - optionでは grubなどで指定している項目同様の指定です。
- Macbook1,1ではそのまま起動すると残念ながらディスプレイドライバの都合なのか画面が崩れて起動できません。Grubではその設定を回避するために
# insmod gfxterm
とコメントアウトして対応をしていました。またその際にはnomodeset
で起動すると解像度が 1024×768しか選択できず思う解像度が出なかったため利用してませんでしたが UEFIブートでは問題なく利用できたのでオプションをro text nomodeset
を追加しています。 - timeout 1、起動の待ち時間
- scanfor manual,optical,hdbios,biosexternal、検索対象の絞り込み
- default_selection “Ubuntu”、ディフォルト起動ディスクの選択
- include themes/tux-refind-theme/theme.conf、テーマファイルの読み込み
- legaacyfirst、アイコンの順序
- テーマファイルはこちらからダウンロードしています。
まとめ
起動時間が圧倒的に短縮しました。ブートマネージャーが小奇麗になりさらに起動が早くなり満足です。
実は当初 grub-efiを利用しようと思っていたのですが grubがコンパイルできず諦めました。