バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDイメージをPCとFatFsで認識&編集をするシミュレーションの話。
Windows上でFATフォーマット、テキストファイル作成、Linux上でディスクイメージ作成。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
シミュレーション手順
とりあえず、前回説明した手順のおさらいだ。
- WindowsでSDカードをFATでフォーマット
- 適当なテキストファイルをSDカード内に作成
- LinuxでSDカードのディスクイメージ作成
- そのディスクイメージをFatFsシミュレータで読み込み
- Windowsで作成したテキストファイルをFatFsで確認
- FatFsで適当なテキストファイルを作成
- LinuxでディスクイメージをSDカードへ書き込み
- Windows上でSDカードに作成されたテキストファイルを確認
まずはWindows上でフォーマットだねー。
Windows上でフォーマット
まぁ改めて説明はいらないと思うが、
SDカードをFATでフォーマットすればOKだ。
ん?
なんかフォーマット時に選べるのがNTFS、FAT、exFATになってるな?
FATってFAT12、FAT16、FAT32ってなかったっけ?
Windows10になってからのようだけど、フォーマットするサイズに応じて適切なFATを自動選択されるようだ。
まぁとりあえずFATでフォーマットで良いと思うよ。
了解。
適当なテキストファイルをSDカード内に作成
次はテキストファイルの作成かな。
とりあえず、
「0123456789」をコピペしまっくったテキストファイルでも放り込んでおこう。
じゃー、ファイル名は「long_file_name_file.txt」にして、
「0123456789」をコピペして11200[byte]のファイルを作ったよ。
そういえば、「System Volume Information」ってフォルダが最初から居たんだけど、これなんだろ?
私もあまり把握してないが、
Windowsでフォーマットすると作成される隠しフォルダみたいだね。
書き込み中にSDカード挿抜して、ファイルが壊れた際の断片データが保管されてることもあるようだけど、正確なところはわからん。
まぁ、とりあえず気にしないでおこう。
LinuxでSDカードのディスクイメージ作成
次はVMwareのLinux上でディスクイメージの作成だな。
VMwareとubuntuのセットアップは済んでるからとりあえず起動して、
コンソールの立ち上げまで来たよ。
じゃ、SDカードリーダーを抜き差ししてPCに再認識させる。
ん?なんかVMwareが聞いてきたぞ?
USBデバイスの接続先の切り替えだね。
「仮想マシンに接続」を選んでOKすれば、
VMware上のubuntuがSDカードを認識するはずだ。
お!
なんか開いた!
これは、Windows側で作成したlong_file_name_file.txtがちゃんと見えてるね。
その状態で以下のdfコマンドを実行。
とりあえず、コンソールにdfって打てばいいんだね。
~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1972948 0 1972948 0% /dev
tmpfs 400228 1912 398316 1% /run
/dev/sda5 19992176 8671044 10282540 46% /
tmpfs 2001128 0 2001128 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 2001128 0 2001128 0% /sys/fs/cgroup
/dev/sdb1 42640 24 42616 1% /media/user/BOOT
SDカードリーダは/dev/sdb1というデバイスとして認識されたようだね。
この状態で、以下を実行。
sudo dd if=/dev/sdb1 of=PhysicalDrive2
コンソール上にこんなのが出て、PhysicalDrive2ってファイルができたみたいだ。
85405+0 レコード入力
85405+0 レコード出力
43727360 bytes (44 MB, 42 MiB) copied, 0.639174 s, 68.4 MB/s
良し。
そのPhysicalDrive2ってファイルがSDカードのディスクイメージだ。
それをコピーしてWindows側にもってこよう。
なんか予想以上にサクっといったねー。
まだそのディスクイメージがそのまま使えるかわからなけどねー。
まぁ、理屈上は大丈夫なはずなんだけど。
ちょっと、不安になるようなこと言わないでよー!
次回はそのディスクイメージをFatFsで見てみよう。
まとめ
まとめだよ。
- WindowsでSDカードをFATでフォーマット。
- FAT12/FAT16/FAT32が選択できないのでFATを指定するのみ。
- 領域サイズで自動選択。
- テキストファイルをSDカード内に作成。
- LinuxでSDカードのディスクイメージ作成。
- dfコマンドでデバイス確認。
- ddコマンドでディスクイメージ作成。
バックナンバーはこちら。
コメント