13: 2009-04-01 (水) 00:37:18 [6] | 14: 2009-04-01 (水) 00:37:18 [7] | ||
---|---|---|---|
Line 97: | Line 97: | ||
--そしてSDのMBRのバックアップを取る(ここではドライブ番号が60の場合で話を進める)。 | --そしてSDのMBRのバックアップを取る(ここではドライブ番号が60の場合で話を進める)。 | ||
prompt>pcctol r 60 backup.img 32k | prompt>pcctol r 60 backup.img 32k | ||
- | --これで96KBのバックアップファイルができる。まあバックアップなんか興味ないという人はこれをやらなくてもいい。 | + | --これで96KBのバックアップファイルができる(先頭64KBはデバイス情報などのヘッダ)。まあバックアップなんか興味ないという人はこれをやらなくてもいい。 |
--最後に、KHBIOS-HBに対応したMBRをインストールする。 | --最後に、KHBIOS-HBに対応したMBRをインストールする。 | ||
prompt>pcctol B 60 khbh_mbr.bin | prompt>pcctol B 60 khbh_mbr.bin | ||
--これでおしまい。あとはこのSDから起動するだけ。SDから高速に(少なくともWinXPよりは格段に速い)起動するのを是非一度体験してほしい。 | --これでおしまい。あとはこのSDから起動するだけ。SDから高速に(少なくともWinXPよりは格段に速い)起動するのを是非一度体験してほしい。 | ||
--原理としては、pcctolがkhbh_mbr.binを書き込むときにSD内を検索し、どこに起動すべきディスクイメージがあるのかをMBRに一緒に記録している。だから、imgtolとかでパーティションの先頭からきっちりと書く必要がない(そうしてもいいけど)。Windowsでは同じサイズで同じ名前のファイルを上書きしても、ディスク上の位置が変わることはないので、OSをデバッグしてテストランするときは、何も考えずに普通に上書きコピーすればよい。それだけでupdateされる。 | --原理としては、pcctolがkhbh_mbr.binを書き込むときにSD内を検索し、どこに起動すべきディスクイメージがあるのかをMBRに一緒に記録している。だから、imgtolとかでパーティションの先頭からきっちりと書く必要がない(そうしてもいいけど)。Windowsでは同じサイズで同じ名前のファイルを上書きしても、ディスク上の位置が変わることはないので、OSをデバッグしてテストランするときは、何も考えずに普通に上書きコピーすればよい。それだけでupdateされる。 | ||
- | --pcctolがディスクイメージを見つける方式なので、SDのフォーマットが何であってもかまわない。しかし断片化はダメ。なおpcctolが見つけられるように「はりぼてOS」のIPLにはKHBIOS-HBシグネチャという40バイトを書いておくことになる(IPLに入らないときは、ディスクイメージのどこでもいいので書いておけるようになっている。つまりファイル領域でもいいので、適当にKHBIOSHB.SYSみたいなファイルを作って、そこにいれておいてもいい。そのへんは柔軟な仕様にしておいた)。 | + | --pcctolがディスクイメージを見つける方式なので、SDのフォーマットが何であってもかまわない。しかし断片化はダメ。なおpcctolが見つけられるように「はりぼてOS」のIPLにはKHBIOS-HBシグネチャという40バイトを書いておくことになる(IPLに入らないときは、ディスクイメージ内のどこか好きなところに書いておけるようになっている。つまりファイル領域でもいいので、適当にKHBIOSHB.SYSみたいなファイルを作って、そこにいれておいてもいい。そのへんは柔軟な仕様にしておいた)。 |
--今回の例ではもともとFD用だったOSをSDで起動したが、このKHBIOS-HBを前提にOSを作ることももちろんできて、それだと1440KBという制限はない。100MBでも1GBでもOK。その辺の詳しいやり方は後日まとめようと思う。 | --今回の例ではもともとFD用だったOSをSDで起動したが、このKHBIOS-HBを前提にOSを作ることももちろんできて、それだと1440KBという制限はない。100MBでも1GBでもOK。その辺の詳しいやり方は後日まとめようと思う。 | ||
* こめんと欄 | * こめんと欄 | ||
#comment | #comment |
(This host) = http://osask.net