バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
FatFs WinシミュレーションでSDカードに直接制御する話。
「FatFsでパーティション分け」の続き。
実際にFatFsでパーティション分けを実施する。
登場人物
博識フクロウのフクさん
![指差しフクロウ](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でパーティション分けにチャレンジするわけだけど、
まずは事前準備。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
なにするの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
SDカードのパーティションを一旦全部削除する。
Windowsの
管理→記憶域→ディスクの管理
で各ディスクのパーティションの状態が見れる。
![ディスク1、リムーバブルディスク、14.18GB、オンライン、D:、FAT32、正常、プライマリパーティション](https://www.simulationroom999.com/blog/wp-content/uploads/2021/05/02_SDカードパーディション初期状態.png)
パーティションの削除
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そして、パーティションの削除をするには、
SDカードに該当するディスクのパーティション表示のところで右クリック。
そして、「ボリュームの削除」を選ぶ。
![ディスク1、リムーバブルディスク、14.18GB、オンライン、D:、FAT32、正常、プライマリパーティション未割当、開く(O)、エクスプロー(E)、パーティションをアクティブとしてマーク(M)、ドライブ文字とパスの変更(C)、フォーマット(F)、ボリュームの拡張(X)、ボリュームの縮小(H)、ミラーの追加(A)、ボリュームの削除(D)、プロパティ(D)、ヘルプ(H)](https://www.simulationroom999.com/blog/wp-content/uploads/2021/05/03_SDカードのボリューム削除.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうすると、すべての領域が未割当になって、
Windowsからのファイル読み書きが出来ない状態になる。
![ディスク1、リムーバブルディスク、14.18GB、オンライン、未割り当て](https://www.simulationroom999.com/blog/wp-content/uploads/2021/05/04_SDカードパーティション無し.png)
FatFsでパーティション分け
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
で、次にFatFsを起動。
パーティション分けを行う。
FatFs module test monitor (LFN, CP932, UTF-8)
PD#0 <== RAM Disk (135MB, 512 bytes * 276480 sectors)
PD#1 <== \\.\PhysicalDrive1 (14832MB, 512 bytes * 30375936 sectors)
PD#2 <== \\.\PhysicalDrive2 (Not Ready)
PD#3 <== \\.\PhysicalDrive3 (Not Ready)
PD#4 <== PhysicalDrive4 (Not Ready)
PD#5 <== PhysicalDrive5 (Not Ready)
PD#6 <== PhysicalDrive6 (Not Ready)
PD#7 <== PhysicalDrive7 (Not Ready)
PD#8 <== PhysicalDrive8 (Not Ready)
PD#9 <== PhysicalDrive9 (Not Ready)
Multiple partition is enabled. Logical drives are associated with the patitions as follows:
"0:" ==> PT#1 in PD#0
"1:" ==> PD#1
"2:" ==> PT#1 in PD#1
"3:" ==> PT#2 in PD#1
"4:" ==> PT#3 in PD#1
"5:" ==> PT#4 in PD#1
"6:" ==> PD#5
"7:" ==> PD#0
>di 1
rc=0
Sector size = 512
Number of sectors = 30375936
>fp 1 25 25 25 25
The physical drive 1 will be re-partitioned. Are you sure? (Y/n)=Y
rc=0 FR_OK
>
FatFsでパーティション分けの内容確認
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
FatFs側で何をしたかの解説よろー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
「di」で物理ドライブを認識して、
「fp」でパーティション分けしただけだね。
パーティションは25%ずつの4つを作成した。
パーティションの状況確認
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そして、Windows側でパーティションを確認をするとこんなだ。
![ディスク1、リムーバブルディスク、3.62GB、オンライン、D:、FAT32、正常、プライマリパーティション、E:、RAQ、F:、G:](https://www.simulationroom999.com/blog/wp-content/uploads/2021/05/05_SDカードパーティション分け済み.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
おー!
確かにパーティション分けが出来てる!!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
と言う感じでパーティション分けもFatFsで出来たってことだな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
これって、それぞれフォーマットもできるんだよね?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
できるはずだよー。
パーティションが分かれただけで、論理ドライブとしてみた場合は変わらないはずなんで。
まぁ次回はそこをやってみるか。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- パーティション分けを実施する前の事前準備を実施。
- Windowsのディスクの管理でパーティションの削除。
- FatFsでパーティション分けを実施。
- それぞれ25%の4つのパーティションを作成。
- 問題無くパーティションが分かれていることをWindows側から確認。
- 次回はフォーマットをしてみる。
バックナンバーはこちら。
コメント