🖥️

ブートマネージャーでマウスを使う話(rEFInd)

2024/12/07に公開

この記事は 朝活部 Advent Calendar 2024 7日目の記事です。
記事書くの初めてなのと言っていることに自信もないのでマサカリをお願いします。

はじめに

この間bluetoothキーボード(HHKB)を買いました。
ですがなんとbluetoothの機能はOSが提供しているのでBIOSやブートマネージャーの画面ではキーボードが動かないのです。

つまりHHKBを使っているとWindowsとLinuxを切り替えることができないのです。

解決策1(grub only)

私は今までブートマネージャーにはgrub2を使用していました。
構成はNixOSを使用しているので上からNixOS、NixOS - All configurations(submenu)、Windowsでした。なので
grub2-reboot 2
のように実行すると次の起動時に0-indexで上から2個目のentryをデフォルトで選択してくれます。
ですがこれだと毎回Linuxを起動しないといけなく流石に時間の無駄を感じます。

解決策2(rEFInd)

なのでブートマネージャーでマウスが使える必要がありました。
残念ながらgrubにはその機能はないようで別のものを探していたらrEFIndを見つけました。
rEFIndとはUEFIブートマネージャーでrEFItのフォークらしいです。
rEFIndならマウスが使えるという情報はどこで見つけたのかは忘れてしまいました...

インストール

お好きなパッケージマネージャでrefindをインストールした後refind-installというコマンドを使うか
手動でESPに実行可能ファイルをコピーすることでできます。

設定

esp/EFI/refind/refind.confに書きこみます。
たぶんrefind-installを使っていたら自動で生成されていると思います。
enable_mouseのコメントアウトを消すとマウスが使えるようになります。
設定しなくともentryが生成されたかは覚えていないのですが
私はこのように追記しました。適宜書き変えてください。

refind.conf
menuentry NixOS {
  loader /efi/EFI/NixOS-boot-efi/grubx64.efi
}

menuentry Windows {
  volume BAE31CF2-33A5-4D58-BF0F-7F5BA8EA3D65
  loader \EFI\Microsoft\Boot\bootmgfw.efi
}

コメントで親切に注釈が書かれていているので読みながら好きに設定してください。

見た目をカスタマイズする

これで恐らく動きはすると思うのですが、デフォルトの少々見た目が好みではありません。
refind
私はrefind-ambienceというテーマを使っています。
インストール方法はREADMEの通りです。
ですがNixOS用のアイコンが無かったので自作しました。
ここで公開することにします。
NixOS icon
アイコンを設定します。

refind.conf
menuentry NixOS {
+  icon /efi/refind/themes/refind-ambience/icons/os_nixos.png
  loader /efi/EFI/NixOS-boot-efi/grubx64.efi
}

menuentry Windows {
+  icon /efi/refind/themes/refind-ambience/icons/os_win8.png
  volume BAE31CF2-33A5-4D58-BF0F-7F5BA8EA3D65
  loader \EFI\Microsoft\Boot\bootmgfw.efi
}

中中オシャンティーになりました。

最後にコメントアウト以外の設定を全て貼っておきます。

refind.conf
refind.conf
include themes/refind-ambience/theme.conf

timeout 5

use_nvram false

resolution max

enable_mouse

scanfor manual

default_selection 1
menuentry NixOS {
  loader /efi/EFI/NixOS-boot-efi/grubx64.efi
}

menuentry Windows {
  volume BAE31CF2-33A5-4D58-BF0F-7F5BA8EA3D65
  loader \EFI\Microsoft\Boot\bootmgfw.efi
}

まとめ

rEFIndを使ってブートマネージャー上でのマウス操作を可能にすることができました。
これで困ってる人見たことないんですが皆さんどうしてるんですかね...

おまけ

bluetoothってデュアルブートすると毎回接続切らないといけなくて不便じゃないですか?
解決策はあるので安心してください。
https://mistymagich.wordpress.com/2021/09/07/windows-10-と-xubuntu-20-04-のデュアルブート環境で-happy-hacking-keyboard-professional-hybrid-type-s-を/
この記事を見ながらやりました。別にHHKBじゃなくてもできます。
本当はWindowsの登録情報をエクスポートを得るときに2デバイスで別々のエラーが出て一筋縄では行かなったのを忘備録にしたかったのですが完全忘却してしまったので、
各自頑張って欲しいです。
権限を与えまくったら行けた気がします。

Discussion