トップ 最新 追記

ゆ〜ぞ〜の備忘録

コメントスパム対策のため、特定メールアドレスの入った突っ込みをお断りしています。

2005|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|03|04|05|06|07|08|09|10|11|12|
2010|01|03|
2036|01|

2009-04-04 [J] [mobile] 意外と健闘するWindowsMobile [長年日記]

subversion が出来た

Willcom03 による、SVNKit+MysaifuJVMを使った subversion リポジトリへのアクセスが出来ましたので、纏めておきました

いやあ、やればできるもんだ。すげえ。


2009-04-09 [J] [mobile] 古のアレを召還 [長年日記]

モバイルギア復活

思うところあって、DOSモバこと MC-MK12 を復活させてみました。

小笠原ペディションから7年のブランクを経ており、PCMCIA メモリカードを認識しません。
WindowsXP マシンに突っ込むと認識したのでデータを別のSDメモリカードにコピーしてみましたが、そちらもUniShellからは認識できず。

ちょいと調べてみたところ、友樹のおもちゃ箱でドンピシャのページを発見。

  • 容量は256MB以下を推奨
  • 古めの SD->CF/PCMCIA 変換機を使う(PanaのBN-CSDABP3/P、ハギワラのHPC-SDA01 で動いています)
  • Windows98, デジカメなどでフォーマットする(WindowsXP は駄目)

の三点に気をつければ大丈夫だそうです。

出来れば microSD を使いたいのですが、2GB のmicroSD を Win98DOS でフォーマットすると Unishell で認識するものの、サブディレクトリを見ることが出来ません。
MOBA DOS BBSにもちょくちょく動作報告が挙がっていますが、なかなか微妙な動作があると厄介ですね。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

