BABELがWindows2000を使用した際に気づいた点などについてのメモみたいなモンです。当初はNT4.0との違いが中心になると思います
Windows2000で使うユーザー名は半角英数字のみにするのが安全だ。なぜかというとWindows2000はユーザー固有の情報をDocuments and Settingsの下にユーザー名のフォルダを用意して保存するのだが、パス名に2バイトコードが入ることを想定していないアプリケーションでうまく動作しなくなる事があるからだ。
特にヤバいのはコードに$5cを含む漢字。なんとパスの区切り文字である'\'と誤読されてしまう可能性があるのだ。同様の理由でアプリケーションをインストールするパス名もできるだけ英数字にしておくのが安全だろう。
この辺はユーザー名の入力をする際にIMEがオンになるんで、ついつい漢字で打ちこみたくなるのがクセモノなんだよなぁ…
安定したパソコン環境が欲しい場合。もっとも楽なのはメーカー製のプリインストールマシンを購入してメーカー保証のない拡張機器を追加せず。OSに未対応なソフトはインストールしないというものだ。これならトラブル時はメーカーやソフトハウスが対応してくれるし専門知識もあまり必要ないという訳。
しかし趣味で遊ぶ場合はつい怪しげなモノに手を出してみたくなるのが人情というもの。そこでソフトハードの両面から出来る限り安全な方法を模索してみよう。
まずソフト面ではトラブルを起こすのは大抵ドライバ類だ。ハードメーカーにもよるがバギーなドライバをリリースしてしまう所が結構ある。また技術的な問題等で動作環境を限定してしまうケースもある。そこで安定したドライバを入手したい場合デジタル署名付きのものがベターだ。ちなみにデジタル署名付きのドライバはMicrosoftのサイトからダウンロードできる。
ハードに目を向けて見ると問題を引き起こすものはそう多くはない。定番モノのトラブルはHDDのジャンパ設定ミス。BIOSの設定ミス。CPUの冷却不良。PCIのマスター/スレーブ。チップセットに起因する問題。電源容量の不足等々。事前の情報収集で回避できるが基幹パーツを定番モノにしておけばより多くの情報があり問題解決も簡単になる道理。
と、いう訳で信頼性の高い環境を構築するには情報収集が欠かせないが、雑誌を含めてガセネタも結構流れている点に注意しなくてはいけない。特に「相性(←原因を理解できない場合につかう逃げ口上)」という言葉を連発したり「特定製品」ではなく「特定メーカー」を叩く(or賞賛する)ような凝り固まった人の情報は信用できない事が多いので気をつけたほうがええとおもう。
Windows2000の電源管理は基本的にACPIだ。これはマザーのBIOSが対応してさえいればベストな選択肢となる。必要なのはACPIに対応したカーネル。マザーによっては自動認識するものもあるが数が少ない為にインストール時に手動でカーネルを変更してやる必要があるだろう。既にインストールしたカーネルを入れかえる事も出来るが失敗するとWindows2000に再起不能のダメージを与える可能性もある。(デバイスマネージャ→コンピュータ→プロパティ→トライバ→トライバの更新)
次にやや裏技に近いがACPIに対応していない機種ではAPMで電源を切断する事ができる。操作方法は次の通り。コンパネ→ハードウェアの追加と削除→デバイスの追加→新しいデバイスの追加→いいえ→NT Apm/レガシサポート。だがこの方法はWindows2000Professional限定やしDualCPU系のマシンでは通用しない事が多い。
最後の手段は他メーカーから提供されている電源切断モジュールを使用する事だ。無論、危険を伴うしライセンス上の問題もあるので注意して欲しい。
ざっと各種の方法について書きましたが中には安全からほど遠いテクニックもあるので、その辺は自己責任という事でお願いします。
2001年5月にリリースされたSC-8820 V1.2ドライバでは従来のバージョンに比べてデュアルプロセッサに対する制限の記述がなくなった。動作自体もデュアルプロセッサ対応がβ扱いだったV1.1同様、Dual CPU BXマザーからのUSB接続でも問題なく演奏できた。
ただ一部のUSBチップはいまだサポート外なので、そういうチップセットの場合は従来のようにUSBカードを増設してみるのもありだろう。
RolandのUSBドライバ(シリアルドライバも同様)にはシングルプロセッサのみサポートと明記してある。実際に動かした人によると確かに途中で動かなくなったりするそうだ(※私も追試してみましたが演奏中でSC-8820の電源が途切れたりしました^^;)。
そこでなんとか回避策はないものかとサーチエンジン等を駆使してあちこち丹念に情報をあたってみたら「I/OデータのUSB I/F(USB-PCI)を増設してそこに接続したらDual CPUでも正常に動作した」という情報を得た。そこでリスクを承知の上で私も同じモノを買って試してみたら結果は良好。無事にDual CPUマシン上に良好なMIDI再生環境が構築できました。
ちなみにUSB-PCIに使われているのはNEC製のチップ。SC-8820のパッケージには動作しないもの(←Windows98で)と明記されているものだが、逆にWindows2000のDualでは使えてしまったりする所が不思議といえば不思議かも
Windows2000に導入された新機能。いわゆるDLL地獄におちいりにくくなるような仕掛けだ。Windowsではシステムフォルダ(Windows\SystemやWinNT\System32の事)に入っている各種のDLLを共用している。このDLLも開発環境の更新等により後に開発されたアプリケーションではより新版のDLLが必要になってくるんやが、従来のWindowsではより新しいDLLをシステムフォルダにコピーする事とDLLが下位互換を維持する事で解決しようとした。
ここで問題になるのは大きく分けて3つのパターンがある。一つは不出来なインストーラなどにより古いバージョンのDLLが上書きコピーされる事。もう一つはDLLが下位互換を維持できなくなった場合。最後にアプリケーション自体が特定バージョンのDLLに依存している場合だ。
こういった現象がかさなるとWindowsの動作が不安定になったりするのだがこれは脆弱なOSを約束事を守らずに運用した結果であり、ある程度はユーザーに責任がある。つまり何回もWindowsを再インストールするというのは凝りもせずヤバそうなアプリやドライバを放りこんだせいでありWindowsそのものの問題ではないとゆ〜訳だ。
とは言ってもユーザー層の拡大により予備知識なぞなくても安全に使えるOSが必要とされているのが現実だ。そこでWindows2000ではこれらに対処すべくやや後ろ向きの対策「System File Protection」が実装されている。つまりシステムフォルダ上にOSがインストールしたDLLはWindowsUpdateやサービスパック以外では更新できないようにしてあり、仮に更新しても次回起動時に自動的にオリジナルバージョンを復元してしまうとゆ〜ものだ。(このせいでWindows2000は200MB以上の復元用DLLをディスクに抱え込んでいる)
つまりシステムフォルダ上にはOSが保証したバージョンのシステムDLL以外は存在しない事になるので古いバージョンをインストールする事による危険が回避できる。また残りの特定バージョンが必要なアプリケーションの為には別途Side-By-Side機能などを使用して対処する。
IE5.5日本語版がリリースされたが、インストールにあたって一部で混乱が起こっているようだ。今回はいつものようにIEを入れ替えたら他のアプリが動作しなくなったというトラブルではなくIE5.5でまったく表示できないとゆ〜現象が発生している。
原因はReGet等のダウンロード用のツールでこれをアンインストールするか、IE関連の設定を解除してやれば解決するそうな。
マイナーバージョンアップとはいえ今やOSの中にガッチリと組み込まれつつあるIEの入れ替えってやっぱ怖いよなぁ(^^;;
従来は56bit長までしか輸出が許されていなかったが先般アメリカの法律改正に伴い128bit長の暗号技術を含んだ製品が輸出できるようになり、それに伴い米国版以外でのブラウザなどが軒並み128bit長の暗号に対応した。
で、他のWindows系OSの場合はieのバージョンアップやieの暗号強化モジュールをインストールすれば良いのだが、Windows2000の場合はサービスパックやWindows Update等から以外のシステムファイルの置き換えを禁止している為にそれらのモジュールは使用できない。
よってWindows2000で暗号強度を上げたい場合は別途Windows UpdateからWindows2000専用の暗号強化モジュールを導入する必要があるのでご注意ください
最近30〜60GBといった大容量のHDDが安価に買えるようになったが、そのせいか最近あちこちで散見されるトラブルがWindows2000で32GB以上のパーティションを確保できないとゆ〜モノだ。これはWindows2000でFAT32を使用した場合の制約でありNTFSには(今のところ)制限は無い。
どうしても使用したい場合はWindows98等から32GB以上のパーティションを確保してFAT32でフォーマットしてやればWindows2000上でも問題なく使用できる。
ここで技術屋のはしくれとして言わせてもらうがFATなどとゆ〜脆弱極まりないファイルシステムは極力避けるべきやと思う。「なんとなく」とか「他人に言われたから」などという理由で使ってる人は即刻FAT32をやめてNTFSにコンバートしてしまうべきや。どうしても利用せざるを得ない人でもFATシステムの性格上、大容量になればなるほどクラッシュした際の被害が甚大になる恐れがあるので、利用する際は小規模に留めるべきやろう。
Windows2000になってもASPIドライバは標準化されなかった。まぁアーキテクチャ上そ〜ゆ〜モンだと言えばそうかも知れないが…
Windows2000用として入手しやすいものとしては「ADAPTECのASPI32」「BHAのbsaspi32」「MicroStaff(Aplix)のMASPINT」等がある。本来は規格を制定したADAPTECのASPI32が無難だろうが、これはADAPTEC社の製品を使用しているユーザーの為の製品であり、私のようにTekram製のアダプタを使用しているユーザーはライセンス上の問題で使用する事ができない。またLSI-LOGIC(私のSCSIアダプタ「DC-310U」に搭載されたSCSIチップの製造元であるSYMBIOSを吸収したメーカー)はWindows2000対応のASPIドライバを提供していない。
そこで残った選択肢としてCD-Rのライティングソフトに付属しているASPIドライバを使用する事にしテストしてみた。結果を書けばbsaspi32はBs'RecorderGold以外では使いモノにならなかったのでMASPINTの方がお勧めできる。
最後にASPIドライバ使用時の注意だが、既にASPIドライバがインストール済みでも別のASPIドライバをインストールしてしまうアプリが結構多い。このまま放っておくとかなり奇怪な動作になるので使用しないドライバはデバイスマネージャーで「無効」にしておくべきでしょう
デバイスの設定をWin98ライクに変更したとゆ〜のでオートランもどこぞのプロパティに入るかと思ったのだが、残念ながらNT4.0と同様にレジストリを操作する必要がある。グループポリシーを変更する方法とレジストリ操作による方法の二通りあります。
ロードセーブ時などに出てくるWindows共通ファイルダイアログの仕様が少しだけ変わった。APIコールで初期ディレクトリを指定しなかった場合、従来のWin95/98/NTではカレントディレクトリをさした状態で開かれた。Windows2000も基本的には同じなのだが指定した拡張子のファイルがカレントディレクトリに無い場合はユーザーディレクトリ(通常はDocuments and Settings\ユーザー名\My Documents)をさすようになった。
まぁ確かに便利といえば便利やし余計なお世話といやあ余計なお世話なんやが、やはり不用意にファイルをバラ撒いてしまう初心者ユーザー向けの仕様だろう。
そんな訳で保存したつもりのファイルが見つからない場合はユーザーディレクトリをチェックしてみた方がいいと言うお話でした。
Dual環境では動作に問題のあるアプリケーションを動かす為の方法です。方法はズバりシングルプロセッサ用の環境への切り替え。NT4.0とまったく同様のテクニックが通用します。
方法その一、HALを入れ替える方法です。まずW2KのCD-ROMのi386ディレクトリにあるhal.dl_とntoskrnl.ex_をexpandしてそれぞれunihal.dll、unikrnl.exeを作成。出来たファイルをwinnt\system32へコピー。boot.iniを編集して
multi(0)disk(0)rdisk(2)partition(1)\WINNT="Microsoft Windows 2000 Professional [Uni Hal]" /fastdetect /hal=unihal.dll /kernel=unikrnl.exe
とゆ〜よ〜な行を追加します。パーティション指定部分は環境に依存するので各人のboot.iniに書いてある内容に基づいて書き換える必要があります。以上で書き換え完了。再起動すれば起動メニューに今回加えたUniHALの表示がでるのでコイツを選べばめでたくシングルプロセッサで稼動します
方法その二、起動オプションによりシングル動作に切り替えます。boot.iniを編集して
multi(0)disk(0)rdisk(2)partition(1)\WINNT="Microsoft Windows 2000 Professional [OneCPU]" /fastdetect /ONECPU
とゆ〜よ〜な行を追加します。パーティション指定部分は環境に依存するので各人のboot.iniに書いてある内容に基づいて書き換える必要があります。以上で書き換え完了。再起動すれば起動メニューに今回加えたOneCPUの表示がでるのでコイツを選べばめでたくシングルプロセッサで稼動します
どちらかとゆ〜と「方法その二」がお手軽です。どちらにせよ起動用のファイルをいじったりしますので、この説明やとよぉ判らんとゆ〜人はやめといた方が無難です。
SendToを書き換えよ〜と思い立ち、いつも通りの場所(WINNT\Profile)を探そうとするがディレクトリすら無い。あわてて探したらルートディレクトリに「Documents and Settings」なんてディレクトリがあってそっちに移ってたとゆ〜訳です。しかもテンポラリまでユーザー別になってここの配下に移ってるなんて…
PnPがサポートされたことにより標準的なハードの追加が非常に楽になったが、PnP未対応ハードの場合にはかえって面倒な事もある。NT4.0であれば不要なデバイスのドライバを削除して新ハードのドライバを追加すれば良かったがW2Kでは多少異なる。
例えば、私が実際に遭遇したのはBNCケーブルで接続されたモニタの認識だった。削除してもPnPで復元されるんでどないやって替えたろかと悩んだが実は安直なやり方があったのだ。この手順を以下に紹介する。
デバイスマネージャのモニタの下にある(規定のモニタ)のプロパティを表示してドライバタブを選んでやる。続いてドライバの更新ボタンを押すとデバイスドライバのアップグレードウィザードが出てくるので後は適当にやればOKだ。
今回の例はモニタやけど他のデバイスも同様の手順で変更できるので参考にはなるかと思われます。
しばらく使ってみるとスタートメニューの挙動が怪しげなのに気づくと思うが、どうもよく使うヤツを優先的に表示する機能が加わった為らしい。確かにあまり整理してない人のメニューにはほとんど未使用と思われるショートカットなどで埋め尽くされ操作しずらそうやなぁなどと思う事もしばしばあったが、どうもこの辺の操作感覚の改善を狙っているようだ。こんな変な機能はいらね〜ってゆ〜人はタスクバーのプロパティの[頻繁に利用するメニューを優先して表示(P)]のチェックを外せば従来どおりの挙動になります。
それとWin98に近づけた筈やのにスタートメニューにログオフがねぇなぁなんていう人はタスクバーのプロパティの詳細の「[スタート]メニューの設定(T)」を触ってみるのが吉。
従来のNT4.0ではレジストリを直接編集しないとできなかった設定がコンパネから簡単にできるようになったり若干の進化が見られます。
管理メニューがWindow98寄りに一新された事で懐かしの各管理ツール類を探す羽目になりました(^^; とりあえず各ツールのありかを一覧にしておきます。
NT4.0 | Windows 2000 |
---|---|
ディスクアドミニストレータ | [コンパネ]→[管理ツール]→[コンピュータの管理]→[記憶域]→[ディスクの管理] |
WindowsNT診断プログラム | [コンパネ]→[管理ツール]→[コンピュータの管理]→[システムツール]→[システム情報] |
イベントビューア | [コンパネ]→[管理ツール]→([コンピュータの管理]→[システムツール]→)[イベントビューア] |
パフォーマンスモニタ | [コンパネ]→[管理ツール]→[パフォーマンス]→[コンソールルート]→[システムモニタ] |
ユーザーマネージャ | [コンパネ]→[管理ツール]→[コンピュータの管理]→[システムツール]→[ローカルユーザーとグループ] [コンパネ]→[ユーザーとパスワード]→[詳細]→[高度なユーザー管理]→[詳細] |
リモートアクセス管理 | 所在不明 |
NT4.0 | Windows 2000 |
---|---|
PCカード(PCMCIA) | [コンパネ]→[システム]→[ハードウェア]→[デバイスマネージャ]→[PCMCIAアダプタ] |
SCSIアダプタ | [コンパネ]→[システム]→[ハードウェア]→[デバイスマネージャ]→[SCSIとRAIDコントローラ] |
アプリケーションの追加と削除 | [コンパネ]→[アプリケーションの追加と削除] |
インターネット | [コンパネ]→[インターネット オプション] |
キーボード | [コンパネ]→[キーボード] |
コンソール | とりあえずコマンドプロンプトのプロパティで設定可能。 |
サーバー | [コンパネ]→[管理ツール]→[コンピュータの管理]→[システムツール]→[システム情報]→[共有フォルダ] |
サービス | [コンパネ]→[管理ツール]→[サービス] |
サウンド | [コンパネ]→[サウンドとマルチメディア] |
システム | [コンパネ]→[システム] |
シリアルポート | [コンパネ]→[システム]→[ハードウェア]→[デバイスマネージャ]→[ポートCOMとLPT] |
ダイアルアップモニタ | 所在不明 |
テープデバイス | [コンパネ]→[システム]→[ハードウェア]→[デバイスマネージャ]→[テープドライブ] |
デバイス | [コンパネ]→[システム]→[ハードウェア]→[デバイスマネージャ] |
テレフォニー | [コンパネ]→[電話とモデムのオプション]→[ダイヤル情報] |
ネットワーク | [コンパネ]→[ネットワークとダイアルアップ接続] |
パラレルポート | [コンパネ]→[システム]→[ハードウェア]→[デバイスマネージャ]→[ポートCOMとLPT] |
マウス | [コンパネ]→[マウス] |
マルチメディア | [コンパネ]→[サウンドとマルチメディア] |
モデム | [コンパネ]→[電話とモデムのオプション] |
画面 | [コンパネ]→[画面] |
地域 | [コンパネ]→[地域のオプション] |
日付と時刻 | [コンパネ]→[日付と時刻] |
変換中の文字列の色 | [コンパネ]→[変換中の文字列の色] |
無停電電源(UPS) | [コンパネ]→[電源オプション]→[UPS] |
今回インストールするのはあくまでも評価版(RC2)なので本格的な移行は製品版発売時にやる事に決定。とりあえず従来のWIN95/NT4.0環境はそのまま維持しておいて増設したディスクにインストールしてみた。インストールするマシンのスペックは下記の通り。
種別 | 機器名称 | スペック | 備考 |
---|---|---|---|
CPU | Celeron 300A | PPGA 300MHz | MSI MS-6905Dualでマウント |
MB | Tekram P6B40D-A5 | Slot1 Dual | かなりクセの強いマザー |
RAM | SDRAM 128MB | PC100/CL2 | |
Video | Diamond FireGL1000Pro | PERMEDIA2/8MB | PCIモデル |
Sound | Creative SB-AWE64Gold | ISAバス | |
SCSI-HA | Tekram DC-310U | Ultra SCSI | BIOS無し |
HDD | Quantum FBSE3220AT | 3.2GB | |
HDD | IBM DTTA-350840 | 8.4GB | |
HDD | MAXTOR 92732U8 | 27GB | |
FDD | TOMCAT TC-FD35M1 | 3Mode | |
CDROM | PLEXTOR PX-40TSi | ||
CDROM | PLEXTOR PX-32TSi | ||
CD-R | PLEXTOR PX-R820T | ||
MO | ICM PMO-230L | 230MB | 富士通 M2512A使用 |
Mouse | MS Intelli-Mouse | PS/2mouse | |
KB | 109 |
何はともあれCD-ROMから直接ブートしてインストール開始。時間はかかるもののPnPで勝手に認識するわ余計な手間がかからず楽すぎるほど。最初FireGL1000Proのドライバに!マークがついて動作せんかったが、これはBIOSの設定(※Assign IRQ for VGA:Disable→Enable)を変えてクリア。同じくUSBドライバにも!マークがついていたが、コイツはBIOSでUSBをDisableにしているのが原因なのが判っているので使用しないようにした。