Palm84 某所の日記

死のうは一定、しのびクマには何しよぞ...

フラッシュメモリのパーティションテーブル

MBRの内容
  1. ブートストラップ - 440 bytes
  2. volume information(NTシグネチャとか) - 4 bytes
  3. 未使用? - 2 bytes
  4. パーティションテーブル - 64 bytes
  5. ブートシグネチャ 0xAA55 - 2 bytes

[2]はなくても(0x00でも)問題はないらしい。Windows 2000/XPのローカルHDでは0x00だった場合はブート時に記録される?

  • MS-DOS(FreeDOS)のfdisk( /mbr)では先頭から446バイト上書される?
  • fixmbrでは440バイト上書
  • ブートストラップの修復(上書)は事前に446バイトをクリア(0x00に)しないとうまく行かないことがある
  • ms-sysコマンドとfdisk
  • サードパーティ製のブートローダの場合、MBR以降の空きセクタにも書き込むことがある

2GB microSDメモリ

# fdisk -l /dev/sda
Disk /dev/sda: 2013 MB, 2013265920 bytes
62 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1022     1964253    e  W95 FAT16 (LBA)
00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,01,
01,00,0E,3D,FE,FD,3E,00,00,00,BA,F1,3B,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ180
開始位置(CHS)301,01,00
システムID10E
終了位置(CHS)33D,FE,FD
開始位置(LBA)43E,00,00,00
総セクタ数(LBA)4BA,F1,3B,00
  • 開始位置 0x3E- 62
  • 総セクタ数 0x3BF1BA- 3928506

第1パーティションの開始位置は63番目セクタ

な〜んか、総バイト数が違いすぎな感が・・・

ヘッド数・セクタ数を指定してfdisk実行 (-H 255 -S 63)
# fdisk -H 255 -S 63 /dev/sdc

そのまま続いて領域作成

Disk /dev/sdc: 2013 MB, 2013265920 bytes
255 heads, 63 sectors/track, 244 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1         244     1959898+   6  FAT16
00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,01,
01,00,06,FE,3F,F3,3F,00,00,00,B5,CF,3B,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ180
開始位置(CHS)301 01 00
システムID106
終了位置(CHS)3FE,3F,F3
開始位置(LBA)43F,00,00,00
総セクタ数(LBA)4B5,CF,3B,00
  • 開始位置 0x3F - 63
  • 総セクタ数 0x3BCFB5 - 3,919,797
ヘッド数・セクタ数を指定してfdisk実行 (-H 16 -S 63)
# fdisk -H 16 -S 63 /dev/sdc

そのまま続いて領域作成

Disk /dev/sdc: 2013 MB, 2013265920 bytes
16 heads, 63 sectors/track, 3900 cylinders
Units = シリンダ数 of 1008 * 512 = 516096 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1        3900     1965568+   e  W95 FAT16 (LBA)
00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,01,
01,00,0E,0F,FF,FF,3F,00,00,00,01,FC,3B,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ180
開始位置(CHS)301 01 00
システムID10E
終了位置(CHS)30F,FF,FF
開始位置(LBA)43F,00,00,00
総セクタ数(LBA)401,FC,3B,00
  • 開始位置 0x3F - 63
  • 総セクタ数 0x3BFC01 - 3,931,137

128MB USBメモリ

# fdisk -l /dev/sda
Disk /dev/sda: 131 MB, 131072000 bytes
5 heads, 50 sectors/track, 1024 cylinders
Units = cylinders of 250 * 512 = 128000 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1024      127975    6  FAT16
00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,01,
01,00,06,04,F2,FF,32,00,00,00,CE,E7,03,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ180
開始位置(CHS)301,01,00
システムID106
終了位置(CHS)304,F2,FF
開始位置(LBA)432,00,00,00
総セクタ数(LBA)4CE,E7,03,00
  • 開始位置 0x32- 50
  • 総セクタ数 0x3E7CE- 255950

第1パーティションの開始位置は51番目セクタ

1GB SDメモリ

# fdisk -l /dev/sda

Disk /dev/sdb: 1017 MB, 1017643008 bytes
32 heads, 61 sectors/track, 1018 cylinders
Units = cylinders of 1952 * 512 = 999424 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1018      993567+   6  FAT16
00,00,00,00,00,00,00,00,00,00,00,00,00,00,80,00,
02,00,06,1F,FD,F9,01,00,00,00,3F,52,1E,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ180
開始位置(CHS)300,02,00
システムID106
終了位置(CHS)31F,FD,F9
開始位置(LBA)401,00,00,00
総セクタ数(LBA)43F,52,1E,00
  • 開始位置 0x01 - 1
  • 総セクタ数 0x1E523F - 1987135

第1パーティションの開始位置は2番目セクタ。ちょっと変?

64MB SDメモリ

# fdisk -l /dev/sda

Disk /dev/sdb: 61 MB, 61997056 bytes
2 heads, 60 sectors/track, 1009 cylinders
Units = cylinders of 120 * 512 = 61440 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1009       60510    6  FAT16
00,02,90,C7,12,00,80,00,52,7E,09,63,A8,01,80,01,
01,00,06,01,FC,F0,3C,00,00,00,BC,D8,01,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ180
開始位置(CHS)301,01,00
システムID106
終了位置(CHS)301,FC,F0
開始位置(LBA)43C,00,00,00
総セクタ数(LBA)4BC,D8,01,00
  • 開始位置 0x3C - 60
  • 総セクタ数 0x1D8BC - 121020

第1パーティションの開始位置は61番目セクタ

16MB miniSDメモリ

# fdisk -l /dev/sda

Disk /dev/sda: 14 MB, 14909440 bytes
2 heads, 32 sectors/track, 455 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         455       14531+   1  FAT12
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,
1A,00,01,01,60,C6,39,00,00,00,87,71,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,AA,
情報の種類バイト数パーティション1
ブートインディケータ100
開始位置(CHS)301,1A,00
システムID101
終了位置(CHS)301,60,C6
開始位置(LBA)439,00,00,00
総セクタ数(LBA)487,71,00,00
  • 開始位置 0x39 - 57
  • 総セクタ数 0x29063 - 29063

第1パーティションの開始位置は58番目セクタ