WSL 2(Ubuntu20.04)にアップデートしてRaspberry Piのイメージをmountする
公開日: 2020年06月06日最終更新日: 2022年01月28日
ちょっとラズパイのイメージの中身を見たくなり、WSLでmountして見ようとしたところ上手くいきませんでした。WSL 2なら行けるという情報がネットで散見されたのでアップデートしてみます。
Windows Sbusystem for Linuxを最近使っているのと、WSL2が正式版になったということでちょうどいいタイミングです。
WSL 2のインストール
The Windows Subsystem for Linux BUILD 2020 Summaryには,
WSLを初めてインストールする場合にはwsl --install
するだけでWSL 2が入ると記載されていますが、自分の場合は当てはまらなかったので以下のページを参考に進めました。
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
Windows10のバージョンが2004以上であることが必要です。確認したところ、自分のPCにはバージョン2004がまだ配信されないので自分で取りに行きました。 Windows更新アシスタントを入手するのリンクからダウンロードできます。
Windows10が更新できたら、説明どおりにコマンドを実行していきます。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
wsl --set-default-version 2
を実行したらWSL 2 Linux kernelの更新が必要と言われたため、Updating the WSL 2 Linux kernelからダウンロードしてインストールしました。
再度wsl --set-default-version 2
を実行したら通りました。
すでにインストール済みのUbuntuがあったため、これをWSL 2に変更するために以下のコマンドを実行しました。
wsl --set-version Ubuntu-20.04 2
数分かかりましたが無事終了しました。
ラズパイのイメージをmount
ループバックデバイスとしてmountしようとしましたが上手くいきませんでした。
mount -t ext4 -o loop raspbian.img /mnt/image
mount: /mnt/image: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
offsetを直接指定すればmountできるとの情報があったので試します。
partx --show raspbian.img
NR START END SECTORS SIZE NAME UUID
1 8192 96042 87851 42.9M a50165a4-01
2 98304 25264127 25165824 12G a50165a4-02
STARTの98304にセクタのサイズ512バイトをかけた値がoffsetになります。ここでは98304 * 512 = 50331648
です。
この値を指定してmountしたらうまくいきました。
sudo mount -v -t ext4 -o offset=50331648 raspbian.img /mnt/image
時間だけで考えると、SDカードに焼いてLinuxでmountしたほうが早かったですね。
この情報が少しでもお役に立てば幸いです。 以下のリンクをクリックしてから何か買い物していただけると私が喜びます。