31.Abit BH6 Rev1.0のPCIの癖    目 次

BH6は、PCI のINTからIRQへのルータをかなり節約しているらしい。AGPの一つ飛んだ横、PCI2へ100Mイーサをさしたところ、95にも、NTにも認識されない。95ではPnPで自動的にみつかるはずが、まったくみつからず、例の「新しいデバイスが見つかりました。。。」の窓が出て来ない。コントロールパネルからドライバを無理矢理組み込んでも黄色い!がつく。NTでは、ネットワークデバイスが見つからないというメッセージがでる。 PCI3へ入れた所IRQ4(comはBIOSで殺してある)へ何事もなく入った。とはいえ、このREALtekのNICは、95ではPnPでドライバを組み込んで再起動後、なぜか必ず、もう一度ドライバの組み込みと、ネットワーク用のコンポーネントを入れる為95のCD-ROMを要求し、同じ事をさせられる。他のperipheralでもそういう事が良くあるからこれは95の作りの問題かも知れない。




32.NTのファイル共有設定    目 次

NTのinstall直後のnetworkの共有は、c$のような管理用の隠しドライブ名しかないので、「ドライブ右クリック->共有→新しい共有」で共有名を作る必要がある。。

win95からこの共有ドライブを使う場合、起動時にネットワークへのログオン名とパスワードを聞いて来るので、このログオン名がNT側でユーザアカウントをもっていなければならない。Domainを張らないpeer-to-peerでも、これは必要である。

逆にいえば、NTでいくらログオンをパスワードで管理していても、リモートの95がTweakUIなどで自動ログオンになっていて共有ドライブが無制限になっていたらセキュリティ機構などなんにもならない。




33.ジャンクなISA SCSIカードの買い方    目 次

ISAバスのアドレス空間は24bit=16MBである。ISAバスのバスマスタDMA SCSIカードは、この空間しか面倒をみないので、16MB以上のDRAMを付けていると動かない事がある、そうである。200円のISA scsiを見つけてもAHA154xシリーズではなく、AHA152xのようなPIO方式にしておいた方が無難である。




34.家庭内LAN    目 次

1.今なら、千円前後で、100Mbps(メガビーピーエス)のイーサカードが買えるので、2枚買って来る。
 自分のOSで使えることを確認。大抵は箱に、Windows95,98,98SE,me,NT4.0,2000などが書いて有る。100MbpsでISAバスで、非PnPということは有り得ないので、ハードスペックは気にしなくて良いだろう。1000円以下のものは、多少業がいったりするので、1500円程度の物にした方が良い。コネクタは、電話のあるいはモデムのRJ11より一回り大きい、RJ45というものになっている。規格は、IEEE802.3u、100Base-TXと書いてあれば良いが、ほとんど何も気にしなくてもそうなっているはずである。

2.ケーブルは、カテゴリ5のUTPというものである。
これも気にせず、100Mイーサのケーブルといえば、買える。秋葉原なら10mで400円5mで、300円、でお釣りが来る。ただ、ストレートとクロスの2種があるので注意。3.で述べるハブを使う場合、ストレートケーブルを使い。2台のPCをハブを使わず直結する場合、クロスケーブルを使う。

ハブは2000/12現在まだ高く、5千円程度するが、クロスケーブルは高いし、サポート外らしくまれに動かないこともあるらしいので将来の事を考えたらハブを買った方が良い。

      クロスケーブル                ストレートケーブル
   PC------------------PC       PC------------ハブ------------PC

3.100Mイーサ用のハブを買う
スイッチング・ハブと書いて有る。5ポートと8ポートが普及帯であるが、8台もPCを持つひとはまれでしょう。5ポートで5千円程度。スイッチングハブは必然的に内部にデータを一時蓄積するバッファを持っているので、10Mbpsカードをつないで混用できる。スイッチングハブと書いていない100Mbps専用のハブもあるが、現在では中古しかないだろう。このハブはデータ垂れ流しなので、10Mbpsと混用はできない。

4.イーサカードをPCに付ける
カードというのは、ノートPC用のPCカードのことではないが、もちろんPCカードも使える。PCの電源ケーブルを抜く。現在のPCはスイッチを切っても少し電流がながれているので、これは必須。

デスクトップPCのケースを開けて、PCIスロットにカードをはめる。これが固くて、70kgの体重をかけてもピクともしない。最初は不安になるが、少し斜めにコネクタと反対側を少しだけこじ入れて、入ったら、もう一方をこじいれる。本には、そういう入れ方をしてはいけない。まっすぐ、ゆっくり入れると書いて有るが、まずそんな風には入らない。ただ、コネクタの付いている金具の端がケースにぶつかっている場合もあるので、コネクタだけでなく、金具にも注意。

最初は、PICスロットは、両端は使わないほうが良い。2、3番目あたりを使う。またPnPがうまく働かなかったら、迷わず、スロットを移動する。すべてのスロットが、全IRQをサポートしている訳ではなく、カードのほうもそうであるので、IRQが一致しないことがあるらしい。例えば、あるPCIスロットはIRQ3、4、5、12しかサポートしておらず、カードは、IRQ9,10,11しかサポートしていなければ、どうにもならない。

5.次は、ドライバの組み込みである
PCIバスのPnPであるから、PCの電源をいれれば、しばらくして、ウインドウが開いてドライバを入れろと言って来るので、同梱されているフロッピをいれる。ウインドウの「参照」ボタンから、自分のOSと同名のフォルダを選択して、開いたアイコンになるようにする。これがうまくいかず、何度も繰り返えさせられる事があるが、気にせず試すよりしかたない。WindowsのPnP回りのバグであろう。 ドライバがインストールできたら、「マイコンピュータ」を右クリックして、デバイスマネージャをだす。ネットワークアダプタの「+」をクリックすると、今、入れたイーサカーが出ていれば正常である。もし、赤のXや、黄色の?が付いていたら、そのイーサカードのアイコンを選択して削除し、デバイスマネージャを閉じて、スタートからPCの電源を切る。10秒待って、ハードディスクが完全に止まったら、PCの電源をいれて、再度ドライバを入れなおす----例によってPnPである。

6.イーサカードが動いたら、今度はネットワーク用のソフト群を入れる
コントロールパネル−>ネットワーク->追加ー>アダプタで、今入れたカードをインストール
追加−>プロトコル−>Microsoft->NetBEUI
追加−>プロトコル−>Microsoft->TCP/IP
追加->アプリケーション->Microsoftネットワーククライアント
追加->アプリケーション->Microsoftネットワーク共有サービス

これで、最低限必要な要素がインストールできた。
アダプタをダブルクリックして、バインドのタブを見て、NetBEUI、TCP/IPとバインドされていることを確認。同様に、NetBEUIをダブルクリックして、上記クライアント/共有サービスの2つのアプリとバインドされていることを確認。TCP/IPも同様にバインドされていることを確認。

ファイル共有、プリンタの共有ボタンを押し、チェックが入っていることを確認。

次にTCP/IPの設定は下図のようにしておく。
ipadr.jpg

IPアドレスは、192.168.0.〜192.168.0.254を使う。サブネットマスクは必ず、255.255.255.0にしておく。変わるのは、太い字の所だけである。
他のタブは、以下のようにする;
WINSの解決をしない。DNSを使わない。ゲートウェイ、NetBIOS、詳細タブには何も書き込まない。

tcp.jpg


これで、ネットワークの設定は終りである。

NetBEUI->ダイアルアップアダプタ

が勝手にできているので、削除する。でないと、インターネットで、ISPにアクセスする時時間がかかるようになるし、LANがISPから見えてしまうかもしれない。もっともNetbeuiを通すダイアルアップサーバ(Windows98のものはそれである)を置いているISPはいないだろう。

7.共有フォルダの設定
エクスプローラのドライブ(A:、C:、D:など)を右クリックすると、「共有」メニューが出来ているので、フルアクセスにチェックをいれれば、他のPCからread/writeできる。

家庭ではこれが一番便利であるが、ドライブ全体を共有したくない場合、この共有ははずして、共有したいフォルダを右クリックして、共有を設定する。

他のPCからはreadだけで、writeはしないという場合、パスワードで区別を選ぶ。




35.プロトコルの話し;ダウンロード;FTP vs.HTTP、TFTP、UDP、NFSなど    目 次

TFTP:Trivial File Transfer Protocolというプロトコルがある。どこがTrivialなのか分からないが、真性のFTPがTCPを使うのに対して、TFTPはUDPを使う。User Datagram Protocolで、名前が実体を丸で想起させないが、TCPと違ってデータの正当性を保証しない。

WANではデータが少し位壊れていても、落ちていても、より速い転送が必要な場合がある。ビデオのように、最低でも、1秒間に15フレームの転送が必要な場合、正しく相手に送られたかを確認している間に1ビットでも多く送りたい要求がある。将来600Mbpsのような長距離回線が安く使えるようになれば、UDPも不要になるかもしれないが、現在のインターネットなどでは必須である。映画の一コマ位時々落ちても人間は気がつかない。

ところで、TFTPでは、このUDPが使われているが、FTPは大体、プログラムや、1ビットでも間違っては困るようなデータを送るのに使われる。よくお世話になる、Vector もFTPでダウンロードしている。給与データベースの金額欄の先頭の1ビットが落ちたら、給与が半減してしまう。丁度切りがよいと、0円になる事だって有り得る。マイナスビットが立ったら大変である。そのような所にUDPを使うとしたら、これは不思議である。TFTPは、しかし、LANで用いる。イーサには、エラーチェック機能があるから、WANでなく、LANなら回線品質の良さと併せ考えて用いられるわけである。従って、PPPに多少のエラーチェック機能があっても、TFTPはWANでは用いないほうがいい。

昔、SLIP:Serial Line IPという、ダイアルアップに使うデータリンク層のプロトコルがあった。今でも、PC-Unixなどの本には出て来る。このをプロトコルは、現在主流のPPP:Point-to-Point Protocolと違ってエラーチェック機能が全然無い。TFTP-UDP-IP-SLIPー電話線で重要書類のファイル転送を行うと、全てエラーチェックしないプロトコルの組み合せになるので、これはなかなか勇気がいることである。

SUNのNFS:Network File SystemもUDPをつかっているのは、LANを想定しているからである。

ダウンロードで思い出したが、Vectorなどでは、FTPだけでなく、HTTPでのダウンロードも可能である。そもそもホームページが表示されるのは、xx.htmというファイルがダウンロードされて来て表示されるのだから、HTTPでダウンロードできても不思議はない。それどころか、ブラウザが(in-lineで、つまりブラウザ画面の中に)表示可能な物、htm、jpg、gifなどはダウンロード(というより、ファイル転送が一般的呼称)後、表示してくれるが、BMP、LZH、ZIPその他諸々のように表示できない物は、ダウンロードしますか、というメッセージが出てダウンロードされてしまう。

アドビアクロバットのpdfファイルは、ブラウザにこれを表示するプラグインがインストールされていれば、in-lineで表示されるが、そうでないと単にpdfファイルがダウンロードされる。ファイルが欲しいのに、表示されて困ることもある。そういう時には、そのファイルを示すアンカー(アイコンなり、「ここをクリック」なりで表示される)を右クリックして、ダウンロードを選べば良い。

HTTPによるファイル転送は、アクセスしている全員が同じポートを使うので、混んでくると、著しくスピードが落ちる。地球が何周しても、流星が山のように落ちてもページが全然表示されないのは良く経験することである。所が、FTPはユーザ毎に異なるポート(ソフト的「港」ですね。この名称はよく理解できる。横浜が混雑して入港できないなら、神戸へいけばいい)を使うので、このような事態から免れ得る。FTPはデータ転送の為のセッションと、制御のためのセッションの両方を張るので、最初のオバーヘッドは、HTTPより大きいが、一般にスピードは速い。ガラガラに空いているサイトから15KBのDOSソフトを落とすのなら、HTTPがお薦めであるが(HTTPがサポートされていたならであるが)、Vectorから5MBもある人気ソフトを落とすのはFTPがお薦めである。。



36.PC改造時のトラブルは、本質的でない場合が多々あるので、再試行で解決    目 次

事例
OSのインストール
HDDにインストール
余り物部品で1台のPC
拡張カードのインストール
ドライバのインストール

PCと言う物は機械である。機械というものは人間のような気まぐれはない。ましてPCは論理機械であるので、トラブルが起きたなら、それにはそれ相応の原因があるはずであり、再現性があるはずである。と、真っ当な技術者なら考えるのであるが、それがそうではない。本当をいうと、この事は他の機械にさえあてはまらない。どこか物理層の暗い所に人間の論理の及ばない物があり--その究極的な物が量子力学であるが--パルスの本の小さな熱的揺らぎなどで再現性の無いトラブルを起こす。

PCに至っては、そのような高尚なレベルではないが、しかし、恐らく論理ではない、ちょっとした物理パラメータの熱力学的揺らぎに起因するのではないかと思いたくなる訳の分からないトラブルが起きたり、あるいはそこに因を発して、本来完全な論理層であるソフトを非論理的にみせるバグを誘起する現象を惹起したりする。

従って、CDの読み出しミスは、CDに傷が付いて駄目になりかかっているわけではなく、IRQが幾つも空いているのに、PnPカードのIRQが衝突する原因は、カードが壊れているわけではなく、HDDが、BIOSで全然認識されないのはHDDの不良ではないという場合が結構あって、何度か電源を切ったり、BIOSのパラメータを変えたり、カードを差し替えたりしている内に結局、最初にトラブルをおこしたその同じ状況で正常に稼動してしまうことがある。この摩訶不思議な現象は、何台ものPCを改造したり、作ったりしている内に何でもない事と感じるようになってしまうが、はじめて拡張カードを差したり、HDDを増設したりした場合に起きるとショックである。

家電機器でそのような事が飽きる事はまずない。というより、家電機器では、全ての部品が完全に余裕をもって連携して稼動するように、1社で全ての設計とテストとが徹底的に繰り返された結果として製品が出来ているが、私のこのPCは、M/B、MPU、メモリー、電源、ケース、FAN、FDD、HDD1、HDD2、CDーRドライブ、DVDドライブ、マウス、キーボード、ケーブル、NIC、モデム、サウンドカード、VGAカード、SCSIカード、DDS、 一つとして同じメーカのものはない。幾ら、PC/AT規格で統一されているといっても、所詮そんなものは論理レベルの話しであり(実はそれさえ曖昧性があるらしい)、熱的あるいは量子力学的揺らぎまで規定しているわけではない。それで、動いているのだから、PC/ATに関わっているハードメーカの力には敬服せざるを得ない。ソフトにひげが出たり、揺らぎが起きたりするという現象は浅学非才、寡聞にして聞かないので、あまりこちらには感心しないが。。。

従って、拡張カードの一つでも付けてみて、想像を絶し、理解に苦しむ現象に出会っても、カードが壊れているのだと即断せず、いろいろ試してみることが必要である。勿論、闇雲な試行ではなく、論理的に正しい試行でなければならないことは言うまでもない。

以下は、経験談である。


OSのインストール

WindowsNT4.0をインストールしていた時、3枚のFDを読み終わり、いよいよCDからOS本体のファイルをHDDにコピーする段になって、いきなり、最初のファイルが読めないので、中断するか、無視して続行するかどうする?無視して続行した場合、OSの動作は保証しないという意味のメッセージが出た。CDが読めなくて、まず頭に浮かぶのはCDの傷である。豆腐を水から上げる時のように大切に扱っていた筈だがと不審に思いながら、いきなり中断するより、まずは続行して原因の可能性を狭めようと思い「無視して続行」とした。

コピーの進捗度を示すゲージが出てきて30%位の所で、再び、読めないファイルがあると言って停止。無視して続行。35%で停止。。。。と続き、一度、CDを取り出して再度挿入しても状況はかわらず、さすがにこれ以上続けても仕方ないので断念した。しかし、豆腐を扱う以上に大切に扱っていたCDが、たまたま、1個所、埃か、目にみえないような傷が付いたのなら納得がいくが、殆ど全面に渡って引っ掻き傷が付いているような現象が起きるのは納得できない。こんな時は、考えても仕方ないので、PCの電源を一度切って、再度最初からインストール開始。FD3枚読み込む。今度は、CDを何の問題も無く読み込み、インストールはあっというまに終わってしまった。

こんな現象はいくら考えても無駄である。犯人は、インストーラのような論理部分ではあるまい。CDにも結局傷なんてなかったのである。まさか、CDドライバのエラー訂正部分だけがバグっていたとも考え難い。結局、あまり安定性の無い16bitドライバと、それで駆動されるコントローラの電気的不安定さが、不安定さを内包した起動を起こし、それがCDを読めたり読めなかったりさせた原因だったと思うしかしかたがない。


HDDの増設

昔は、ConnerとWesternDigitalのHDDに載っているIDEコントローラ回路は互換性に欠け、これらをmaster/slaveで混ぜて使うと、動かないという文字通り相性の問題があったらしいが、最近は完全に統一されたので、そんな話しは聞いたことがない。ところが、UDMA/33,66,100辺りの高速インタフェイスになった辺りからまた怪しげな風が吹き始めたような気がする。

久し振りに、丸2年ぶりに主機のHDDを増設した。現在、6.4GBと、10.1GBがついているが、どうにも手狭になったので増設というか、6.4GBを変えたいと思っていた。20GBのプラッタを使った80GB物が現在(2000.12)最高の容量であるが、これなら、来年春までまてば100GBが出てきそうなのでそれまで待とうと思っていたところ、61.2GBが21499円でxmapで売られていた。秋葉のほぼ全店を1日かかりで回った結果、これを見つけてしまったので、「待つ」という理性が効かず、買ってしまった。来春には、同じ価格で100GBが出回り、6.4GB、10.1GBを買った時のようにきっと後悔するのが見えているのに。。。

Abit BH−6 Rev.1.0に40GB以上のHDDを付けようとした場合、'99/11以降のBIOSに変えなければならない。しかし、なぜか、台湾のAbitのHPは閉じられていて、ミラーサイトも駄目である。日本の代理店のサイトは、そんな古いM/B(といっても、98年なのだが)はサポートしていないらしく、置いてない。

これもPCの鉄則であるが、「将来必要だと思った物は、今、落として置け」というのがある。Webのサイトほどあてにならないものはない。幸い、HDDが手狭だなと思い始めた時--まだ7月頃だったと思うが--Abitは健在で台湾のサイトも生きていたから、その時落としてあったBIOSがある。しかし、Abitには何がおきているのだろう?ともかくも、無事書き換えてMaxtor61.2GBをIBM6.4GBのスレーブにして、6.4GB内のWin95から起動。

予想通り、Maxtorは、BIOSで全然認識されない。他の3台のIDE機器は認識されている。MaxtorのBIOSのIDE設定は、Autoになっている。BIOSが正常に稼動しているなら、Autoで良いが、それは保証されない。Autoの結果、BIOSが何をやっているのかは闇の中である。大体、認識していない事自体、BIOSの稼動も狂っていると考えた方が自然である。正常なら認識するはずなのだから。で、手動で、LBAにする。

再起動、今度は、なんと、Secondary Slaveが異常であるというメッセージが出る。SecondaryはCD−ROM系の機器がついている。少なくとも、さっき(この数行上)までは正常に起動していた。可能性としては、数分前にCD−ROMが壊れたという事もあるが、蓋然性はBIOSが異常動作しているとする方が圧倒的に高い。狂っているBISOが、「Secondary Slaveが異常である」と言った言葉を真に受けなければならない謂れはない。 それよりも、何よりも、問題は、新しいHDDがついているPrimaryであって、Secondaryなど何の関係もないのである。これはBIOSが狂っているとしか思えない。

HDDを、同じチャネルのMaster/Slaveに付けると、全体のコントローラは、Masterが行う。こんな時は、6.4GBを切り離して(このIBM DHEAも変な振る舞いをしてくれた経験がある)、新しいHDD1台で起動させてみるのは原因特定の第一歩である。所が、Maxtor1台にしても同じである。

そのまま、2、3度再起動を続けると、いきなり全て正常に認識した。BIOSを見ると、3台(Maxtor,2xCD)のIDE機器は全て正常に認識されている。これだけでも不可解だが、もう一度、MaxtorをSlaveにし、IBMをMasterにしてみた。2度目のautoを手動でLBAにした時と同じ条件である。これが今度は正常に動いてしまうのである。こんなものの原因をいかに探しても、見つかるわけが無い。

HDD増設でトラブルを起こした時は、

BIOS関係
 ・その容量をBIOSがサポートしているか確認
 ・HDDのアクセス方式が、LBAになっているか確認

ジャンパ関係
 ・問題のHDDの他にMaster/Slaveで他のHDDが付いていたら
  Master/Slaveジャンパ゚を確認。
 ・問題のHDDを1台でMasterにしてテスト
  中には1台だけの時は、Masterではなく、Singleというのもある(最近はしらない)

ケーブル関係;  ・UltraDMA66以上ではケーブルが80芯の物か確認。

 その他、CableSelectという意味不明の命名であるジャンパ位置があるが、これは、ケーブルがMasterかSlaveかを自動選択するという意味らしい。
 FDのケーブルはA:とB:用に2つのコネクタがついているが、このコネクタの間に捩じれがある。これが、A:、B:を自動で選択してくれて、HDDのようにジャンパを人間がセットする必要がない仕掛けである。HDDにもそのようなケーブルがあって、それを用いたときには、ジャンパ位置は、ケーブルセレクトにするのである。


余り物部品で1台のPC

色々な部品がPC1台分位になったので、まさに寄せ集めの部品で、1台組み立てた。それまで全て動いていた部品である。当然起動するものと思った。起動FDを入れて電源on。FDが変な動きをしてBIOSまでしか起動できない。コネクタの接触などを確認するが、駄目。別のマシンの動いているFDを付ける。動かない。このFDはずして、こっちのPCに付ける間に壊れた可能性はあるが、先のFDでも動かなかったのだからFDよりPCが怪しい。しかし、FDのBIOS設定なんてする事がない。一つ気になる事は、FDのケーブルが動いていたものとは言え、如何にも古げであること。これを新品に取り替える。BIOSで止まる。

こんな時は、本当に困る。M/Bが壊れたと考える他ない。別に急ぐPCでもない、余り物PCだから、1週間位ほっておいた。ふと、思い付いて、BIOSをデフォールト設定に戻してみた。なんと、正常に起動するではないか。大体、こんな余り物のメーカ製PCなどBIOS設定項目などびっくりする位少なくて、触ることもない。精々、使わないcomポートをdisableにする位の物で、BIOSの設定を間違えたわけではない。というより、稼動していたころから触っていない。デフォールトにした後も、項目の内容が変わったわけでもない。のに、正常に稼動し始めた原因は全く分からない。


拡張カードのインストール

PCIカードになってPnPが完全に働き、拡張カードのインストールも楽になると思ったのだがなかなかそうは行かない。PCIバス自体いろいろ事情があって、IRQの共有辺りが原因の理解不能に近い現象が起きる。PnPにも拘らず、そしてIRQが空いているにも拘らず、わざわざ使われているIRQに入り、IRQが衝突したりする。デバイスドライバでこの衝突しているIRQを変えようとしても、このリソースは変えられないといわれ、前門の虎、後門の狼状態になって頭を抱え込むことになる。PCIの外部割り込みであるINTは、IRQとは直接関わりがなく、これを電子的切り替えスイッチでIRQに結合させているのであるが、INTは4本しか物理的なラインは用意されていないため、5本以上のPCIスロットがある場合、一つのINTに複数のスロットが割り当てられるため(あるいは割り当てられない)、片方のIRQを変えようとしても相手の都合もあって勝手に変えられない場合がある。

しかし、4本のISAと、2本のPCIのM/Bで、IRQが空いているのにPCIにどうしてもまともに入らないことがあった。空いてるIRQを残したまま、衝突するのである。カードが使えるIRQというのもあって、0ー15の全てが使えるようにカード側の設定がなっているわけではないので、その衝突しているIRQのもう一方のカードのIRQ設定を変えてやると、くだんのカードは、なんと、今度は別のところへ入って衝突する。こんな喧嘩好きなカードがあったりする。こんなのも幾ら論理で解決しようとしても、元の作りが3流技術者の設計だったりするので、無駄になる。

決定的解決法はないが、ISA、PCIスロットの場所を色々取り替えて、かつ順番も変えて1日がかりで順列組み合わせの問題を解くような試行錯誤を繰り返すと収まる場合もある。収まったら、すかさず、レジストリを保存しておく必要がある(しかし、BIOSのESCDとの関わりはどうなるのだろう。レジストリだけで良いのだろうか?→OSは必ずしも、BIOSとの連絡簿であるESCD:ExtendedSystemConfigurationData?に忠実ではない。確実に無視する為には、BIOSの「PnP OS」の項をdisableにしておけば良い。BIOSはこれで、OSと連絡しなくなる。この項目が無ければ、そもそもOSとBIOSは協調しないので、レジストリが有効である)。半日以上も試行錯誤して収めた場合、どのカードをどの順に差したかなど覚えていないからである。2度と、同じことをできない可能性もあって、再び、1日悪戦苦闘する元気はなくなるものである。


ドライバのインストール

ドライバのインストールはPnPになってますます昏迷の度合いを深めている。10Mイーサから100Mイーサに変えた。Win95 OSR2である。物理的に装着して、電源on。起動途中、PnPでカードを見つけて、ドライバを要求してくる。添付のドライバFDを入れて、フォルダを指定。インストール完了して、再起動を要求してくる。

ここで普通の人間なら、再起動したらそのままWinが立ち上がり、カードは正常に稼動していると思う。人間を技術者に置き換えても同じである。技術者は、より詳細を知っているので、否、そうは行かないと言う事もある、と言う事は無い。論理的に考えれば、再起動で正常に動くはずであり、まともな技術者ならそのように設計するだろう

ところがこの期待はPnPにおいては非常に高い確率で裏切られる。なぜか、再度、新しい機器を見つけたのでドライバを入れよというメッセージが出て同じ事をさせられるのである。なぜか、2度やればそれで収まる事が多い。一度目は、FDからHDDへのコピー、2度目は組み込みということをしているような、していないようなとにかく良く分からないPnPである。




37.HDDの容量限界について    目 次

表1
504MB(528MB)(IDE∩BIOS)の限界
2GB(2.1GB)FAT16の限界(HDDでは無くパーテションの
限界である)
64Kx32KB=2GB
7.875GB(8.4GB)BIOSの設計限界;24bitアドレスオリジナルPC/AT-BIOSの上限
32GB?BIOSの設計限界;26bitアドレスPC/AT-BIOSを2bitだけ拡張したもの
127.5GB(136.9GB)IDEの規格限界
 K=1024 システム後続の()内は、k=1000の場合。
 ?: 実際には、これより少し小さな容量になる。
 
 セクタに関しては、有効なセクタは0ではなく、1から始まるので、nビットの場合、セクタ数は、2n-1
になるからである。0セクタは何か管理用に使っているのだろう。以下同様。

表2
IDE
BIOS
Cylinder16bit(64K)10bit(1K)
Head4bit(16)8bit(256)
Sector8bit(256)-16bit(64)-1
容量127.5GB(136.9GB)7.875GB(8.4GB)

K=1024、512byte/sector
127.5GB= 136902082560byte、 7.875GB= 8455716864byte


表3; IDEとBIOSのどちらをも満足させる値を取る=小さい方の値を取ると
IDE&BIOS
Cylinder10bit(1K)
Head4bit(16)
Sector6bit(64)-1
容量504MB(528MB)

1024x16x63x512= 528482304byte=504MB

表4; アドレスbit数と容量の関係(セクタ0を含む単純計算である)
Bit数容量
20512MB
222GB
248GB
2632GB
28128GB
30512GB
322TB


1.BIOSの上限
 表2の様にPC/ATのBIOSのアドレスbit総数は24bitであり、;
 単純計算では;  512byte x 224=8GB=8589934592byte
 0セクタを除外すると; 512bytex1024x256x63=7.875GB=8455716864byte
以下、文中ではこの計算は省略、単純計算で示す。正確な値は表を参照。
となる。
最近のように数十GBのHDDが普通になって来て、8GBの壁が問題になるのは、このBIOSのアドレスbit不足の為である。幸い、BIOSはソフトであり、この程度の問題には即刻対処できるので、BIOSメーカ各社は直ちに対応して、M/Bメーカからupdateが出ている。これをダウンロードしてBIOSアップデートをすれば8GBの壁は簡単に解決できる。ただ、なぜか、BIOSメーカは、一気にIDEの限界の128GB=28bitアドレッシングまで対処せず、ちまちまとしたbit数のアップを行ったので、32BGに壁のあるM/Bが出来てしまっている。BIOSメーカより、HDDメーカの方が遥かに革新的なようである。

M/Bが古く、といってもたかだか4、5年前の物でBIOSupdateが停止されているM/Bでは、この方法は使えない。8GB超HDD用のツールが、こちらはHDD各社から出ているので、それを用いる。

2.IDE規格の上限
 表2の様にアドレスbit総数は28bitであり、このアドレスは、結局の所、HDDの最小読み出し単位であるセクタを指定するものであり、セクタの大きさは、512byteであるから;
  512byte x 228=128GB=137438953472byte
となる。

128GBはもう完全に視界内である。2001年には達成されてしまいそうな勢いである。これは、IDEというハード規格の問題であるからBIOSの書き換えのような簡単な問題ではないと思う。IDEのIntegrated Device Electronicsが示すようにインタフェイスの殆どが、HDD側にあり、M/B側には大した機構がないなら、特にアドレスに関しては、HDD側だけの問題であるなら、古いM/Bでも(BIOSは別として)何もしなくても128GB超のHDDが使えるかもしれないが、本当の所どうなのだろう。ただ、UltraATA/66のコントローラがPCIカードで数千円という低価格で出ているように、M/B上のコントラー等ではなく、PCIカードとして解決がつく可能性(台湾の3rd partyが作ってくれれば)はあるので余り心配はいらないかもしれない。

32bitになれば2TBになるので暫くはこれで大丈夫だろう。

3.FAT16の限界
FAT16の限界は、OSの(ファイルシステムの)限界である。OSを変えれば問題ない。FAT16は、16bitのアドレス機構である。アドレスされる一単位は、ファイルシステムの場合、クラスタ(塊)と呼ばれる。これはHDDの数セクタを一纏まりにして扱う仕組みである。512byteずつちまちまと処理していては効率が良くないので、クラスタとして纏めて扱うわけである。

FAT16の場合、クラスタの最大値は32KB(WinNTでは64KB)なので、
 32KB x 216=2GB
となる。

但し、FATの限界は、IDE、BIOSの様に物理的なHDDの限界ではない事に注意を要する。この限界はFileSystemの限界であり、FileSystemは、物理的なHDDを生で扱うものではない。この限界はパーテション容量の限界なのである。2GBのパーテションしか作れないということである。従って、BIOSさえ許せば、60GBのHDDを2GBのパーテションに区切って使うことは出来る。しかし、Windowsの世界ではHDDのパーテション=ドライブはドライブレターを与えられる、A:とB:はFDDに予約されているから、c:〜z:の24個しかパーテションは作れない。2GBx24=48GBがFAT16で扱える最大容量である。 大容量HDDは、OSR2.0以上のWindows9x/MeでサポートされたFAT32を使う方が良い。この場合、2TBまで扱うことが出来る。

ピュアNT4.0は、8GBが限界であるが、SP4以上をあてれば大容量が扱える。しかし、SP4を掛けるには、既に大容量HDDにNTがインストールされている必要があるので、あまり奇麗な解決ではない。FAT16で2GB(あるいは4GB)のパーテションを作り、ここにNTをインストールして起動。SP4をあて、再起動。ディスクアドミニストレータで残りの部分を大容量の例えば40GBのパーテションにすることはできる。

しかし、インストールの途中で、2GBのFAT16と、未使用の部分のどちらにインストールするかと聞いてくるので、試しに未使用部分と指定すると、パーテションはつくるのであるが、フォーマットする段階で失敗して、未知の区画という状態になりインストールできなかった。まあ、当然であるが。ならば、なぜ事前にチェックするようにコーディングしないのだろう。素人の設計である。

FAT16では、16bitのアドレス空間がある。この事から、パーテションのサイズと、クラスタのサイズの関係は次の様になる;

アドレス空間クラスタサイズパーテションサイズ
16 x 8KB=512MB
16x 16KB=1GB
16x 32KB=2GB


従って、例えば、1.1GBのパーテションを切ると、16KBのクラスタサイズの扱う容量を超える。この場合、32KBのクラスタサイズとなる。勿論、アドレスは余る。もし、このパーテションが精々500文字=1KBのメールばかりで埋め尽くされているなら、1KBのメールの為に1パーテション=32KBが使われるので、極端な場合、1/32しか使っていないのに、ドライブが一杯ですというメッセージが出ることになる。パーテションの切り方には工夫が必要である。

なお、パーテションは、cylinder単位で作られるので、指定した値丁度のパーテションが作られるとは限らない。

ところで、HDDのメトリクスには、cylinder、track、sector、headがある。

HDDの記録媒体はレコードあるいはCDのような円盤である。レコードでは外側から内側に向かって渦巻き形の溝がある(音楽CDでは内側から外側に向かって。形態的には同じであるが、headの進む方向はこの方向である)。HDDではこれが、同心円になる。従ってデータを読み出すheadは、溝に沿って連続的に動くのではなく同心円上をワープするのである。この同心円をトラックという。運動場のトラックと同じである。

ところで、HDDでは多くの場合、1枚の円盤には表裏の2トラックが使える。1トラックだけならトラックという呼称だけで良いが、2つのトラックがある場合、これを纏めて呼ぶ古称が欲しい。複数の同じ位置のtrackを上の円盤から下の円盤までまとめてみると、仮想的に円筒形になる。このため、円盤の中心から同じ距離にあるトラックの集合をシリンダと纏めて呼ぶ。円盤の片面には1個のheadがある。headはシリンダを構成するトラックの数でもある。

トラックの中には、bitが点列として並んでいるが、トラック1周の中に、だらだらと並んでいる訳ではない。トラックはさらに円周方向に区切られていて、この一区切りをセクターと呼び、512byteが格納される。

ついでながら、磁気テープでも大型計算機(といっても昨今では小さなものであるが)の大きな装置の物は、テープが音楽カセットテープの様に、だらだらと同じ速度で送られているのではなく、カクッ、カクッというように動いている。これはやはりセクターのようにレコードという単位で書き込まれているからである。レコードとレコードの間には、慣性の為、Inter Record Gapというデータの入っていない隙間ができる。DDSのようなテープはこのような書き方をせず、音楽テープのようにだらだらと書かれるので、streamer(流れる物)と呼ばれる。





38.BIOSが対応していない大容量HDDを付ける法    目 次

ソケット5や7辺りのM/Bとか、スロット1あたりでも結構8.4GB超のHDDをサポートしていない事がある。スロット1だと、まだBIOSアップデートサポートをしているから、もっとも正統的な方法はBIOSが大容量HDDをサポートしたら更新することである。しかし、BIOS更新は致命的な場合に至り、そのM/Bを廃棄する場合があることを覚悟する必要がある。

BIOS書き換えの危険を犯したくない場合、あるいはBIOS更新が停止していて、もう他にすべが無い場合、各HDDメーカのHPに置いて有る(OnTrackのOEMの)DiskManager(DM)を使う事になる。DMは、HDDメーカによって名前が異なり、互換性がないらしい。(このDiskManagerは2003年春以降、既に各HDDメーカは供給していない。OnTrackから購入する以外に方法はない)

以下に、IBM PC/750 6883 ≒ Aptiva770での経験を記す;
先回りして結論を言えば、DiskDo!で上手く行かない場合、すぐに諦めて、DMを使ったほうが遥かに安全で、分かりやすい

尚、DiskGo!、DMのメッセージは、全て、英語である。

原 理

何事も原理が分かっていたほうが、作りの悪いメッセージに出会っても当惑せずに済むし、システムを壊さなくても済む。そんなものは、DiskGo!や、DMには書いてないので、良く分からずに使った結果、システム総入れ替えの羽目に陥ってしまった。
以下は、現象からみた推測である。

なお、DiskGo!はDMのGUI版であり、Windowsから使う。
DMは、DOSのような感じの自身のOSでFDから起動する。GUIもどきなので、DiskGo!はDMに一枚皮を被せたもので、その分、動作は分かり難い。

1.DMは、BIOSを書き換える!

フラッシュROM上のBIOSではなく、実行時に
 主記憶に読み込まれシャドウBIOSとしてキャッシュ(といっても主記憶)上に常駐している時点で、書き換えるのである。
 従って、BIOSアップデートと同じ効果である。

2.DMは、MBRを書き換える

ブートセレクタとこの点は同様。
これは、1.を行う為の副次的要素である。
しかし、運用の観点からはこちらの方が遥かに重要である
結果として、DMの導入とは、このMBR(と多分、それ以降の数セクタ、あるいは、市販のブートセレクタのように小さなパーテションを作って、そこに入っているかもしれない)を書き換えるだけのことである

DMをHDDに導入したら、
絶対にMBRを書き換えるソフトを実行してはならない
また、
FDから直接PCを起動してはならない。
BIOS設定で、起動順をC:→A:にすべし。


3.PCが起動すると、BIOSが主記憶に読み込まれ実行される。BIOSは、MBRを読み、そこに制御を移す。
DMが書き換えたMBRは、起動時点のモニター画面にIBMの場合、青いバナーを出して3秒位停止する

これは、本来、Windows9xなら、青空にWindowsの旗がはためく一歩手前の時点である。ここで停止するのは、FDからのブートに対応するためである。例えば、Win9xのインストーラは、FDから起動するので、主記憶のシャドウBIOSを書き換える契機がない。従って、この場合、最初からFDで起動するのではなく、一度、DMのMBRを起動した後、ここで停止し、FDを挿入する切っ掛けを作るわけである

DMのMBRはこの時点までに、第2セクタ以降(あるいは専用パーテション)に書き込まれているDMの本体部分を主記憶上のシャドウBIOSにパッチし、BIOSへのInt13コールを横取りして、大容量HDDのサポートをするのである。

この操作をしている最中のDMの行うHDDアクセス--第2セクタを読むなど--は、未だ生のInt13であるため、大容量をサポートできていない。従って、CHSでアクセスしているらしい。BIOSの設定で、EIDE、LBAなどが設定されていると、まともに認識できていないHDDにLBAする無理があって、アクセスに失敗する、らしい(実のところそれもおかしいのであるが。。。)。この事は重要であるので何が起こるか後述 する。

たった、これだけの事である。従って、旧HDDをマスターにしたまま、windows上で複雑な操作を強いるDiskGo!よりも、旧HDDは外し、新HDDをマスターにつけて、ブートセレクタを入れる程度の軽い緊張でできるDMを使ったほうが良い。旧HDDをつけたままでは壊すおそれがある。

ただ、DMをインストールする過程で、fdisk、formatなどをさせるので、操作が煩雑になり、何が重要であるのかが分かり難くなる。最低限最初のOSを入れるパーテションと、フォーマットだけを済ませたら、さっさとDMは済ませてしまったほうが安全であるし、トラブルが起きた時に切分けができる。MBRの書き換えさえ済めば、普通のHDDと操作は同じである。一つだけ気を付けるべき事は、繰り返すが、BIOSのPOSTの後、青いバナーで一旦停止してから、インストーラの入ったFDなどを挿入、起動することだけである

FDからのOSのインストールの為、この他に、DMはもう一つ、FDブートの方法をサポートしている。通常のブートFDにDMを入れてしまう(そうは言ってくれないので最初は訳が分からずやっていたのであるが)方法があり、DMのインストール時に、「起動後、青いバナーがでたら、数秒間一旦停止するので、そこでスペースを打って、一時停止状態にしFDを挿入するか、または、直接ブートできるFDを作るか、どちらでも良い」という意味のメッセージをだす。しかし、これは、やってみたが煩雑になるだけで、使う必要はまったくない
Win95のinstallerは、MBRを書き換えようとするが、DMはそのシステムコールを無視して、書き換えないようである。

大体以上が原理とそれに付随する事項である。

手 順


写真入りの具体的手順はこちら


IBMの場合、DiskGo!というGUI版DiskManagerが
http://www.storage.ibm.com/techsup/hddtech/welcome.htm
dm.jpg


dc25029.exeという名前で置いてある。(この絵は上記HPより)
4割位、下にスクロールした所にある。
これをダウンロードして解凍。

1.新しい、HDDは、DiskGo!が指示するまでつけてはならない
2.Windows9x/NTで、上記解凍したソフトのsetupを実行
 そうすると、DiskGo!のインストールパスを聞いて来るので
 デフォールトのまま、Yes。
 インストールが始まりWindows\systemなどへもファイルが入る。
3.セットアップしたプログラムを実行する。

最初にやることは、現在のPrimary/MasterのHDDのMBRを書き換える ことらしい。これは結構、恐いことである。動いているOSを壊してしまうかもしれない。

これによって、恐らく、HDD R/Wを行うBIOSのInt13コールを大容量に対応した物に取り替えているのだろう(推測されるメカニズム )。 この時、インストールするOSを聞かれるが95と、NTのデュアルブートにしようとした場合、なぜこんな事を聞かれるのかメカニズムが分かっていないと、迷ってしまう。どうも95を指定すれば良いらしい。というのは、95のインストーラは、良くしられているようにMBRを書き換える。Fdisk /MBRとするのと同じことをする。これはDMにとって重大なことである。上記メカニズムのようにDMは、MBRを書き換えているのである(らしい)から、これを再び元に戻されては困るのである。DMは恐らくインストーラにこれを書き換えさせない

4.このMBR書き換えは、現在のHDDに対して行われる。新HDDはまだ付いていない。

5.この辺りで、一度PCの電源をOFFにして、新HDDをスレーブで付けよといってくる。

6.付けて起動、 この辺りが記憶が曖昧だが、たしか、

 A)新HDDをそのままスレーブで使うか?
 B)旧HDDは取り外し、新HDDをマスター(C:ドライブ)にするか
 その場合、
  C)現状のマスターのHDDを、新HDDにコピーして同じ環境にしたいか、
  D)あるいは、コピーせず、新たにOSをインストールするか、
というような選択を聞いて来る。

A)の場合は極めて簡単で、メカニズムを理解すれば分かるように、MBRだけが問題なのだから、スレーブにはDMは何も特殊なことはしない。多分、これでスレーブのパーテショニングとフォーマッティングをやって終りだろう。多分というのは実験していないからである。

C)を選択した所、パーテッション作成の画面になり、OKボタンを押すと、なにもせずに終わってしまった。「新HDDはサポートされていないから、サポートしなさい」としか理解できない無意味メッセージをだしただけである。

英語Windowsでないと機能しないかもしれないというBBSを読んだ事があるが、そうでもなさそうな気がする。

この時点で何がどうなっているのかはまったく分からなかった。DiskGo!を再setupあるいは、再実行してもだめである。そういえばwindows\systemにも何かファイルを入れていた。そんなこんなで、バックアップしてあったc:¥をvfxcopyを使って、書き戻したり、いろいろやっている内にありそうな事であるが、遂にC:¥を壊してしまった。 その時、うっかり、DiskGo!のFDをいれたまま起動したところ、なんと、スのDiskManagerが起動した。DiskGo!を作ったFDはブータブルであって、しかもDMが動くのである!WindowsからMBRをさわったり、パーテッションをきったりなどというのは、ツナ渡りしながらルービックキューブをするような曲芸まがいなもので危険極まりない。DMはDOSのような簡単なOSで動いているだろうから安心である。英語ではあるが、分かり易いGUIと変わらない。

何のトラブルも起きずにDMの作業を終えることができた。fdisk /mbrと変わらない、あるいは精々、ブートセレクタを入れるだけの事だから当たり前である。

メカニズムをもう少し

PC電源ON->BIOS起動->BIOSは主記憶に常駐->MBR起動->
この書き換えられたMBRは、シャドウBIOSにパッチを充て、Int13コールを横取りし、 自分の大容量対応HDDドライバで稼動する。

 したがって、この手続きが済むまでは、大容量HDDは使えない。

従来の起動FDから起動すると、HDDのMBRにアクセスしないで起動するので、 シャドウBIOSの書き換えが行われず、HDDが小さく認識されたり、見えなくなったりする。

このため、FD起動の場合は、FDをドライブに入れずに起動する。MBRからBIOSが書き換えられた時点で、DiskManagerはIBMの場合、青いバナーを出し、3秒程停止するので、すかさず、スペースを押すといったん停止状態になる。FDをいれて、もう一度スペースをおせば、大容量対応BIOSでFDから起動する。

InstallerにMBRを書き換えさせないメカニズムを推測してみる;

Installerは、MBRを書き換えようとして、Int13コールを発行する。
既に、DMによってInt13を置き換えられているシャドウBIOSはこの命令を無視し、実行したような振りをして終了する。これだけである。

しかし、これができるためには、DMが作ったMBRがシャドウBIOSに読まれて、このMBRがシャドウBIOSを書き換えていなければならない。つまり、HDDから起動していなければならない。ところが、OSのinstallerは普通FDから起動する(ElTritoのCDは除く)。これでは、HDD上のMBRは読まれないので、BIOSにパッチが当てられない。MBRはInstallerによって書き換えられてしまい、折角DMで作ったMBRも無くなってしまう。

DMの機能は、ブートセレクタの動きと良く似ている。BIOSは、フラッシュROMの中にあるので書き換えられないが、実動する時は主記憶に読み込まれるし、幸いにして常駐するように設定できるので、それを書き換えるという方法を取っているのである(のだろう)。この方法を使えば、フラッシュROMを書き換えるという危険無しにBIOS書き換えが行えるというメリットがある一方、うっかりMBRを書き換えるソフトを起動すると大変なことになる。 fdisk /MBR のように、 DM /MBRと、簡単にDMが使えればいいのであるが。。。理論的には簡単なので、できそうな気がする。

さて、こうしてWindows9xが入ったHDDにNT/2000を入れるのは簡単なことである。

 1)PCをHDDから起動する。
 2)DMで止まったら、NTのインストーラFDを入れる。
   これで、このFDからも大容量HDDが見えるようになる。
 3)通常のインストールを進める。

NTは、MBRを書き換えない。ブートセレクタは、PBRに入るので、安心である。

その他


なお、DMの方法は、BIOSから、HDDが全く認識されない場合、使えそうにない。10GBのHDDが、2GBにしか見えないという場合は、小さくみえているだけだから、その先頭シリンダは見えているわけで、MBRの書き換えはでき、うまく機能する。しかし、全くみえず、BIOSにとって「存在しない」のでは、これはできない。

Aptiva770にDHEAの6.4GBを付けたとき、このようになった経験がある。DMから見ても、DTTA10.1GBのようにはスムーズに行かなかったので、起動HDDとしては使わなかった。スレーブにして使っている。ただ、試していないが、これは以下の理由かもしれない。

DiskGo!から、サポートされていないHDDなのでサポートして欲しいという無意味、あるいはtautology的なメッセージが出て、意味が分からなかった。GUIの頂けないところは、余程優れた技術者が作らないと、「小さな親切余計なお世話」的な機能ばかりになり、何がなんだか判断が付かなくなることである。

ひょんな事から、DiskGo!の入ったFDは、そのままブータブルで、DiskGo!でなく、生のDMが動いていることが分かったので、訳のわからないGUIはさっさと止めて、DMから起動した。これは良くできているインタフェースで、DiskGo!など全く必要がない。

最大の利点は、今、動いている大切なHDDはPCから切り離して、新HDDをいきなりマスタにして、設定できることである。DMのしていることは既に記したように極めて簡単なことである。あっというまに設定が終わり、DiskGo!のあの苦労はなんだったのかという思いである。

で、設定後の最初の起動。BIOSのPOSTが終わり、MBRを読みに入ったところで、

   1999.3.1

というメッセージを真っ黒な画面に出してフリーズ。この日付のようなメッセージが何を意味するかは分からないが、どの段階でフリーズしているかは明確に分かる。サポートされていないからサポートしろという間抜けたメッセージとはそこに雲泥の違いがある。とにかくBIOSは抜けているのである。

そこで、BIOSのHDDの項をみてみると、「拡張IDEを有効にする」というチェックボックスがある。試しに、これをはずしてみたら、あっけなく起動した。なぜ、E−IDEを切って、単なるIDEにしないといけないのかは不明である。ひょっとしたら、EIDEの主機能であるLBAをはずして、CHSアクセス法にしないとDM自身は機能しないのかもしれない。

PC起動→EIDEサポートのBIOSが主記憶にロードされ起動→このBIOSが、DMに書き換えられたMBR第1セクタ読み出す→このMBRが、第2セクタ以降にあると思われるint13のパッチを読み出さなければならないが、

これはまだ元のInt13で読むことになる。まだこの時点では、DMのパッチは充たっていないのだから。

大容量HDDは、まだこの元のままのBIOSでは扱えていないので、当然、LBA←→CHS変換もまともには扱えないだろう。そこで、1999.3.1メッセージになるのではないだろうか。CHSという変換の要らない、生の形でHDDの先頭1シリンダだけでも読めれば、第2セクタ以降のDM要素が読め、それが主記憶上のBIOSにパッチを充て、以後、正常な形でLBAでHDDにアクセスできるのではないか?

というもっともらしい推測がDMの場合の事態からは、できるのであるが、DiskGo!のメッセージと状態からはまるで推測できる手がかりがない。

DMを導入したHDDに関する注意

1.絶対にMBRを書き換えてはならない;Win95の再インストール、Linuxのインストールには注意。

2.これに関連して、絶対にFDから起動してはならない;一度、HDDから起動し、DMで止めて、それからFDを挿入、FDから起動の手順を踏む。 BIOS設定で、起動手順を、C:→A:の順にしておけば安全。C:が付いているときはA:から起動できないし、C:が付いていなければ、そもそもMBRを書き換えられることができない。

3.Win9xのインストールは、2.の方法でok。恐らくDMがWin9xにMBRを書き換えさせない。

Linux単体のインストールは、LILOをPBRに入れれば良い。あるいは、DMは単純にMBRへのアクセスを禁止しているだけかもしれない。この場合、どっちにしろMBRには入らない。

4.FDから起動して、fdisk /mbrを行ってはならない。一度、HDDから起動し、DMが機能していれば、恐らく、fdisk /mbrは無視されるのではないか?恐いのでやっていないが。しかし、純粋にFDから起動した場合、HDD上のDMは起動していないので、MBRを書き換えられてしまう。


DMの怪

1.DMはその導入時に、新HDDをfdisk、formatする。どのようにパーテションを切るか、どのFSでフォーマットするかを選択できる。所が、この後、無事Win9xをインストールし、全てのパーテションがWin9xから見えているにもかかわらず、NTのインストーラからは、全てフォーマットしていないか、破損しているといわれてインストールできなかった。

結局、Win9xの起動FDからformatして、Win9xを入れ直した所。NTも入った。最初のNTのinstallは、一時停止させたのではなく、DM入りinstallerで行ったがこれが原因かもしれない。

2.Win9xで起動し、(V)FATにフォーマットしたパーテションに、旧HDDからデータをエクスプローラでコピーしようとしたら、「このパーテションは、ロングファイルネームはサポートしていない」といわれ、8.3ネームに変換するダイアログボックスが開いた。

もう一度、Win9xのGUIでフォーマットしなおしたが同じであった。デュアルで入っているNTから起動し、(V)FATでフォーマットしたところ、通常の(V)FATとしてフォーマットできたのか、LFNが使えるようになった。 formatterはformatした後、再起動を要求しないが、再起動しないと、この現象がおきるので、それが理由かもしれない。





39.Win95のHDDアクセスがMSDOS互換モードに落ちる    目 次

OPTiのチップセットを使っている、95、6年ころのAptiva770や、同じM/BのIBM−PC750でこれが起きた時は、比較的簡単に直すことができる。まず、

1)c:\windows\regeditで、
  HKEY_LOCAL_MACHINE¥SYSTEM\CURRENTCONTROLSET\SERVICES\VXD\IOS

 を開き、「NoIDE 01」があったら削除。

 2)c:\windows\inf\mshdc.inf をメモ帳で開き、「opti」で検索

[OPTI_HDC] %PCI\VEN_1045&DEV_C621.DeviceDesc%=DUAL_BAD_IDE, PCI\VEN_1045&DEV_C621 の

  DUAL_BAD_IDE... を DUAL_GOOD_IDE... と直す。

再起動すれば32bitで動く。ただ、何かの拍子にセーフモードに落ちると、また、レジストリにNoIDEができていることがあり、MD−DOS互換モード=16bitモードに落ちる。
DiskGo!で、8GB超HDDを付けて いる最中にこれにあい、上記でも直らなかった。DiskManagerでは上手くいった(32bitなど使わないから当然であるが、こういうトラブルに会わない為にも、Windowsからの低レベル作業はしたくない)。

参考;http://www.mars.dti.ne.jp/~kiyo-i/index_nn4.html

同年代のFMVでも経験したが1)は同じであるが、2)が違う原因らしい。というより、2)が原因であって、その結果、Winが1)をセットするのである。

以下は引用である; どこかのBBSで見かけたものらしいが、今となっては典拠が分からないが、引用させて頂く;
16ビットと32ビット用ドライバーの混在が原因ということですがその当時のFMVと言うかCMDの「仕様」(^_-) らしいですね。
CMDのPCI0646がホントに乗っているかどうか確かめてから(064Xの場合もありえる)次のうちのどれかで解決するかも知れません。はずれているかも。
1.デバイスマネージャーでIDEコントローラーが使用不可になっていたら
regeditからHKEY_LOCAL_MACHINE¥SYSTEM\CURRENTCONTROLSET
\SERVICES\VXD\IOSと開き、NoIDEの値を見つける。 それがあったら削除。
2.CMDのPCI-IDE Controller PCI-646チップのドライバーを当てる。
CMDのサイトにはもうドライバーはないとか?このNGの下の方で言ってるけど3.OSをwindows98にする。
OSを変える気がなければこちらからドライバーを抽出するとか
Drivers; http://www.ecs.com.tw/ecs/support/driver/drivero.html#cmd
http://www.drivershq.com/newlist/ide/indexidec.html





40.HDD増設(初心者の方向け)    目 次



HDD(以下、diskと表記することもある)増設の手順は、

 HDDを取り付ける→真っ更なHDDにfdiskを行い、パーテションを作る(切るとも言う)*→formatする

となります。fdisk、format softは、起動FDに入っています。起動FDが無ければ、

  コントロールパネル→アプリケーションの追加と削除→起動disk

で作ってください。

  *: 中古HDDの場合、既にfdsikされているので、パーテション構成を変える必要がなければ、formatするだけで良く、fdiskはskipする。但し、パーテション構成が気に入らなければ、古いパーテションを削除 して、新しくパーテションを作り直すことになる。この場合、fdiskをしなければならない。


HDD取り付け



HDDの付け方;

  1.電源コネクタ
  2.IDE40pinコネクタ
    を付け
  3.jumperをセットする


電源コネクタは逆差しできませんから、簡単。ゆっくり、力を入れて押し込んで下さい。極めて固いですから。グーッと。
コネクタには少し段差が付けて有りますからそこまで。

IDEコネクタは、逆差しできてしまう物もありますので注意。ケーブルの縁が赤く塗ってあるほうが1pinです。HDD側は、底にpin番号が、1、40だけは書いてあります。基本は、電源側に近い方が1pinです。逆差しできない構造のHDDコネクタになっていたら躊躇わず差し込みます。これも非常に固い。

Jumperには、3〜4種の設定がありますが、増設の時必要な設定は、M(aster)とS(lave)だけです。

Jumperのpin名は、たいていHDDの底、表面、などに書いてあります。M、S、CSの3つです。ただし、Quantumなどはjumperpinには別の名前をつかっています。Mは、xxというようになっていますが、HDDのどこかに対応表が書いてあります。

マザーボード上には2つのIDEコネクタがあります。PrimarySecondaryです。マザーボードを目をこらして見ると書いてありますが、今、HDDがついている方がPrimaryです。普通、CD-ROMはもう一つのほうのケーブルについており、そちらがSecondaryです。が、まれにHDDと同じケーブルに付けられている場合もあります。FMV4100などではSecondaryがチップセットの不良でデバイスを付けられない為そのようになっていました。そのような場合はあいている方がSecondaryですが、多分、使えません。
一つのIDEケーブルにはHDDを付けるコネクタが2つ付いています。MasterとSlaveです。どちらのコネクタがMaserということはなく、ドライブのjumperで決まりますので、どちらへ付けてもかまいません。

IDE機器=HDD,CDーROM,CD−R,DVD等は4台つけられます。ただ、CD系は、primary/slaveが空いていても、secondary/masterかslaveに付けた方が良いとされています。HDDのコントローラで使うのは調子がよくないようです。

ドライブのjumper;
M;Master;  ケーブルに1個しかHDDを付けない時は、普通、こう設定します。(注;single参照)
S;Slave; 同一ケーブルに、既に、HDDがMで付いているとき、Sに設定します。
CS;CableSelect;  特殊なcableを使いますと、jumperのM/Sはcableが自動設定しますので、2台のHDDとも、この位置にjumperを設定します。cableがM/Sをselectしてくれる、という意味でしょう。server用の特殊interfaceの場合以外、使うことはありません。と思っていたら、UltraDMA/66以上では使います。

Single; これが厄介なのですが。一部のHDDは、自分の付いているケーブルに自分1台しかついていないのか、2台ついているのか(slaveがあるのか)を認識できないinterfaceのものがあります。WDなどにあります。
一つのケーブルに1台しかHDDを付けていない時、普通はMでいいのですが、single modeを持っているHDDの場合、singleにしておかないと、認識されません。

jumperは普通3対あり、電源コネクタと、IDEコネクタの間にひっそりと以下のように並んでいます; 縦にショートさせて選択します。

しかしメーカによっては、4、5対のjumperを持つものもあり、1ー5、2ー6のペアでmasterなどという面倒な物もあります。おまけに、基盤には、その組み合わせが書いてないなどというのもあり、場合によってはメーカのHPへ行ってしらべなければなりません。

ここでは簡単な例を示します。
初期状態では、PCに付けられているHDDは普通1台ですから以下のようになっています。
  ○  ○  ●  ←jumper pin
         ‖
  ○  ○  ●
  CS S   M

M,S,CSなどはHDDの底の基盤上に書かれているのが普通です。

single modeのあるHDDの場合、MとSの上の段のpinを横にショートさせたりします。これは何処にも書いてなかったりして、中古のHDDなどでは厄介です。マニュアルなど無いので、試行錯誤。

      single
  ○  ●==●

  ○  ○   ○
  CS S   M

以上で、HDDの取り付けは終わりです。

次は、起動FDからDOSを起動し、Fdiskを行います。いきなり、formatはできません


Fdisk 総  論



ゴチャゴチャ講釈など聞きたくない、すぐfdiskしたいという時はここ へ。

Fdsikは、パーテション (領域)を作るという名ほど、概念は単純ではなく、なぜこんな作りにするの?! と言いたくなる設計です。「diskを分割する 」、ということから普通に考え付く作業--箱に間仕切りを入れるような作業--とは違う手順ですので、まず、それを理解しておかないと、訳が分かりません。

1. diskをcylinder単位で、パーテションに分割。

2.  すると、常識的に考えると、c,d,e,f,...という、driveが
  できるはず。しかし、こういう単純な考え方にはなっていないのです

3. DOSのパーテション(Windowsは、なんであれ、元はDOSです)には、種類ある。

  - 基本パーテション; 基本MSーDOS領域
  - 拡張パーテション; 拡張MSーDOS領域

この2つは対等ではなく、基本パーテションが,C :driveになり、OSが入り、起動できる唯一のdrive。これはWindowsのfdiskでは一つしかつくれません。PC/AT仕様では4つ作れることになっています。

拡張パーテションは、D:以下のdrive。

4. それでは、E:、F:、G:、と言うように、driveを複数作りたい時は、拡張パーテションを複数作れば、良いか?というと、これも「no」

P2.jpg
5. 論理MS-DOSdriveという概念があるのですね。右図メニューの項目3.参照。

拡張partitonのなかに、複数の論理driveを作る。これらが、D:、E:、F:...となる。

拡張パーテションそのものは、drive(D:E:...)になれない。拡張パーテションを作ったら、必ず、その中に論理driveを作る必要がある!!

基本パーテションには、論理driveなどなく、パーテション自体が、C: driveになる。これは、混乱を来し易いので注意。

6. 更に、基本パーテションは、fdiskの下図のメニュー項目 2.の、「activeな領域を設定」という作業をしないと、bootしない

実際、BIOSが立ち上がった後、エラーメッセージが出て、フリーズしてしまう。



さて、ここまでが、パーテションに関する一般論。実際の作業は、もっと面倒。


準  備


P1.jpg 7.  メニュー項目 1.MS−DOS領域又は論理ドライブを作る、というメニューを選んだ後、必ず、そのパーテションの大きさを、MB単位で指定しなければなりません。これは、当然ですね。

8. この時、例えば、disk全体が、30GBあるとしましょう
これを、どのように分けるか、予め熟考、設計しておきませんと、あとで、変えることは、原則、出来ません。もし変えるなら、また、fdiskからやり直しです。

ただし、1万円もだせば、Partition Magic、とか、Partition it! とかいう、後で、パーテション位置を動かせる市販softはあります。

9. さて、その設計ですが、FAT32でフォーマットすることにし、OSは、C:にinstallし、 5MB、アプリに10MB、デジカメの写真、MP3などデータに15MBとしましょう。

C:に入れるのは、OSと、OSが死んだら道連れで死んでしまう、I.E.、Office、あるいは、インストーラで入れるようなソフトだけにします。D:にProgram(Program Files などという無意味で面倒な名前はやめましょう)というフォルダを作り、細々としたインストーラの要らないonline softなどをいれます。Lhasa、Susie,VIX、Emeditor,などです。こうしておけば、もし、Win98の調子が悪くなっても、簡単に再インストールできます。C:だけをフォーマットして、OSと、大きなアプリを幾つかいれればよく、細々とした100幾つもあるソフトはD:という安全圏にいるからです。

ついでにD:に音楽、映画、ゲ−ム、文書などの名前のフォルダーを作り、そのショートカットをデスクトップに作ってアイコンをそれらしいものに変更しておきます(windows\system\pifmgr.dll/shell32.dll、windows\moricons.dllなどに使えるアイコンがあります)。その中に、プログラムならショートカットを、MP3ファイルならファイルを入れておけば、C:をフォーマットしても、それらのフォルダーのショートカットを、もう一度、デスクトップに作るだけで済み、すばやい復旧ができます。

D:にあまりができたら大切なデータは、E:とD:の両方に入れておけばソフト的クラッシュにたいしては安心です。

Fat32.jpg
10.fdiskによっては、最初に、「大容量diskをサポート。。。」というmessageが出ますが、これは、FAT32のことです。「Y」です。これで、FAT32になります。 。

11. 註;FAT16 は、1パーテションにつき、2GBまでしかサポートしませんので、30GBHDDでは15のパーテションに分けなければなりません。

file systemの管理は、cluster単位で行われ、FAT16では、256、512、1024MBの所で、clusterの大きさが変わります。当然clusterは小さい方が、diskの無駄が少なくなります。clusterの大きさは、512以上〜1024未満で、16KB,1024以上で、32KBです。1GB以上のパーテションですと、100文字=200byteの文書.txtでも、実は、32KBとってしまいます。このような理由でFAT16は大容量HDDではお勧めではありません。

12.これで、fdiskを終了すれば、MS−DOSのパーテションが取られました。

気をつけないと、diskには、「どこの領域でもない」areaが残ってしまうことだってありえます。あとで、ここにNTやUnixのパーテションをとることはできます。

13.Win98を、C: に installします。増設ディスクの場合、C:になりませんし、別にOSを入れるわけではありませんので、この作業は不要です。
C:は決め打ちで、PrimaryのMasterのコネクタに付けたHDDでないとなりません。




具体的手順



1. DOSプロンプトで a:> fdisk  と打ちます。

P1.jpg


メニュー項目1.を選び、下記
2. へ移ります。

尚、メニュー項目 3.は作ったパーテションを、削除(開放といいます)する項目です。 4.は、パーテション情報を見るためのもの。volume label、容量などがみられた?volume labelは、要りませんが、diskを何台も付けた時などは、diskmaker名などを付けておくと、便利です。でも、漢字などで長い名前を付けると、後でアクセスできず、パーテションの開放に苦労しますから、当面、何も入れない方がいいかも。

2台目のdiskを付けると、ここには表示されていませんが、更に5.の項目が現れます。 1台目、2台目、どちらのdiskのパーテション操作をするのかを選択するためです。2台目にする場合、2を選ばず誤って1を選んで、しかも書き換えてしまったりすると、1台目=OSが入っている!disk内容が全部消えてしまいますので注意。

2.
P2.jpg


OSを入れる1台目のdiskの場合、まず、基本領域をとります。

2台目の増設diskの時は、基本領域=OSを入れる領域は要りませんので、拡張領域だけでよいです。
その後、再び、このページに戻ります。次に、2.で、拡張領域を取り、その後、3.で、その中に論理driveを作ります。これは、連続した手順で、次々に、たとえば、10GB,15GB,残り全部、と言うようにできます。

3.
P3.jpg


こういう状態が見えます。<状態>の項にAとなっているのが、activeです。

 PRI DOSは基本領域。NonDOSはNTや、Unixの領域です。

なお、Fdiskをした後は、再起動してからformat をしておかなければなりません。これは、c:でなければ、Windowsから見えますので、Windowsを起動して行った方が簡単でしょう。C:の場合は、起動FDのDOSから

   a:>format C:

となります。勿論、 format d: などで、d:もformatできます。

以上で、HDDがWindowsからdriveとして見えるようになり、使用可能になります。




このページの先頭    目 次