12: 2009-03-31 (火) 18:31:33 [6] | 13: 2009-04-01 (水) 00:37:18 [7] | ||
---|---|---|---|
Line 81: | Line 81: | ||
--ついでなので解説。KHBIOS-HBは本来のKHBIOSには程遠い。SDなどのMBR内に寄生し、せいぜいディスクイメージ内のアクセスを少し手伝ってくれる程度である。 | --ついでなので解説。KHBIOS-HBは本来のKHBIOSには程遠い。SDなどのMBR内に寄生し、せいぜいディスクイメージ内のアクセスを少し手伝ってくれる程度である。 | ||
-とりあえず1.はできたっぽい。 | -とりあえず1.はできたっぽい。 | ||
+ | -2.もできた。3.はできたけどWinXPでうまく認識できないSDになってしまうことが判明したので、手法を変更。そしたらうまくいった。 | ||
+ | --詳細はこちら: http://dot.osask.jp/blog2/details.php?bid=87 | ||
+ | -ということで第一次リリースまでの残りは4.だけ。 | ||
+ | --でも超忙しいのでこの先はなかなか進まないかもしれない。あと数時間あればできそうなんだけど・・・。 | ||
+ | -とりあえず4.までできたらどうなるかだけを予告。 | ||
+ | --材料:EeePC(か、もしくは適当なPC)、SD(か、もしくはUSBメモリなど)、FDとUSB-FDD。 | ||
+ | --SDにフォーマットをかけてまっさらにする。フォーマットはFATでもなんでもいい(つまりSF16に限定じゃない!)。 | ||
+ | --そしてそのSDに適当な「はりぼてOS」のディスクイメージを入れる。当然ただの1440KBのファイル。これを入れるときにimgtolとかは必要ない。普通のファイルコピー(というかコピペ)で十分。 | ||
+ | --次にFDにFreeDOSをいれ、さらにリリースされるはずのpcctol0iも入れる。そしてこのFDからブート。 | ||
+ | --DOS上でpcctolを実行し、まずSDがどのドライブ番号になっているか確認する。 | ||
+ | prompt>pcctol M 60 | ||
+ | prompt>pcctol M 61 | ||
+ | prompt>pcctol M 62 | ||
+ | --これくらいやれば多分容量とかからわかるはず。 | ||
+ | --そしてSDのMBRのバックアップを取る(ここではドライブ番号が60の場合で話を進める)。 | ||
+ | prompt>pcctol r 60 backup.img 32k | ||
+ | --これで96KBのバックアップファイルができる。まあバックアップなんか興味ないという人はこれをやらなくてもいい。 | ||
+ | --最後に、KHBIOS-HBに対応したMBRをインストールする。 | ||
+ | prompt>pcctol B 60 khbh_mbr.bin | ||
+ | --これでおしまい。あとはこのSDから起動するだけ。SDから高速に(少なくともWinXPよりは格段に速い)起動するのを是非一度体験してほしい。 | ||
+ | --原理としては、pcctolがkhbh_mbr.binを書き込むときにSD内を検索し、どこに起動すべきディスクイメージがあるのかをMBRに一緒に記録している。だから、imgtolとかでパーティションの先頭からきっちりと書く必要がない(そうしてもいいけど)。Windowsでは同じサイズで同じ名前のファイルを上書きしても、ディスク上の位置が変わることはないので、OSをデバッグしてテストランするときは、何も考えずに普通に上書きコピーすればよい。それだけでupdateされる。 | ||
+ | --pcctolがディスクイメージを見つける方式なので、SDのフォーマットが何であってもかまわない。しかし断片化はダメ。なおpcctolが見つけられるように「はりぼてOS」のIPLにはKHBIOS-HBシグネチャという40バイトを書いておくことになる(IPLに入らないときは、ディスクイメージのどこでもいいので書いておけるようになっている。つまりファイル領域でもいいので、適当にKHBIOSHB.SYSみたいなファイルを作って、そこにいれておいてもいい。そのへんは柔軟な仕様にしておいた)。 | ||
+ | --今回の例ではもともとFD用だったOSをSDで起動したが、このKHBIOS-HBを前提にOSを作ることももちろんできて、それだと1440KBという制限はない。100MBでも1GBでもOK。その辺の詳しいやり方は後日まとめようと思う。 | ||
* こめんと欄 | * こめんと欄 | ||
#comment | #comment |
(This host) = http://osask.net