propeciagronnaanato [http://www.propecianorxpharmacy.com/buy-propecia.html - h..]

cialisonline [http://www.cialisdelightful.com/ - http://www.cialisdelig..]

cialisonline [http://www.cialisdelightful.com/ - http://www.cialisdelig..]


2009-04-10 [J] [mobile] TCPMP [長年日記]

せぱー

貯金は全て楽天
借金は全て横浜

こんな展開、誰が予想しただろうか……

TCPMP@Willcom03

ソースが公開されていること、新旧のノウハウが蓄積されていることが仇となり、どのバージョンやプラグインが良いのかという情報が錯綜しています。

結局、TCPMPを使ってみよう にある TCPMP-WMpro.cab が良いそうです。経緯は Willcom03 ソフトスレ(7)の 114-141, 449 あたりにあります。

時系列がしっかりしていること、口は悪いけど真贋はっきりさせているところが 2ch 界隈の強みですね。 


2009-04-14 [J] [PC] あー [長年日記]

対策して死んだ

syslinux で色々起動できるようにしようとしてたらmicroSDが死んだ。

バックアップとってるUSBメモリじゃなくて、取ってないmicroSDだけ見事に死ぬんだなあ。クソが。

syslinux と DOSの起動とUSBメモリのフォーマット方式

syslinuxによるDOSの起動方式はgrub方式とsyslinux+img方式の2つ。

grub方式は、syslinuxからgrubを読んで、grubから起動する。

/boot/syslinux/syslinux.cfg の内容:
LABEL dosgrub
   KERNEL /boot/grub/grub.exe
/boot/grub/menu.lst の内容: title MS-DOS find --set-root /io.sys chainloader /io.sys

syslinux+img方式は、syslinuxからFDイメージを読んで起動する。

/boot/syslinux/syslinux.cfg の内容:
LABEL dosimg
   KERNEL /boot/syslinux/memdisk
   APPEND initrd=/boot/FDIMAGE/DOSFD.IMG

HP のツールでフォーマットすると HDDモードになる。

  • HDDモードだと、memdisk による image 起動は不可(ブートセクタを見るところで停止)。
  • grub経由の起動は可能。USBの中をしっかり使える。
  • HPのツールを使うとDriveImageが起動できない。PartitionMagicからは異常パーティションにみえる。EMM386読み込みで死ぬ?

WindowsXPでフォーマットすると、リムーバブルメディアになる。

  • リムーバブルだとgrub.exe 経由の起動は不可、(/boot/menu.lst が FDD になっている模様)
  • memdisk による image 起動は可能。ただし当然ながらUSBメモリの中は見えない。
  • DriveImage は起動できる。
  • EMM386読み込まないが死なない。

syslinux関連の情報には、こういう基本的なことが書かれていない。
DOSを起動しない限り不要の情報だが、dosに言及してても不確定情報と細切れノウハウばかり。うへえ。

あと、syslinux.cfg とか menu.lst の位置は3箇所に限定されている(/, /(grub|syslinux), /boot/(grub|syslinux))。

本日のツッコミ(全9件) [ツッコミを入れる]

Before...

削除Viola Vandyke [削除http://payday-loans.daviesscountychamber.com/personal-st..]

削除Lena Hohn [削除http://payday-loans.sci.edu/i-need-a-school-loan.html i ..]

CyclewayBarry [http://www.maps.google.com/ - http://www.wikipedia.org/ -..]


2009-04-17 [J] [PC] いー [長年日記]

Teksoft が熱い

A2DP Toggle作成元の Teksoft がBlue audioというのを出しています。
"most of all - support for A2DP Stereo Headsets!" は置いておくとしても "support for multiple headsets" とかかれており、以前書いた不条理の一つに対応している、のかもしれません。原因を突き止めてないので何とも言えないところですが。

あとはSpeakerphoneaudioRouteなど、恐らく skype でのスピーカーから音が出る問題に対応できそうなソフトがあります。aChgSndCfgでもいいのですが、Today画面に付いてるのがミソです。

と思ったけど、skype の起動にあわせて aChgSndCfg で出力先を変える → skype プロセスを見張って、無くなったらスピーカを戻す てのでいい気がします。

syslinux についてもう少し纏めようと思ったけど

syslinux から GRUB for DOS をチェインロードさせていたが、3回もパーティションテーブルぶっ壊されたので嫌になった。
こんな腐れソフトは初めてだ。

syslinux から Linux を起動する分には問題ないんだろうけど、それなら DOS 起動して loadlin/linld の方が良いよね。どうにも巧くいかないので syslinux に行ってみたわけだけど、メモリ壊されるのに比べたら……ねえ。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

cialisonline [http://www.cialisdelightful.com/ - http://www.cialisdelig..]

cialisonline [http://www.cialisdelightful.com/ - http://www.cialisdelig..]

CyclewayBarry [http://www.maps.google.com/ - http://www.wikipedia.org/ -..]


2009-04-18 [J] [mobile] DOS版モバイルギアでSDメモリを使う方法 [長年日記]

DOSモバでSDを動かす

友樹のおもちゃ箱」や「MOBADOS掲示板」では 256〜512MBが上限とか HP200LX でフォーマットすれば良いと書かれていますが、今日び microSD を探しても 1GB とか 2GB しか無いので困ってしまいます。

しかし原因の大半は 昔の528MB制限と同じ箇所にありますので、先頭の 256MB ないし 512MB だけ使うことが可能です。

DOSモバの制限

DOSモバは古いDOSで動いていますから、LBAではなくCHSを使ってストレージにアクセスします。
よってCHSの各種制限を受けます。具体的には以下の通りです。

  • C(シリンダ)<= 1023
  • H(ヘッダ) <= 16
  • S(セクタ) <= 63

この制限に合わせるためには Linux の fdisk/cfdisk などでSDメモリのヘッダとセクタを調整し、パーティションのサイズによってシリンダを調整します。

1セクタ=512byte のため、ヘッダとセクタを16/63 としたとき シリンダが 1024 になるパーティションのサイズは 512MB 近辺(528,482,304 bytes)です。

CHSを見てみよう

いろんな SD メモリの CHS パラメタを見てみました。

  • Buffalo 128MB SD の C/H/S = 993/8/32
  • ハギワラシスコム 256MB SD の C/H/S = 985/16/32
  • ハギワラシスコム 1GB SD の C/H/S = 947/64/32
  • sandisk 2GB SD の C/H/S = 7754/16/32
  • adata 16GB USB フラッシュメモリの C/H/S = 1024/255/63, LBA = 63/32097807
    終点 C/H/S を 1023/254/63 とするのが8.4GB越えの規定値だそうです。ちなみにLBA end は 32097869
  • Toshiba 8GB microSD の C/H/S = 968/255/63, LBA = 63/15550857
  • adata 8GB microSD C/H/S = 980/255/63, LBA = 63/15743637
  • ハギワラ 1GB SD を デジカメでフォーマットすると C/H/S = 969728/2/1
  • ハギワラ 1GB SD を GT-31 でフォーマットすると C/H/S = 15152/4/32
  • ハギワラ 1GB SD の CHS を Linux fdisk で変更する場合は C/H/S = 3788/16/32 または 1924/16/63 になる
    CHS=3788/16/32 または 1924/16/63 として シリンダ1023までのパーティションを確保し、DOSでフォーマットすることによりモバイルギアでの動作を確認。
    256MB または 512MB だけですが、カードを選ばないのがミソです。

おまけ

HP200LXでフォーマットした 2GB microSD のディスクイメージが「こばこのひみつ」で公開されていましたが、DOSモバ(Unishell)で認識する容量自身がすでにおかしいのでダメでした。

もっと細かいパラメタを見てみよう

原理は「パーティションテーブルの解析」に書かれている通りです。
Linux の fdisk で見るのが一番手っ取り早いのですが、MBRを直接見ることで更に細かいところまで判断できます。

まずMBRを取得する方法ですが、これはdd for Windowsでディスクの先頭 512byte を取ってくればOK。

dd --list

でPCに繋がっているディスク・パーティションの情報が得られますので、

dd if=\\?\Device\Harddisk1\Partition0 of=e:\sd2g_adata_xp.mbr bs=512 count=1

とやれば MBR を取得できます。

dd if=\\?\Device\Harddisk1\Partition1 of=e:\sd2g_adata_xp.pbr bs=512 count=1
または dd if=\\.\h: of=e:\sd2g_adata_xp.pbr bs=512 count=1

とすると PBR(パーティションブートレコード)を取得できます。中身は「PBRの構造」を参照のこと。
昔 Linux を入れると「liloを HDD の先頭に入れますか? それともパーティションに入れますか?」みたいなことを聞かれていました。前者がMBR、後者がPBRのブートストラップに書き込むという意味なのでしょう

なお、SDメモリカードからMBR/PBRを採取するときは、USBの変換アダプタを介する必要があります。ノートPCについているSDメモリスロット経由ではフロッピー扱いになるため、MBR/PBRを取得できません。

取り出した 512bytes から CHS パラメタを取得する Perl スクリプトは以下の通り。

open (MBRFILE, $ARGV[0] );
binmode(MBRFILE); # これがないと \x0D,\x0A を勝手に削る(怒
read(MBRFILE, $bootSector, 446);
for ($i=0; $i < 4; $i++){ read(MBRFILE, $bootFlag, 1); read(MBRFILE, $CHSstart, 3); read(MBRFILE, $type, 1); read(MBRFILE, $CHSend, 3); read(MBRFILE, $LBAstart, 4); read(MBRFILE, $LBAlength, 4);
$LBAstart = unpack("L", $LBAstart); $LBAlength = unpack("L", $LBAlength); $sizeMB = (($LBAlength * 512) / 1000000.0); $sizeMiB = (($LBAlength * 512) / (1024.0 * 1024.0));
last if ($LBAlength == 0);
printf("BootFlag = %d, type = %s\n", (unpack("C", $bootFlag)==0)? 0 : 1, unpack("h", $type)); ($c0,$h0,$s0) = &readCHS($CHSstart); ($c1,$h1,$s1) = &readCHS($CHSend); printf("CHS start = %d/%d/%d, end = %d/%d/%d\n", $c0,$h0,$s0,$c1,$h1,$s1); printf("LBA start = %d, len = %d\n", $LBAstart, $LBAlength); printf("Size = %0.3f [MB], %0.3f [MiB]\n", $sizeMB, $sizeMiB);
$CHSendSector = ($c1 + 1) * ($h1 + 1) * $s1 -1; $LBAendSector = $LBAstart + $LBAlength - 1; if ($CHSendSector == $LBAendSector){ printf("CHS end Sector and LBA end Sector is %d (matched)\n", $CHSendSector); }else{ printf("CHS end Sector is %d, LBA end Sector is %d (NOT matched)\n", $CHSendSector, $LBAendSector); }
# CとH は 0から始まるので、HDDの特性値としては +1 される if ($c1 > 0){ printf(" CHS in HDD is %d/%d/%d\n", $c1+1,$h1+1,$s1); } } close(MBRFILE);
sub readCHS($){ my ($chsBin) = @_; my ($h, $s, $c) = unpack("C3", $chsBin); $c = $c + ($s >> 6) * 256; $s = $s % 64; return ($c, $h, $s); }

第一パーティションの開始CHSは=0/1/1、それ以外のパーティションは開始点の H/S が 0となる規定のため、第一パーティションの最終ヘッダ+1と最終セクタ が HDD の最大ヘッダ、最大セクタ値となります(ヘッダは0から始まるため+1する)。
というか他にC/H/Sの最大値を記録する場所が無いため、Linux fdisk などで C/H/S を設定してもパーティションを作成しない限り H/S の値は保存されないようです。
じゃあ、Linux の fdisk とかで見るシリンダ最大値はどこから取るんだろう? ファームに総セクタ数でも書いてあって、そっから適当に割り出すのかな?

見てみると面白いこと

これでHP200LX用SD2Gイメージを見てみたところ、 C/H/S = 620/16/32 でした。
LBA の始点は32、終点は3987424。かなり食い違うんだけど、大丈夫なの?

本日のツッコミ(全15件) [ツッコミを入れる]

Before...

削除Mona Sandy [削除http://cialis.great-monday.com/is-it-safe-to-buy-cialis-..]

slots8 [холдем менеджер титан покер <a href="http://tunloterbharcu..]

blackjack9 [скачать азартные игры lg kp500 характеристика <a href= htt..]


2009-04-19 [J] [PC] syslinux 解説のつもりがGRUBの糾弾に(苦笑 [長年日記]

初めに

GRUB for DOS によって 2枚のSD+1枚のCFメモリカードのパーティションが合計4回破壊されました。
よって GRUB for DOS は出入り禁止、そうなると syslinux でDOSを起動する方法が限られるため syslinux も使用停止とします。

GRUB for DOS がSDメモリを殺した理由

パーティションとその切り方」や「マスターブートレコードの解析」を読むと推察がつきます。

ディスクの先頭1セクタ(512Byte)は MBR(マスターブートレコード)となっており、内訳は以下の通り。

  • ブートストラップローダ 446bytes
  • パーティションテーブル 16bytes ×4 = 64bytes
  • ブートシグニチャ 2bytes

重要なのは MBRそのものではなく、最初のパーティションが第2トラック(シリンダー0、ヘッド1)から始まること。つまり、

  • C/H/S = 0/0/1 → MBR
  • C/H/S = 0/1/1 → パーティション先頭

となること。通常のHDDにおける セクタの最大値は63なので 1トラック=63セクタとなりますが、壊れた SDメモリカードはセクタの最大値が 32 と定められており、1トラック=32セクタ。
つまり、GRUB for DOS のバカが セクタ33〜62 の領域に何か書いた可能性が高そうです。案の定 512×62を16進数にした7C00で検索してみると解説っぽい文書が出てきます。なにが Magic だ馬鹿野郎。

以降、お薦めはしませんが

折角書いたので置いておきます


USBメモリ、メモリカードからsyslinuxの起動

USB メモリ(Z:とする)に対して MBR の書き換え(-m)とパーティションのアクティブ化(-a)を行い、 ブートローダ本体(ldlinux.sys)を /boot に書き込みます。

  syslinux -ma -d /boot Z:

ldlinux.sys の書き込み先は任意に選べますが、どのみち syslinux.cfg の置き場所が ルートディレクトリ、/boot/syslinux、/syslinux のいずれかになるので、ルートか /boot/ あたりが無難です。

弄るのはMBRだけなので フォーマットは基本的に不要(=データが消えない)ですが、 念のためバックアップを取ることをお勧めします。事実、起動中にmiceroSDが死んだので(涙)。

メモリカードに syslinux を入れるときは、PCMCIA またはUSBのメモリカードリーダ に入れてsyslinux コマンドを実行する必要があります。ノートPCにあるSDスロットでは、syslinux 自体が起動しません。
SDスロットに入れると SDメモリカードの MBR にアクセスできないためだと推測されます。

USBメモリのHDD/FDDモードとPCの認識

syslinux の起動方法は3種類。

  1. カーネルとイメージの指定
  2. memdisk とディスクイメージを指定
  3. GRUB for DOS 経由で起動

このうち 2. および 3. に挙げた方式の正否は、USBメモリのパーティション構成がハードディスク互換(HDDモード)か、リムーバブルディスク互換(FDDモード)かによって変わりますし、更にPCからFDD/HDDどちらのモードと認識されるかによっても変わります。

一番確実なのは、Win98SE の DOS モードで起動して fdisk, format /s することです。
私の持っている ECS の AMD690GM-M2 は「USB機器から起動すると起動時に繋げているUSB機器にアクセスできる」というグレイトな機能がありましたので、複数のUSB機器を繋いでDOS起動→fdisk, format /s が可能でした。

そのほかの方法についてはもうサッパリ(参考:日本HPUSBブート推進協議会)。

メディア フォーマット方法 PCでの認識(HDD/FDD) イメージファイル指定での起動 GRUBを使った起動
(CF) PCMCIAに繋いで Win98SEでフォーマット, sys → syslinux HDD認識 起動成功、メモリ本体が C: に見える 起動成功
(SD) PCMCIAに繋いで Win98SEでフォーマット, sys → syslinux HDD認識 起動成功、メモリ本体にアクセスできず、Partition Magic で #105エラー 起動成功。#105エラーは変わらず
CF の Win98DOSで起動し、fdisk, format /s → syslinux HDD認識 起動成功。メモリ本体は未確認 起動成功。Parition Magic エラー無し
(USB) HPフォーマット → syslinux HDD認識 起動成功
HPフォーマット → XPでクイックフォーマット → syslinux FDD認識? 起動成功。メモリ本体は見えず。 copyで転送 したが、GRUB起動時に menu.lst の読み込みに失敗
HPフォーマット → XPでクイックフォーマット → Win98でsys → syslinux HDD認識 起動成功。メモリ本体にアクセスできず、 Partition Magic で #108エラー 起動成功。#108エラーは変わらず
CF の Win98DOSで起動し、fdisk, format /s → syslinux HDD認識 起動成功。メモリ本体は未確認 起動成功。Parition Magic エラー無し
(SDHC) SDフォーマット → USB に繋いで copy で転送 → syslinux HDD認識 起動成功。メモリ本体にアクセスできず、Partition Magic では #108エラー DOS起動時に "Type the name of the Command Interpreter" (*1)
SDフォーマット → USBに繋いでXPでクイック/通常フォーマット → syslinux FDD認識 syslinux 起動せず
デジカメでフォーマット → USBに繋いで syslinux HDD認識 起動成功。メモリ本体にアクセスできず、Partition Magic では #108エラー
デジカメでフォーマット → USBに繋いでXPで通常フォーマット → syslinux FDD認識 syslinux 起動せず
USBに繋いでHPフォーマット → XPでクイック/通常フォーマット copyで転送 → syslinux FDD認識 起動成功。メモリ本体が B: となり、HDDとしては認識されない GRUB起動時に menu.lst の読み込みに失敗
CF の Win98DOSで起動し、fdisk, format /s → syslinux HDD認識 起動成功。メモリ本体は未確認 起動成功。Parition Magic エラー無し

(*1) 逆に言えば、syslinux→GRUB→io.sys 読み込みまでは成功しています。
パーティションエラーのせいで command.com の読取に失敗したと仮定すれば、Win98 の sysコマンドを使わずにシステムファイル(io.sys, msdos.sys, command.com)をコピーしても問題は無かった可能性があります。
つまり Windows98 DOS の動く環境が無くても Linux でパーティション切りなおし → フォーマット → システムファイルを普通にコピー → syslinux実行 で動くかもしれません。もしかしたら ms-sys 辺りが必要になるかもしれませんが。

syslinux の起動(1)カーネルとイメージの指定

例えばBG-Rescue Linux なら、syslinux.cfg の中身はこんな感じで、 loadlin、lilo、grub などの起動ツールと基本的に同じです。

LABEL bglinux
   KERNEL /boot/syslinux/BGRescue/vmlinuz
   APPEND initrd=/boot/syslinux/BGRescue/initrd.img root=/dev/ram0

モノによっては結構複雑だったりしますが、isoイメージファイルの中に isolinux.cfg というファイルがあれば参考に出来ます。

LABEL ping
   KERNEL /boot/syslinux/PING/kernel
   APPEND vga=normal devfs=nomount pxe ramdisk_size=55000 load_ramdisk=1 init=/linuxrc prompt_ramdisk=0 initrd=/boot/syslinux/PING/initrd.gz root=/dev/ram0 rw noapic nolapic lba combined_mode=libata ide0=noprobe nomce pci=nomsi irqpoll quiet

参考:仙石浩明の日記 2007-08-24

syslinux の起動(2)memdisk とディスクイメージを指定

注意:PCによってはどうやっても起動できず、Loading boot sector で停止することがあります。

DOSにはカーネルが無いため、(1)の方法は使えません。

この場合は memdisk というプログラムでディスクイメージをロードするよう syslinux.cfg に書いてやればOK。memdisk は syslinux を解凍すると memdisk ディレクトリの下にあります。
また、UNetbootinを使うと簡単に導入できます。

LABEL dosfd
   KERNEL /boot/syslinux/memdisk
   APPEND initrd=/boot/FDIMAGE/WIN98SEU.IMG

起動条件は、(恐らく)HDD認識またはFDDモードFDD認識であること。メモリ本体は前者で C:、後者で B: になります。

参考:memdisk

syslinux の起動(3)GRUB for DOS 経由で起動

DOSにはカーネルが無いため、(1)の方法は使えません。

この場合は syslinux から GRUB for DOS を読んで、GRUB から起動します。

しかしSDメモリのパーティション破損が3回、いずれもこの方式での起動中にありました。
破損したのはSDまたはmicroSDメモリカード、1枚は時々 syslinux が起動せず、1枚は突然壊れました。とりあえず GRUB for DOS は出入り禁止とします。

/boot/syslinux/syslinux.cfg の内容:
LABEL dosgrub
   KERNEL /boot/grub/grub.exe
/boot/grub/menu.lst の内容: title MS-DOS find --set-root /io.sys chainloader /io.sys

起動条件というか方法は、Win98 でフォーマットし sysコマンドで転送していること。
または HP のツールでフォーマットしていること。

その他の方法についてはさっぱり分かりません。FDDモードと認識されるとGRUB の起動に失敗し、通常の方法で システムファイル(io.sys、msdos.sys、command.com)をコピーしてもうまく行かないようです。

制限事項は以下の通り。

  • menu.lst は ルートディレクトリか /grub、 /boot/glib のいずれか
  • この方法で複数のDOSを起動する場合、autoexec.bat, config.sys の制御がややこしい
  • SDのパーティションがバンバン壊れます。こんなクズプログラム使っちゃ駄目だよ!

参考……とするには不確定情報の扱いが拙いものの、まあ実験乙:Palm84 某所の日記 2007-03-04 GRUB for DOS めも

本日のツッコミ(全15件) [ツッコミを入れる]

Before...

削除Nelson Mickey [削除http://payday.vidol.gov/fast-debt-consolidation-loans.ht..]

agrituina [This is basically a bantam term intent loan through with w..]

Williamhype [Hi Bro! Goocournodyovera http://ujyfyvedcc.com - kuyfgky g..]


2009-04-23 [J] [PC] えうれーか! [長年日記]

ぱうフォント見つけた

なめらかなぱうフォント。16dotでは疑似TTFぱうより見栄えが悪くなってしまいますが、アンチエイリアスを効かせればいいかも。


2009-04-24 [J] [PC] かいせきちゅー [長年日記]

発端はGT-31

SDメモリが使えるGPSなんですが、このSDが認識したりしなかったりと変な奴なんですよ。
2GBの奴なんか、自分でフォーマットしたものしか使えない。しかもGT-31 でフォーマットしたものは Willcom 03 で見えない……。

デジカメのフォーマット

デジカメやフォーマットソフトウェアで1GB/2GB のSDをフォーマットして、MBR を見てみると……

  • 第一パーティション始点のCHS値が 0/1/1 ではありません
  • パーティションタイプは e(FAT16 Win95 LBA)ではなく 6(FAT 16)です。
  • 「論理サイズ調整」を ON にしていると:
    • 第一パーティション終点はシリンダ境界に設定されます
    • そのため、終点のCHS値からSDメモリ自身の CHS パラメタを割り出すことが出来ます
    • 第一パーティション始点・終点のLBA値は、CHS パラメタから計算した値に一致します
    • 容量は「論理サイズ調整」を OFF にするより少し小さくなります
    • Sandisk 2GB の例:CHS start = 0/3/61, end = 983/63/63, LBA start = 249, len = 3967239
      CHSend から計算した SD のCHSパラメタは 984/64/63
      CHS から計算した始点は (3 * 63 + 61 - 1) = 249、終点は (984 * 64 * 63) - 1) = 3967487
      LBA から計算した始点は 249、終点は (63 + 3967239 -1) = 3967487 (一致する)
  • 「論理サイズ調整」を OFF、またはデジカメでフォーマットすると:
    • 第一パーティション終点がシリンダ境界に設定されません
    • そのため、終点のCHS値からSDメモリ自身の C/H/S パラメタを割り出すことが出来ません
    • 第一パーティション始点・終点のLBA値は、CHS パラメタから計算した値に一致しません
    • ただし、「論理サイズ調整」を ON にしたときと同じ H/S で計算すると一致します(恐らく、容量から H/S を割り出させているのでしょう)
    • 容量は「論理サイズ調整」を ON にするより少し大きくなります
    • Sandisk 2GB の例:CHS start = 0/3/61, end = 984/40/40, LBA start = 249, len = 3969799
      CHSend から計算した SD のCHSパラメタは 985/41/40
      CHS から計算した始点は (3 * 40 + 61 - 1) = 180、終点は (985 * 41 * 40) - 1) = 1615399
      LBA から計算した始点は 249、終点は (63 + 3969799 -1) = 3970047 (一致しない)
      しかしSD のCHSパラメタを 64/63 と仮定すると、始点は (3 * 63 + 61 - 1) = 249、終点は ((984 * 64 * 63) + (40 * 63) + 40 - 1) = 3970047(一致する)
# Sandisk 2GB microSD formatted by Deigital Camera (Lumix FX-33)
# GT-31 DOES NOT recognize it
BootFlag  = 0, type = 6
CHS start = 0/3/61, end = 984/40/40
LBA start = 249, len = 3969799
Size = 2032.537 [MB], 1938.378 [MiB]
CHS end Sector is 1615399, LBA end Sector is 3970047 (NOT matched)
  CHS in HDD is 985/41/40

# Sandisk 2GB microSD formatted by "Panasonic SD Formatter" # with Logical prepair option # GT-31 DOES NOT recognize it BootFlag = 0, type = 6 CHS start = 0/3/61, end = 983/63/63 LBA start = 249, len = 3967239 Size = 2031.226 [MB], 1937.128 [MiB] CHS end Sector and LBA end Sector is 3967487 (matched) CHS in HDD is 984/64/63
# Hagiwara Syscom 1GB microSD formatted by Deigital Camera (Lumix FX-33) # GT-31 DOES NOT recognize it BootFlag = 0, type = 6 CHS start = 0/2/8, end = 962/1/1 LBA start = 133, len = 1939323 Size = 992.933 [MB], 946.935 [MiB] CHS end Sector is 1925, LBA end Sector is 1939455 (NOT matched) CHS in HDD is 963/2/1
# Hagiwara Syscom 1GB microSD formatted by "Panasonic SD Formatter" # with Logical prepair option # GT-31 DOES NOT recognize it BootFlag = 0, type = 6 CHS start = 0/2/8, end = 961/31/63 LBA start = 133, len = 1939259 Size = 992.901 [MB], 946.904 [MiB] CHS end Sector and LBA end Sector is 1939391 (matched) CHS in HDD is 962/32/63
# Hagiwara Syscom 1GB microSD formatted by "Panasonic SD Formatter" # WITHOUT Logical prepair option # GT-31 DOES NOT recognize it BootFlag = 0, type = 6 CHS start = 0/2/8, end = 962/1/1 LBA start = 133, len = 1939323 Size = 992.933 [MB], 946.935 [MiB] CHS end Sector is 1925, LBA end Sector is 1939455 (NOT matched) CHS in HDD is 963/2/1

更に酷いGT-31

LBA start が 0とか、2番目以降のパーティションがぐっちゃとか、まあ楽しいことやってくれてます(笑

# Sandisk 2GB microSD formatted by GT-31
# It works well with GT-31 and Windows, buut recognition error with Windows Mobile
BootFlag  = 1, type = 6
CHS start = 0/1/1, end = 488/3/32
LBA start = 0, len = 3969920
Size = 2032.599 [MB], 1938.438 [MiB]
CHS end Sector is 62591, LBA end Sector is 3969919 (NOT matched)
  CHS in HDD is 489/4/32
BootFlag  = 0, type = 0
CHS start = 0/64/1, end = 917/0/57
LBA start = -2049004022, len = 81931
Size = 41.949 [MB], 40.005 [MiB]
CHS end Sector is 52325, LBA end Sector is -2048922092 (NOT matched)
  CHS in HDD is 918/1/57
BootFlag  = 0, type = 0
CHS start = 0/0/0, end = 0/0/1
LBA start = 0, len = 90701824
Size = 46439.334 [MB], 44288.000 [MiB]
CHS end Sector is 0, LBA end Sector is 90701823 (NOT matched)
BootFlag  = 0, type = 0
CHS start = 385/96/52, end = 389/96/51
LBA start = -1721679870, len = -261079038
Size = 2065350.788 [MB], 1969672.001 [MiB]
CHS end Sector is 1929329, LBA end Sector is -1 (NOT matched)
  CHS in HDD is 390/97/51

DOSモバみたいに何とかごまかせないかなと思ってイロイロやってみましたがダメでした(詳細)。Header>16 or Sector>32 だと認識しないとか、HDD の総シリンダが1023を越えていると書き込めるように見えて Windows から見えないとか、結構笑えない状況なので、おとなしく GT-31 でフォーマットして使うのが良さそうです。
一応バグレポートは出したし、GT-31 作成元の Locosys は反応が早いのでゆっくり待ちましょうか。

本日のツッコミ(全15件) [ツッコミを入れる]

Before...

PlatiTox [Здравствуйте уважаемые пользователи! Сегодня хочу предл..]

alexfigalev [http://snob.ru <a href=http://clon.ru>информацию.</a> <a h..]

RobertoniKl [07) В январе не пытайтесь ничего приукрасить - это будет р..]