知識0でみかん本を始めたのですが、hello, world の出力に失敗し出鼻をくじかれました。少しでも似たような初心者の力になれればと思いメモ。
結論としては、usbのフォーマットをFAT32にするだけで私は解決しました。
(追記:同様の内容が、FAQに既にありました。同じような報告がすでに複数あるようです。)
環境
開発用PC:surface Pro 7, Intel core i5-1035G4
開発環境:WSL2, Ubuntu 20.04
テスト用PC:dynabook, intel core i5 7th Gen
USBメモリ:32GB
状況
手順は完全にテキストを負っており、1.3「WSLでのやり方」に従ってUSBを作成した。
ブートオーダーも変更し、意気揚々とテスト用PCに挿して起動したが、HDDの方に入っていたlinuxが起動した。
なんかミスったかと思い、今度はブートメニューからしっかりUSBメモリを選択したが、コンマ数秒 画面が暗転するだけですぐにブートメニューに戻されてしまった。
EFIファイルのチェックサムも確認しており、ファイル構造も正しかった。エミュレータの方を試してみると正しくhello, world が出力された。よって、おそらくUSBメモリの作成orテスト用PCのハードに原因があると思われる状況だった。
対応
・開発用につかっていたsurfaceで試した ⇒ × 失敗
(windows PC でセキュアブートを無効にすると、Bitlockerの回復キーが必要になるので試すなら注意。Microsoftアカウントに入れれば問題ないとは思うけど、よくわからないなら下手に試さない方がいいかも。)
・ダメもとで、macbookでフォーマットしなおし、USBを作成 ⇒ × 失敗
・USBのフォーマットをexFATではなく、FAT32に変えて試した ⇒ ○ 成功
まとめ
理由は定かではないが、USBのフォーマットをFAT32にすることで上手くいく可能性があります。(そんなに古くないけどexFATを読み込めないってことはあるのか…?)32GB以下のメモリを使用しているかつ、何故か上手くいかない方は試してみてもいいかもです。
先に進めてみて、exFATがやっぱり駄目だったかどうかは追記します。また、理由が分かる方はコメントで教えてもらえるとありがたいです。