業務備忘録

備忘録です

『ゼロからの自作OS入門』軽く詰まったところ①

2023-07-30 14:41:56 | 日記

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ドライブが見られるようです。