どうも、Ubuntu 19.10 Desktop に採用されている grub v2.04 がバグってるんだそうな。
Ubuntu 18.04 LTS 系列で採用されてる grub v 2.02 に戻れって言われてたので
手元に転がっていた Ubuntu 18.04.1 LTS Desktop の ISO から起動して、
ただし、apt で Ubuntu 18.04.3 LTS の grub-efi-amd64-signed を入れると、署名済みの *.efi に、なぜか ntfs.mod が入っていない。
今回の場合、/dev/sdX3 を ntfs にしていたので、--boot-directory=/media/ISOs/boot を指定すると、boot 時 grub に
このため、esp に grub も一緒に放り込むことで解決している。
ただし iso 入れ替えて grub.cfg 編集する際にいちいち esp を mount したくないので、grub.cfg は sdX2 ではなく sdX3 の /boot/grub/grub.cfg に放り込んだままにしておいて、sdX2 の /grub/grub.cfg は従前の sdX3 の /boot/grub/grub.cfg を読むために
のようにしておいた。
- ask ubuntu
Ubuntu 18.04 LTS 系列で採用されてる grub v 2.02 に戻れって言われてたので
手元に転がっていた Ubuntu 18.04.1 LTS Desktop の ISO から起動して、
mkdir /media/{esp,ISOs} mount /dev/sdX2 /media/esp mount /dev/sdX3 /media/ISOsみたいにしておいて
grub-install --target=x86_64-efi --efi-directory=/media/esp --boot-directory=/media/espってしたら解決した。
ただし、apt で Ubuntu 18.04.3 LTS の grub-efi-amd64-signed を入れると、署名済みの *.efi に、なぜか ntfs.mod が入っていない。
今回の場合、/dev/sdX3 を ntfs にしていたので、--boot-directory=/media/ISOs/boot を指定すると、boot 時 grub に
Partition hd0,gpt3: No known filesystem detected - Partition start at xxxxxxKiB - Total size yyyyyyyyKiBって言われて (hd0,gpt3)/boot/grub/grub.cfg を拾えなかった。
このため、esp に grub も一緒に放り込むことで解決している。
ただし iso 入れ替えて grub.cfg 編集する際にいちいち esp を mount したくないので、grub.cfg は sdX2 ではなく sdX3 の /boot/grub/grub.cfg に放り込んだままにしておいて、sdX2 の /grub/grub.cfg は従前の sdX3 の /boot/grub/grub.cfg を読むために
のようにしておいた。
protective/hybrid MBR disklabel で boot flag 立ててみたりとか GPT attribute の bit 2: legacy BIOS bootable を立ててみたりとかいろいろ試してみたが、どうにも上手く行かない。
とりあえずは UEFI で ISO loopback boot 出来るようになったので、こちらは棚上げしても問題なさそうだが、ちょっと気になる。
とりあえずは UEFI で ISO loopback boot 出来るようになったので、こちらは棚上げしても問題なさそうだが、ちょっと気になる。
protective/hybrid MBR disklabel や GPT attribute 等で試行錯誤してみたが、やはり上手く行かない。
これも当面は放置かな。
20191119: 追記
どうも、片っ端から msftdata にしておいて、hide と noautomount attributes を立てとけば問題ない模様。
bios_grub が問題になりそうな気がしたが、これも、grub-install する時こそ bios_grub がないと error になるけど、一旦 install してしまえば boot 時は msftdata になってても全然問題なかった。
これも当面は放置かな。
20191119: 追記
どうも、片っ端から msftdata にしておいて、hide と noautomount attributes を立てとけば問題ない模様。
bios_grub が問題になりそうな気がしたが、これも、grub-install する時こそ bios_grub がないと error になるけど、一旦 install してしまえば boot 時は msftdata になってても全然問題なかった。
タグ
コメントをかく