前置き

新コロナ対策での自粛要請が各地で解除されてホッとしています。気温もかなり高くなってきましたし、マスクで息苦しいし、水分や休憩をしっかり取らないとな感じですね。

環境

どこが原因かよくわかりませんが、気になるのはストレージで、M.2 SSDを使っていてWindowsとFedoraをデュアルブートしています。

grub2-mkconfigの状況

PCの構成がある程度環境が限られていると思われますが、grub2-mkconfigを実行した時にgrub.cfgの生成時間がめちゃくちゃ長いです。大体8分以上掛かります。以下が実行結果。

$ time sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Generating grub configuration file ...
File descriptor 3 (pipe:[1099980]) leaked on vgs invocation. Parent PID 37794: grub2-probe
File descriptor 9 (pipe:[1070056]) leaked on vgs invocation. Parent PID 37794: grub2-probe
File descriptor 3 (pipe:[1099980]) leaked on vgs invocation. Parent PID 37794: grub2-probe
File descriptor 9 (pipe:[1070056]) leaked on vgs invocation. Parent PID 37794: grub2-probe
File descriptor 3 (pipe:[1099980]) leaked on vgs invocation. Parent PID 38312: grub2-probe
File descriptor 9 (pipe:[1070056]) leaked on vgs invocation. Parent PID 38312: grub2-probe
File descriptor 3 (pipe:[1099980]) leaked on vgs invocation. Parent PID 38312: grub2-probe
File descriptor 9 (pipe:[1070056]) leaked on vgs invocation. Parent PID 38312: grub2-probe
Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi
Found Fedora 30 (Workstation Edition) on /dev/mapper/fedora-root
Adding boot menu entry for EFI firmware configuration
done

real	8m56.387s
user	0m7.064s
sys	0m5.722s

File descriptorが出てるし、時間が8分以上。

解決方法

あまりスマートな方法ではないのですが、解決方法をば。時間が掛かる根本としてはgrub2-mountのせいなようです。なので結構強引なのですが以下のようにします。

sudo mv /usr/bin/grub2-mount /usr/bin/grub2-mount.orig
sudo ln -s /bin/mount /usr/bin/grub2-mount

とします。grub2-mountをリネームしてmountコマンドにシンボリックリンクさせてるだけです。grub2関連のアップデートが来たらまたやり直す必要があるので注意してください。