LinuxコマンドラインでのSDカードのフォーマット

仮に2GBの SDをLinux上でフォーマットしてみよう

SDをLinuxマシンに装着した際のログをdmesgで確認し、/dev/sdXになっていることを確認する。
sudo fdisk /dev/sdX (<-not sdX1 or sdX2)
dで既存パーティションの削除
全てのパーティションを削除する
pでSDの総容量を確認する ここでは2GBのものを使用していると仮定し1980760064バイトとする
xでエキスパートモード遷移
sでセクタ数設定  推奨63
hでヘッド設定 推奨255
cでシリンダ数設定 1980760064/63/255/512(セクタあたりのバイト)=240.814 ->240と設定
rで通常モードに遷移
nで新パーティション作成
pでプライマリパーティション設定
1でパーティション1番設定

  1. 80Mで80MB分パーティション作成

nで新パーティション作成
pでプライマリパーティション設定
2でパーティション2番設定
Enterキー押下で残り容量全てを第2パーティション作成
aでbootフラグ設定
1で第1パーティションをbootに設定
tでタイプ設定
1で第1パーティションをタイプ設定
cで W95 FAT32 (LBA)設定
tでタイプ設定
2で第2パーティションをタイプ設定
83でLinux設定
wでwrite&exit


以下のコマンドを打ってフォーマット(sdX1はvfatで、sdX2はext4でフォーマットすることにする。)

sudo mkfs.vfat -F 32 /dev/sdX1 -n boot
sudo mkfs.ext4 /dev/sdX2 -L rootfs