10月の応用情報の申し込みをすっぽかしてしまったので、1月くらいまで暇。
そこで前から気になっていた『ゼロからの自作OS入門』を読み始めることにしました。あんまりネット上に記事もないので、詰まったことはちょっとしたことでも書いておきます。
【第1章 1.3】
まずはコマンドの中身から。
WSL(Windows SubSystem for Linux)上のubuntuからEFIファイルをUSBメモリにコピーするさいのコマンド(p.31)。
$ sudo mkdir -p /mnt/usbmem
$ sudo mount -t drvfs F: /mnt/usbmem
$ sudo mkdir -p /mnt/usbmem/EFI/BOOT
$ sudo cp BOOTX64.EFI /mnt/usbmem/EFI/BOOT
$ sudo umonut /mnt/usbmem
mountコマンド…「「mount」は、HDDやUSBメモリ、DVD-ROMなどのフォーマット済みの領域(ファイルシステム)を指定したディレクトリ(マウントポイント)と一時的に結び付けてアクセスできるようにするコマンドです」。
(https://atmarkit.itmedia.co.jp/ait/articles/1802/15/news035.html)
Windows側のドライブをマウントする場合は-t[ype] drvfsを指定する。
USBドライバー「F:」とubuntuの/mnt/usbmemディレクトリが結び付けられている。
そのため、3行目でmkdirコマンドで/EFI/BOOTディレクトリを作成したさいは、USB側にもF:直下にEFI/BOOTディレクトリが作成されている。
詰まったのは4行目のコピーコマンドです。
$ sudo cp BOOTX64.EFI /mnt/usbmem/EFI/BOOT
cp: cannot stat 'BOOTX64.EFI': No such file or directory
【問題】
Windows側のドキュメントフォルダに保存していたのでEFIファイルが見つからない。
【解決】
$ sudo cp /mnt/c/Users/[ユーザ名]/Documents/BOOTX64.efi /mnt/usbmem/EFI/BOOT
ubuntu側からはmnt/cからWindows側ユーザのCドライブが見られるようです。