2014年11月06日

ブートローダーのrefindを消失させない方法。archbang-20140329-x86_64

arch上から、
$ sudo refind-install をして、
一応、起動するようになるけれど、
hddを一旦外し、何かしらのhdd(os)を
使った後、再び戻して起動しようとすると、
refindのブート画面が出なくなってしまう件、
何度も投稿してきたけれど、
消失させない方法が見つかった。
すでにrefindがインストール済みであり、
消失してしまっている状態から、、、
(じぶんの場合は、fstabで、
自動的に/boot/efi以下に、EFIパーティション(sda1)が
mountされるようにしている)

$ sudo mount /dev/sda1 /boot/efi
$ sudo mkdir -p /boot/efi/EFI/Microsoft/Boot
$ sudo cp /boot/efi/EFI/refind/refind_x64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
$ sudo cp -rf /boot/efi/EFI/refind/icons /boot/efi/EFI/Microsoft/Boot/
$ sudo cp -rf /boot/efi/EFI/refind/keys /boot/efi/EFI/Microsoft/Boot/
$ sudo cp /boot/efi/EFI/refind/refind.conf /boot/efi/EFI/Microsoft/Boot/
$ sudo cp -rf /boot/efi/EFI/refind/drivers_x64 /boot/efi/EFI/Microsoft/Boot/
$ sudo umount /dev/sda1
$ sudo reboot


かなり乱暴、かつ、どこにも載っていない怪しい方法だけど、
これで、消失はしなくなります。私のように、
ubuntuのgrub2頼りで、しきられつづけるのは面白くない。
refindでどうしてもやりたい、という向きは、これでいかが?

ただ、それなりに欠点があって、
新しくディトロをインストールしたりして、
osが増えた場合、自動では面倒は見てもらえず、
手動であれこれしないと追加したディストロはたぶん起動できない。
システム起動時のロゴ表示タイムが長くなり、
grub2で起動するより、やや遅くなる。

この方法のポイントは、uefiへの対応において、
マザーボード&biosメーカーが
windowsのことしか念頭にない。ってことで、
それを逆手に取り、widowsのブートローダーと
見せかけてしまえ、という点です。

refindx64.efi を bootmgfw.efi にリネーム。
windows的作法に則って、
/boot/efi/EFI/Microsoft/Boot/
というディレクトリを設けて、
正規インストール時の、/boot/efi/EFI/refind 内にある
諸部品を、そこにコピーした、ということでござる。

なんや、uefiのshellなんかなくったって、
(使えなくたって)できるじゃないか!

マルチブートにwindowsが混ざってたら、
予期せぬこと、おかしなことが起こると思います。
ご注意ください。やるなら、自己責任でよろしく。


マザーボード:ga-h87-hd3
cpu:core i5-4590s


posted by ブログ開設者 at 13:09| Comment(2) | linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
こんにちは。
教えてください。macでubuntu16.04にてrefindをmacosとのデュアルブートで使用しています。上記の方法はmacでも有効でしょうか?マルチブートにwindowsは混じっていません。よろしくお願いいたします。
Posted by kiku at 2016年07月06日 18:13
mac(osは、当時、漢字トーク)は、15年前ぐらいまで使っていたのですが、それ以降触っていないので、まったくわからないです。お役に立てず、すみません。
Posted by ブログ開設者 at 2016年07月08日 10:05
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: