バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDイメージをPCとFatFsで認識&編集をするシミュレーションの話。
今回は「LinuxでディスクイメージをSDカードへ書き込み」の確認。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
シミュレーション手順
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
手順はこんな感じ。
前回は「FatFsで適当なテキストファイルを作成」までをやった。
- WindowsでSDカードをFATでフォーマット
- 適当なテキストファイルをSDカード内に作成
- LinuxでSDカードのディスクイメージ作成
- そのディスクイメージをFatFsシミュレータで読み込み
- Windowsで作成したテキストファイルをFatFsで確認
- FatFsで適当なテキストファイルを作成
- LinuxでディスクイメージをSDカードへ書き込み
- Windows上でSDカードに作成されたテキストファイルを確認
![SDイメージシミュレーション構成、VMware、Ubuntu、SDHC、ddコマンドdump、ddコマンドで書き戻し、EXE、FatFS、読み書き実施、DiskImage](https://www.simulationroom999.com/blog/wp-content/uploads/2021/04/02_SDイメージシミュレーション構成-1024x614.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
そして、今回はついにSDカードにディスクイメージを書き戻すのか・・・。
大丈夫なのだろうか・・・。
LinuxでディスクイメージをSDカードへ書き込み
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
とりあえず、前回FatFsでファイルを追加で作成したディスクイメージを
VMware上のUbuntuへコピー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
もう起動して、コピーしておいたよ。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
じゃー、ddコマンドを実行だ。
以前はSDカードからディスクイメージを吸い出したが、
今回は逆のディスクイメージの書き込みだ。
sudo dd if=PhysicalDrive2 of=/dev/sdb1
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
こんな出力が出た。
たぶん、無事書き込めたのかな。
85405+0 レコード入力
85405+0 レコード出力
43727360 bytes (44 MB, 42 MiB) copied, 0.248628 s, 176 MB/s
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
次はWindows上で確認ってことだろうけど、
良く考えたらUbuntu上でも確認できそうだよねー。
LinuxでSDカード確認
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
折角だからUbuntu上でも確認してみよう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あ!
ファイルができてるっぽい!
そして、サイズもあってる!!
drwxr-xr-x 2 XXXXXX XXXXXX 4096 Apr 16 09:04 'System Volume Information'
-rw-r--r-- 1 XXXXXX XXXXXX 11200 Apr 16 09:05 long_file_name_file.txt
-rw-r--r-- 1 XXXXXX XXXXXX 10000 Apr 20 2021 long_file_name_file_by_fatfs.txt
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
ついでにviでファイルの中身を見てみよう。
![ubuntuのviでlong_file_name_file_by_fatfs.txt確認、aaaaaaaaaaaaaaaa](https://www.simulationroom999.com/blog/wp-content/uploads/2021/04/02_ubuntuのviでlong_file_name_file_by_fatfs.txt確認-1024x598.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
おー!
中身もOKそうだ!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
さらに、ついでにバイナリモードでも確認してみよう。
vi上で「:%!xxd」を実行だ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
はいよー。
![ubuntuのviでlong_file_name_file_by_fatfs.txt確認、0x61 0x61 0x61 0x61、aaaa](https://www.simulationroom999.com/blog/wp-content/uploads/2021/04/03_ubuntuのviでlong_file_name_file_by_fatfs.txt確認バイナリ.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
バイナリでもOKそうだ。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- LinuxでディスクイメージをSDカードへ書き込み。
- ddコマンドで書き込み。
- Windowsで確認前にLinuxでSDカード確認してみた。
- ファイルが作成されていることを確認。
- サイズが正しいことを確認。
- ファイルの中身が正しいことを確認。
- viで「:%!xxd」を実行するとバイナリモード。
バックナンバーはこちら。
コメント