1.Windows95では、いきなり電源を切っても、まずかまわない    目 次

OSR2以後(OSR2(注1.1 )を含む)のWindows9xでは、シャットダウンを正規に行わな場合、次回起動時に自動でscandiskが起動する。これは、遅延書き込みなどの為、シャットダウン手続きを正常に行わない場合、ディスクキャッシュが、ディスクに書き戻されない為、ファイルシステムに矛盾が生じる為であると一般には信じられている。これは誤解である。

注1.1
マイコンピュータを右クリックしてプロパティを選択→
システムの項が「4.00.950 B」となっている物はOSR2.xである。
「4.00.950」、「4.00.950 A」の様にBが無かったり、Aの物は、
それ以前のバージョンである


OSR2以前の初代Windows95とOSR1では、上記の起動時scandiskの機能は実装されていない。いきなり電源を切っても、あるいは、Ctrl+Alt+Delや、リセットボタンを押して再起動しても構わない。少なくとも、OS(ファイルシステム)に深刻な打撃を与える事はない。データについてはこの限りではないが。

この差異は、実は、FAT32の実装から生じているらしい。FAT32を使っている場合、その仕様特性上、必ずシャットダウンが必要である。FAT32は、OSR2から実装されている。OSR2でも、FAT16でフォーマットされている場合、起動時のscandisk機能は切っておいて構わないが、FAT32でフォーマットされている場合には、必要な機能である。このため、OSR2では、フォーマットの種別を問わず一括して起動時scandiskの機能がオンになっているのである。

Microsoft自身が配布しているPower Toys(
注1.2 ) の中にあるTweakUIには、起動時scandiskを切る機能が用意されている: TweakUIの「Boot→Autorun Scandisk をNever」にする。TweakUIが無くてもこれは簡単に設定できる;C:\msdos.sysをメモ帳で開き(間違ってもWordなどで開かない事)、[Options]の項に AutoScan=0 を付け加えれば良い。

注1.2
MicrosoftのホームページからDLできる。日本語化パッチは
フリーのオンラインソフトがあり、雑誌(DOSVマガジン等)の付録
CD−ROMにある。


FAT16では、ファイルシステムの使われている範囲の最後を調べるのに、起動時にFATをサーチする。これは安全確実であるが時間がかかる。FAT32では、1sectorにあるPBR:Partition Boot Record(内のFSINFO:FileSystemINFOmation区域)にFATの使用部分の最後のクラスタ番号を記録する欄を設けてある(01ECh-01EFh)。PC起動時にここを読み出し何らかの軽い正当性チェックをして、主記憶に設けられたDPB:DriveParameterBlockエリアにコピーする。以後、変化があればDPB内のこの値を更改し、シャットダウン時に、PBRに書き戻すのである。従って、シャットダウンせずにPCを停止あるいは、リブートした場合、この値が書き戻されず、ハードディスクの実際の使用範囲と、PBR上のこの値が食い違い、そのまま書き込みを行った場合、既存のファイルのある場所に上書きして破壊してしまうような事も起こりうる。これを避ける為、シャットダウン手続きによらずPCの停止、リブートが行われた場合、起動時にscandiskを行って、正規の位置を調査しているのである。

なお、パーティション=ドライブの0sectorはBPB:BIOS Parameter Blockと呼ばれ、そのドライブに関する各種情報が収められている;クラスタサイズ、FATの開始セクタ位置、メディアID、sector/track,head/drive等など。




2.デュアルブート解消時の fdisk /MBR の安全性   
目 次

FreeBSDやLinuxをWindows系のOSとデュアルブートしていて、MBRを壊した場合、あるいは、なんらかの理由で、BootEasyやLILOをMBRから外したいことがある。この時に使われるコマンドが、

   fdisk /mbr

というDOSの隠しオプションつきfdiskである。ついでながらfdiskの命名の由来はFixed Disk Managerから来ている。

PCーUnixのBBSなどで、時々「fdisk /mbr でMBRを復活すると、WindowsではHDDの使用領域情報をMBRに書いていると言う話しを聞くので危ないかもしれない」という危惧に出会う事がある。幸い、この危惧は杞憂でありそうである。WindowsがHDDの使用領域情報を使っているのは確かであるが、1.の理由で fdsik /mbr は安全である;   HDDの使用領域情報エリアは、MBRではなく、PBRを使っている。

安心して、 fdisk /mbr をしてもよさそうである。

余談; HDDの 0cylinder.、0track、1sectorの512byteはMBRと呼ばれ、この中には、BIOSから呼び出され、boot処理を行うプログラムと、そのHDD全体のパーテション情報を格納しているパーテションテーブルが存在する。

fdiskはMBR内にある4つのパーテションエントリをもつパーテションテーブルを編集するパーテションテーブルエディタである。一方、fdisk /mbrは、MBR内にbootプログラムを書き込むものである。
ところで、MBRは、1sectorにあり、0 sectorではない。では、0 sectorには何があるのか?ここには、BPB:BIOS Parameter Blockと呼ばれるHDDの基本情報が入っているらしい。


3.Win9xとWindowsNT(多分、NT系の2000でも)とのデュアルブートの解消法    目 次

Windows2000 とWindows98特有の場合

Unixと異なり、NTは、MBRをブートセレクタに使わない(もっともLinuxでは、PBRにLILOを入れられるが)。Windows9xのいるHDDにNTを入れてデュアルブート環境にした場合、NTは、PBRに居るWindowsのブートストラップコードを c:\Bootsect.dos としてファイルに書き出し、その後に自分のブートストラップコードを入れる。このコードは、NTLDRを呼び出すことにより、ブート過程が進む。

NTLDRはブートセレクタ機能があるから、画面に、c:\Boot.ini の記述に従ってOSを選択するためのメニューを出す。boot.iniが無い時は、NTがブートされる。
boot.iniには例えば下記のような記述がある;
[boot loader]
timeout=2
default=C:\
[operating systems]
C:\="Microsoft Windows"
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos

この意味は、簡単に推測できる。
[boot loader]の項には、このメニュー表示後、何も操作がされなければ2秒だけ待ってdefaultで示されるOS、今の場合、c:\bootsect.dos を起動する。と書いてある。c:\ は省略表現で、本来、起動するOSのフルパスが書かれる。省略時は、bootsect.dos となるので、上記のような解釈となる。default がNTの時は、

    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

と書く。これは次の[operating systems]の項を参照すれば分かる。

  C:\="Microsoft Windows"

の「=」の右側の「"]で囲まれた部分が、メニュー項目として表示されるものである。

今の場合、
   Microsoft Windows
   Windows NT Workstation Version 4.00
   Windows NT Workstation Version 4.00 [VGA mode]

と表示され、↓↑に2秒以内に触れなければ、Microsoft Windows が自動起動する。

さて、PCの電源をいれると、BIOSが起動し、これが、MBRの中のブート処理部を起動し、このMBRの処理部は、PBRの中のブート処理部(注3 )を呼び出す。このPBRの処理部は、OSに依存して、Windows/DOS系では、io.sys を呼び出し、NT系ではNTLDRを呼び出す。NTLDRはブートセレクター機能がある。

注3
これは、ブートセクタと呼ばれる


NTが不要になり、Windows単独環境にしたい場合、 fdsik /mbr でWindowsのPBRを呼び出そうとしても駄目である。NTは、MBRなど触っていないのである。MBRは最初から変化していないのだから、fdisk /mbr は無駄である。この場合、PBRを書き換える必要がある。ここが、NTのインストーラによって、書き換えられている。Windows/DOSのブートセクタは、PBRから追い出されて。c:\bootsect.dos としてファイル化され、代わりにNTのブートセクタが居座っているのである。c:\bootsect.dos をPBRのブートセクタに戻す方法は、DOSのdebugコマンドでも行えるが、最も簡単な方法は;

   1.インストールされているWindowsの起動FDでCを起動
   2. sys c:

これでPBRのブートセクタが回復される。この時、注意しなければならないことは、「インストールされているWindowsと同じバージョンの起動FD」を使うことである。sysコマンドは、DOSの起動システムをディスクに転送するので、異なるバージョンの起動ディスクでは、HDDのc:¥にあるio.sys、msdos.sysが異なり、起動しない。手元に偶々転がっているFDでこれを行ってはならない。

以上で、PBR→io.sys とWindows/DOSの起動が出来、NTを分離できた。尚、Windows/DOSと書いているのは、Windowsの起動は、DOS7.xが行っているからである。WIndowsの起動ロゴは、DOSが出している。それで表示モードがWindowsが立ち上がってからとは違う。

後は、NTの残骸の整理である。winntフォルダの削除、c:\bootsect.dos、c:\boot.ini、c:\Ntldr、c:\Ntdetect.com、c:\Bootfont.bin 、c:\pagefile.sys、c:\Program Files\Windows NT\ を消せば奇麗になる(消さなくても使われないので、悪さはしない。HDDの肥えになるだけである。特に、pagefile.sysは仮想記憶用ファイルだからかなり大きい。実装しているDRAM程度はある。なお、このファイルは、設定によって、C:\とは限らないが、自分で位置を変えてなければ、ここにある)

NTが、NTFSでフォーマットしてあるパーテションにある場合、Windowsからは見えないので、winntフォルダの削除はできない。このパーテションそのものを削除するしかないと思う。しかし、もしかすると、昔のDOSのfdsikではNTFSは削除できない。Win95か?その辺りから出来るようになった。

1. NTのインストーラでfdiskの個所まで行って、パーテションを削除後、F3で終了
2. FreeBSD、Linuxのfdiskを使う;これはできそう。
3. OS/2、DR-DOSの強力fdsikを使う;これも出来そう(OS/2はそもそもNTの前身。
  DR-DOSのfdiskは、fdisk /xで起動する拡張モードが強力)。
  ただ、8.4GB超HDDはサポートしていない。ので、21世紀では役にたたない。

multi(0)disk(0)rdisk(0)partition(1)\WINNT は
ARC:Advanced Risc Computerパス名で、
コントローラ(multi)--ディスク(disk/rdisk)--パーテション--ディレクトリ
の意味を持つ。

コントローラ; multiまたは、scsi
         multiは必ずrdiskと、scsiは必ずdiskと組になる。したがって、
          コントローラがmultiの時は、diskは、disk(0)
          コントローラがscsiの時は、rdiskは、rdisk(0)
         となる。
          尚、scsiは全てのscsiコントローラを意味するものではない。
          オンボードBIOSが無効なコントローラだけである。
ディスク; 
  disk; オンボードBIOSが無効なscsiコントローラの時
  rdisk; 有効なscsiコントローラのもの、その他IDE等の時
  partition; 0でなく、1から始まる。multi(0)disk(0)rdisk(0)partition(1)は、
         従って、Primary/Master HDDの第一パーテションを意味する。

ARCパス名は、WindowsNTがIBM OS/2として開発されていた時代の名残である。
OS/2がvs.2の時、WindowsNTと分裂した。このため、WindowsNTは、
vs.3から始まっている。NT2というバージョンが存在しない理由である。



bootプロセスに関し、非常に参考になるHP;

ブートとハードディスクのすべて




4.PC-Unixのパーテション。あるいは、Win9xとのデュアルブート解消時のパーテション開放のトラブル    目 次

Linuxなどをインストールした後、アンインストールしても、fdiskでパーテションを開放できない時がある。Linux自身をインストールしたext2fsのパーテションは、fdiskの非DOS区画の削除で開放できるが、見かけ上DOSの拡張パーテションとなっている区画が開放できない。この区画、Linuxのインストーラが勝手に作る物で、利用者には制御不能である。PC-unixには、単独でインストールした時のHDDジオメトリに関わる情報に関してBIOSとの間で不整合があるらしく、DOSを最小構成でインストールした後にUnixをインストールした方が良いというチップがある。FreeBSDのBBSによくあった。

Linux単独でインストールした時、勝手に作られる拡張パーテションはこの事と関係するのかも知れない。問題は、0cyl.にLinuxのパーテションが来ないようにする目的で作られたこの拡張パーテションらしきものには論理パーテションが定義されていないことであり、初心者には面倒な問題を惹き起こす。Linuxのディストリビューション各社は、この程度の事には相応の注意を払ってもらいたいものである。

では、論理パーテションが定義されていないと何が起きるか?fdiskからはこのパーテションは拡張パーテションに見えているので、拡張パーテション削除を行う。すると、fdiskは、拡張パーテションを削除するには論理パーテションを削除しなければならない、と言ってくる。それではと、論理パーテション削除をおこなうと、この拡張パーテションには論理パーテションは定義されていないと言われる。定義されていないものは削除できない。かくして、どうどう巡りの無限ループに陥るのである。

こんな時、他のOSのfdiskの方が強力である。一番手軽なのは、Linuxや、FreeBSDのインストール途中のパーテション定義のフェーズで問題のパーテションを削除する方法であり、これは良く知られている。ただ、この方法は、 fdisk というように明示的な方法ではない(注4 )。FreeBSDでは、このフェーズを抜けてもパーテション情報がHDDに書き込まれていないので、この時点でPCをリブートしても、問題は解決していない。何時、パーテションテーブル情報が書き戻されるのか明確に知っていないと、変更したのに相変わらず、拡張パーテションが削除できていないと悩むことになる。

注4
Unixのバージョンにもよる。一般に古い方が、生でfdiskが見える。


OS/2、
DR-DOS のfdisk(drdosの拡張機能fdisk.com /x)は強力であるが今となっては入手しにくい欠点がある。こんな時、FDだけで稼動する簡単LINUXで、fdiskするのが最も簡単、強力である。ここにある。1MB強のファイルである。DLして、解凍したら、フォーマット済みのFDを1枚ドライブに入れ、DOSプロンプトで、mkFD.BATを実行。そのまま再起動すれば、Linuxが立ち上がる。rootでlogin。パスワード不要。fdisk。

ただ、このfdisk、Unixの伝統通りにきわめて寡黙、不親切である。すべて一文字コマンドである。mをおせば、メニューが出るので、削除するだけなら、

  ・Pで、パーテションの一覧をみて消したいパーテションの番号を確認;
  ・Dで削除

パーテション編集なら、MBM - Multiple Boot Managerが有用である。どこから落としたか忘れてしまったし、同梱のmbm.txtにも記載がないが、多分、vector だろう。ここにも、MBMの配布条件に従って置いておく。これは、マルチブートの為のセレクターであるが、MBRのパーテションテーブル編集機能=fdiskをもっていて、且つ、fdsikのように機能制限していないので何でもできてしまう。強力とは、危険のaliasでもあるので扱いは慎重に。適当に遊んで居たら、パーテションテーブルを壊してしまって、DR−DOSのfdsikでも「読めない」といわれてしまった。上記、Linuxのfdiskでなんとかできたが、一瞬、HDD購入が頭を過ぎった。

 以下、mbm.txtから使い方を部分的に引用;
 1.起動FDにmbm.comをコピー
 2.起動FDからPCを起動
 3.command lineで、 mbm edit として、mbmを編集モードで起動。
 4.↑↓キーで変更したい項目に反転カーソルを合せて
 5.PgUp/PgDnキーで値を変更
 6.編集が終わったら変更した区画名にカーソルを合せて Alt-U でその区画をアンフォーマット
   (ブートレコードを消す)。
   特に区画サイズのみを変更 した際は、古いブートレコードが邪魔して正常に論理
   フォーマットできない場合があります。
 7.Alt-W で編集結果を MBRに書き込みます。
 8.書き込んだらパソコンを再起動してディスケットから OSを立ち上げ、
   各ドライブを論理フォーマットしてください。



5.ロングファイルネームの構造    目 次

ロングファイルネーム(LFN)は、Windows95でサポートされた。255byte長である。ところで、Windows95では実はDOSの8+3名も使っている。というより、ファイルシステム内部ではこちらの方が本命で、LFNは人間が見て分かりやすい為だけのものであるらしい。FATのディレクトリエリアの1エントリは32byteからなるので、このエントリを複数個用いてLFNを格納する。その次にショートファイルネームが付き、一つのファイルの情報となる。このショートファイル名はWindows95から見ている時には見えないが、DOSからWindows95のファイルを見たときには「これはロングファイルネームです.txt」というファイルは「これは~1.txt」というショートファイル名で見える。LFNのエントリは、32byteだが、ファイル名分には、8+3ショートファイル名では、11byteしか使われていない。他は、ファイル属性情報の為に使われているのである。例えば、read-only,system,hidden属性などが良く知られているそれである。この中に、ボリューム属性というものがある。LFNのエントリには、このボリューム属性が立っている。それで、DOSから見た時には無視されて表示されずうまくいくのである。

ところで、FDのようなDOSのファイラーで、Windows95のファイルをみると、FDではボリューム属性も表示するので、表示がボリュームだらけになり非常に五月蝿い思いをした経験がある。



6. 340MBのHDDでFAT32フォーマットを行う    目 次

OSR2からは、FAT32がサポートされた。fdiskの起動時に、「大容量ディスクサポートを使用可能にしますか」と聞いてくる。これが実はFAT32でフォーマットするかどうかと言うことである。で、340MBのHDDにWindows98をFAT32で入れてみようと、[Y]を選んだ。無事にfdsikを終え、フォーマットを終え、Windows98を入れた。c:のプロパティを見ると、FAT(FAT16)であって、FAT32ではない。

512MB未満のHDDをFAT32でフォーマットするには、明示的にそれを fdiskとformat で指定する必要がある。

MBRには、file systemを示すID欄があり、そこにFAT32のIDを書き込む必要がある。「大容量ディスクサポートを使用可能にしますか」がこのIDをFAT16、FAT32のどちらに設定するのかを聞いている場面である。

MSのfdiskでは、任意にこのIDを書き変えられないので、Linuxのfdisk を使う。コマンド一覧と、ID一覧は以下;

# fdisk /dev/hda

コマンド (m でヘルプ):

コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)

FS ID 一覧  ( l 既知の領域タイプをリスト表示する)で表示;
0 空17 隠し HPFS/NTFS 5c Priam Edisk a6 OpenBSD
1 FAT1218 AST Windows 61 SpeedStora7 NeXTSTEP
2 XENIX root1b Hidden Win95 FA63 GNU HURD またはb7 BSDI fs
3 XENIX usr1c Hidden Win95 FA 64 Novell Netwareb8 BSDI スワップ
4 FAT16 <32M1e Hidden Win95 FA65 Novell Netware c1 DRDOS/sec (FAT-
5 拡張領域24 NEC DOS 70 DiskSecure Multc4 DRDOS/sec (FAT-
6 FAT163c PartitionMagic75 PC/IX c6 DRDOS/sec (FAT-
7 HPFS/NTFS40 Venix 8028680 古い Minix c7 Syrinx
8 AIX 41 PPC PReP Boot81 Minix / 古い Lidb CP/M / CTOS / .
9 AIX ブート可能 42 SFS82 Linux スワップ e1 DOS access
a OS/2 ブートマネ 4d QNX4.x 83 Linuxe3 DOS R/O
b Win95 FAT32 4e QNX4.x 2nd part 84 OS/2 隠し C: ドe4 SpeedStor
c Win95 FAT32 (LB 4f QNX4.x 3rd part 85 Linux 拡張領域 eb BeOS fs
e Win95 FAT16 (LB 50 OnTrack DM86 NTFS ボリュームf1 SpeedStor
f Win95 拡張領域 51 OnTrack DM6 Aux 87 NTFS ボリューム f4 SpeedStor
10 OPUS 52 CP/M 93 Amoeba f2 DOS セカンダリ
11 隠し FAT12 53 OnTrack DM6 Aux94 Amoeba BBTfd Linux raid 自動
12 Compaq 診断54 OnTrackDM6 a0 IBM Thinkpad ハfe LANstep
14 隠し FAT16 <32M 55 EZ-Drivea5 BSD/386ff BBT
16 隠し FAT1656 Golden Bow



t コマンドで、書き換えられる。Linuxのfdiskは、Unixの悪しき伝統に従って、1文字コマンドという分かり難いものだが、mコマンドで、コマンド一覧を出しながら行えば、まあ使える。 qコマンドで、何もせずに終了するから、訳がわからなくなった時には、qとすれば、安全である。普通のシーケンスは

 p ;現在のfdisk状態を表示(MS−fdiskで、最初に出る画面に相当)
 d ;パーテション削除
 p ;確認
 n ;パーテション作成
 p ;確認
 w ;上記の操作結果をHDDに書き込み、終了 (qで、書き込まず、終了)

ファイルシステム(FS)のIDを変更するには、
 p ;現在のfdisk状態を表示(MS−fdiskで、最初に出る画面に相当)
 t ;FS_IDを変更
 p ;確認
 w ;上記の操作結果をHDDに書き込み、終了 (qで、書き込まず、終了)

次に、formatも、FAT32にあわせる必要がある;

  
format c: /z:n

n=
8163264
クラスタ4KB8KB16KB32KB



7. Bootの意味再び    目 次

 コンピュータ
  ソフト無ければ
   ただの箱

とはAC(注7 )旧石器時代に言い習わされた言葉ですが、PCの電源をいれた時はこれに近い状態です。DRAM=主記憶にソフトが入っていれば、ただの箱ではないのでそのまま起動しますが、主記憶がDRAMになって以来、電源をきれば主記憶の中身は消えてしまいますので、この手はききません。DRAM以前の磁気コアメモリの時代には、何しろ磁石ですので電源を切っても平気です。IPL:InitialProgramLoaderが主記憶にあり、電源をいれてスタートボタン--Windowsの画面のものではありません、ハードのスイッチです。念の為--を押せば、そのまま動いた計算機もありました。主記憶上のIPLが壊れたらどうするのでしょう?コンソールパネルにずらりと並んだ16進数、あるいは8進数入力用のスイッチで機械語のIPLを主記憶に直接書き込んだものです。c830,4300,という風に。

注7
今思い付いた筆者の造語;AfterComputer; プログラム内蔵方式ではないとはいえ世界で
最初のdigital computer、 モークリとエッカートのENIAC稼動年1946年をもって、0年ACとします。
モークリーとエッカートはENIACの経験からプログラム内蔵方式を着想、EDVACの設計を始め
ますが、途中からプロジェクトに潜り込んだノイマンがEDVAC仕様を機密漏洩的(軍の資金によ
る研究のため)に勝手に公表した為、世間は彼の研究と誤解し、プログラム内蔵方式は誤って
フォン・ノイマン方式と呼ばれることがあります。


DRAMの主記憶ではこのようなことはできませんし、8進数や16進数で、頭の中に有るIPLをキーボードを叩くような勢いで計算機前面にあるコンソールパネルのスイッチ--古目のSF映画などで、大型計算機の前面で何列にも並んだスイッチと電球?パネルがチラチラとしているあれですね--から主記憶に書き込むというのも大儀なものです。PCではこの役割をさせるためにBIOSというものをROMに入れ、電源on->ROMからIPLをDRAMに転送->IPLを起動(IPLに制御を引き渡す)という部分はソフトではなくwiredLogicでやっているのですね。

PC関係の本を見ていますと、bootやIPLという言葉がかなり混乱して用いられているようにみえます。それはPCのブートプロセスが何段階にも別れていることによるのでしょう。ブートプロセスを、電源onから、OSが立ちあがるところまでと規定しますと、Windows9x では以下のプロセスが踏まれます。

 電源on->BIOS->MBR->PBR->io.sys->Windows

大局的にはこのプロセス全体で動いているプログラムがそうでしょうし、一応、異なるソフトが動いているので、この中のどれかといわれれば、IPLの語義からしてBIOS(のブート部分)がIPLでしょう。




8. Vcache;アプリの立ち上げをもっと速く    目 次

メモリー管理というものは難しいものです。簡単な所でも;

  1.ディスクキャッシュ;
   PCを起動してから後、2度目以降にアプリが呼び出された時に
   HDDから再度読み出すより、DRAMから読み出した方が速い。
   この為、OSは、1度目に呼び出されたアプリはDRAM上に保持
   しています。
   この為のDRAM領域がVcacheです。

  2.仮想記憶;
    一方、DRAMの不足を補う為、HDDをアプリから見てDRAMのように
    使えるようにした技術が仮想記憶です。仮想的な主記憶ですね。

この2つ、どう調停するのでしょう。Windows9xでは、Vcacheはなぜか、空いているDRAM一杯にとられてしまいます。もっとも、1GBもDRAMをつんだ場合どうなるか、そんなお金は無いのでわかりませんが。とにかく、スタート→プログラム→アクセサリ→システムツール→システムモニタで「空きメモリ」を見ていると、16MBならともかく、32MB積んでも、64MB積んでも全然増えた気がしません。Windows9xはどうも、空きメモリはほとんど全部をディスクキャッシュとして確保してしまうようです。忘れてはならない事は、このキャッシュはアプリ起動を速くする為に用いられるものであるということです。

ところで、空きメモリがないので、起動されたアプリは、ロードされる場所が無い(注8)。今、DRAM内に居る他のアプリを、仮想記憶=HDDに追い出さなければならない。HDDへの書き込みには、DRAMからみたら気の遠くなるような時間がかかる。

注8
Windows98では、cacheにあるアプリはcacheにあるままで使えるよう
MapCacheという仕掛けを導入しました。Win95では、cacheはあくま
で仮想的であれHDDなのですから、そこから主記憶にloadしていました。
論理的にはどうあれ、物理的には主記憶上に同じコードが2個あって、
無駄だったのです。

ついでながら、Windowsのスピードを速くするためには

 マイコンピュータ右click→プロパティ→パフォーマンス→ファイルシステム

で「コンピュータの主な使用目的」が「デスクトップコンピュータ」になってい
たら「ネットワークサーバ」にした方が良いとノウハウ物に良く書かれてい
ます。これは、数多くのプロセスを立ち上げっぱなしにして使う人以外は
実質意味がありません。記憶を無駄に食って、却って起動を遅くするだ
けです。ここは、ディレクトリと、ファイルネームのパスをcacheしておく所
で、ネットワークサーバはその領域を最大限にとる為の設定です。家庭
ユーザには全くの無駄です。


こういうわけで、折角、主記憶内のcacheにあって、読み出しが速くなっているアプリをDRAMにロードする為に、結局HDDが動いてしまって--しかも、読むより遅い、書き込みです(cache如何ですが)--、全然起動が速くならないのです。

このような状況を改善するのが

   c:\windows\system.ini

にあるVcache項目です。最初はそのような項目はないので、自分で書き込む必要があります。

[vcache]
maxfilecache=10240
minfilecache=5120

このPCは64MB積んでいるので(今となっては、軽いWin95ですし)、上の様にしてあります。
32MBなら、 maxfilecache=5120  程度? あまり小さくするとWindowsが不安定になるらしいので、こんな程度にしています。




9. コンピュータブラウジング    目 次

Windowsのネットワークは複雑で分かり難い。Windows9xだけの場合と、NTが居る場合があったり、ドメインを作ったり、ワークグループだけですませたりすることが原因である。したがって、下記の記述もどこまでが、Windows9xだけの場合か、NTがいる場合かが判然としておらず、Windows9xだけのネットワークのマスターブラウザ関係の動きは必ずしも正確ではない可能性がある。

その上、Unix系のネットワークの要素と、Windows 固有のネットワークの要素の両方があったりする。このため、ネットワークの中で自分のPCに付けた名前さえ2つの解釈が存在する。NetBIOS名=コンピュータ名と、ホスト名である。前者は、Windowsネットワークとしての名前、後者は、インターネット、イントラネットで用いるUnix系の名前である。それぞれ名前解決の系統が異なる。

   NetBIOS名; c:\Windows\LMHOSTS/WINS
   Hosts名;   c:\Windows\HOSTS/DNS

という関係になっている。但し、WindowsでHost名を意識することは少ない。普通は、ネットワークを構成した時に「コンピュータ名」を入れる。これはNetBIOS名であるが、Host名が定義されなければ、Host名も兼ねる。名前解決も、Host名であろうと、NetBIOS名であろうと、MHOSTS、WINS、HOSTS、DNSの全てが調べられるので、順序はあるが、気にすることはない。たとえば、DOS窓からpingを打つ;

   ping mypc

pingは本来Unix系のコマンドであるから、mypcはHost名として扱われる。しかし、mypcはネットワークコンピュータのプロパティのユーザ情報タブにあるコンピュータ名であり、Windows系のNetBIOS名である。しかし、心配はいらない。Windowsではこの辺はいい加減で、別に区別されず、LMHOSTSも、WINSも全部調べ、なければ最後の手段、ブロードキャストでサブネット内の全PCに聞く。 さて、コンピュータブラウジングに関係のない話をしてきたが、ここからが本題である。特に断らない限り、WIndows9xだけのネットワークの話である。

Windowsのネットワークコンピュータを叩くと、ずらりと---といっても家庭では2台か、3台---並ぶ。これがコンピュータブラウジングであり、このサービスをブラウザサービスと呼ぶ。ここに見えているのだから当然、それらのコンピュータに何らかのアクセス--ファイルを読むとか、プリンタを使うとか--は自動的にできる気がする。が、この期待は往々裏切られる。パーミッションの問題とかではなく、それは設定してあってもである。

問題は、「見えれば使える」という期待にある。実はブラウザサービスもネットワーク上の一つのアプリにすぎなくて、これが直接「ファイル共有」サービスと結び付いている訳ではない(Win9xでは、実は、Microsoftネットワーク共有サービスを入れないとブラウザサービスは稼動しない; この共有サービスのプロパティにブラウズマスタ(以下、マスターブラウザ)のオプションがあるので、一体になっている)。ブラウザサービスは、ネットワーク上の同一ワークグループに属するNetBIOS名を各PCからの申告で収集し、表示しているだけである。ファイルが共有できるためには、自分のネットワークにMicrosoftネットワーククライアントが入っていて、且つ共有したい相手にMicrosoftネットワーク共有サービスが入っていて、ドライブやフォルダーに共有設定がしてあることが前提である。ファイル共有はこれら2つのアプリの仕事であり、ブラウザサービスとは関係がない。ネットワーククライアントに、共有したい相手のコンピュータ名を知らせる方法が他にあれば、別にブラウザサービスを介する必要はない(多分)。

ブラウジングの方法であるが、ネットワークにコンピュータが参加すると--つまり、NICが刺さっているPCの電源を入れると、全コンピュータ間で、--(当然、NICが刺さっていないPCは関係ないですね^^;)--どのコンピュータがマスターブラウザになるかネゴを始める。なんらかのアルゴリズム(注9ー1)でマスターブラウザが決まる。このネゴはブロードキャストで行われる。この方式によれば、3台で既に動いているネットワークで、4台目を電源onにすると、これまでの取り決めはご破産になり、またもやブロードキャストの嵐で、マスターブラウザの選定を始める。BURNproofでないCDRで書き込み中のPCはネットワークにつながないほうが良さそうである。

注9ー1

  マスターブラウザ選定アルゴリズム;
   1.上級のOSが優先権を持つ;
     WindowsNTserver>WindowsNTworkstation>Windows9x
      バージョンもみているらしいので、
     Win98>Win95OSR2>Win95もあるかもしれない。

   2.対等のOSでは、ネットワークに先に参加しているPCが優先権を持つ。

   尚、ネットワークに繋がず、孤立した1台だけでNICが入っているPCでも、
   ネットワークコンピュータを開けば自分が見えるが、これは「当然」の事
   ではない。自分がマスターブラウザになり、自分に送り込んでいるのである。
   ちなみに、Microsoftネットワーク共有サービスを削除するとマスターブラウザ
   (の役割)が居なくなるので、自分自身さえ見えなくなる。


こうして、マスターブラウザが決まると、各PCは、このマスターブラウザに自分を登録する。よく、「新しいPCをつないでも、ブラウジングには時間がかかるので、しばらく待つように」といわれるが、Windows9xだけのネットでは、以上にような方式だから、人間のスケールでは時間はかからない。普通、数秒から、運が悪くても数分である。NTのネットの場合、運がわるいと、数十分も掛かったりする。

マスターブラウザへの自己申告は、NetBEUI;NetBIOS ExtendedUserInterfaceでは、broadcastで、また、TCP/IPではIPアドレスを使ったunicast(1:1通信)で行われる(のだろう)。ブラウズリストはプロトコルごとに作られる。

どうしてもブラウズリストに現れないPCでは、邪道であるが、
LMアナウンスを「はい」にすると、そのPCがブラウズリストに現れる場合が
ある。

LMアナウンス;Microsoftネットワーク共有サービスのオプション項目に
存在する。DOS時代のLANmanagerネットワークではマスターブラウザ
が居ないらしい。それで、各PCは自分の存在と名前(この場合、Microsoft
のネットワークだから、コンピュータ名=NetBIOS名)をbroadcastで他のPC
に知らせた。これがLMアナウンス。

Windows系(9x、NT,2000)のネットワークでは、現在はマスターブラウザが必
ず存在するから、LMアナウンスは不要であるが、LANmanagerが存在する
DOS機が居る場合のためにおいてある。

マスターブラウザはこうして各PCからの自己申告でブラウズリストを作ると、ブロードキャストで、この表を配る。これが、ネットワークコンピュータで見える表である。ついでながらブロードキャストはルータを越えられない。このブラウジングは、ルータ内だけの話しである。ブロードキャストがルータを越えて隣のネットに伝わったら大変である。またその隣にも伝わり、こうして、全地球の隅々までインターネットによって伝わっていく。

まとめると、

1.ブロードキャストでマスターブラウザ選定      LAN     
         ↑      ↑     ↑            ↑
         ↓      ↓     ↓            ↓
         PC1    PC2   PC3   -------   PCn

2.各プロトコルにしたがってマスターブラウザに自己申告    LAN     
         ↑      ↑     ↓            ↑
         PC1    PC2   PC3   -------   PCn
                    (MasterBowser)

3.ブロードキャストでブラウズリストをPCに配布     LAN     
         ↓      ↓     ↑            ↓
         PC1    PC2   PC3   -------   PCn


オフィスで、ルータ越しに隣のネットのPCが見えるのは、NTがいるからである。NTはドメインを作ることができ、又異なる方式でブラウジングを行っている。この方式では、Winsなどを使ってルータ越えのブラウジングが可能であったり、ドメインがルータを跨いだり、ドメインマスターブラウザやバックアップブラウザがマスターブラウザの上に居たりして極めて複雑な構成となる。おおざっぱな流れでは、下のようになる。

        サブネット担当       ドメイン担当         ドメイン担当
  PC−>マスターブラウザ−>ドメインマスターブラウザ−>バックアップブラウザ−>各PC
    12分ごと         12分ごと           15分ごと-------------->

ただし、PCは起動直後は、1、2、3、8、12分後にマスターブラウザに通知し、以後、上記通り、12分おきである。3周期=12分x3周期この通知をしないと、ブラウズリストから削除される。逆にいえば、電源断後、36分未満は表示されていることになる。

NTドメインのあるネットワークでは、マスターブラウザが決まると、マスターブラウザは、ドメインアナウンスメントメッセージを使って自ドメインの存在を他のドメインにブロードキャストして通知する。マスターブラウザーは、ドメインマスターブラウザにIPアドレスを用いた通信でこの情報を送る。こうして、ルータ越しの他のドメインのPC(Microsoftネットワーク共有サービスを入れたPCだけであることはもちろんである。尚、この世界ではサーバという。NWにファイル共有等のサービスをするからである)も見える事になる。

サブネット内は、上記Windows9xネットワークの場合と同じである。マスターブラウザは自分のサブネットのブラウズリストをドメインマスターブラウザに送る。ドメインマスターブラウザは、ドメイン内のすべてのサブネットのリストを集めるとこれをバックアップブラウザに送る。バックアップブラウザは配信専用である。

マスターブラウザとドメインマスターブラウザはブロードキャストでなくきちんと相手のアドレスをWinsなどで調べて送る事もできるのでルータを越えられる。但し、どのサブネットにもNTがいればの話しで、Win9xだけのサブネットではドメインという概念がないので、Win9xのマスターブラウザはドメインマスターブラウザにブラウズリストを送らず、孤立している。NTがいるサブネットでは必ずNTがマスターブラウザになるので、ドメインマスターブラウザにブラウズリストを送る。又、ドメインマスターブラウザにはPDCがなる。

PrimaryDomainController
DomainMasterBrowser
MasterBrowser/BackupBrowser




10. モデムを20ppsにしたい    目 次

まず、

ダイアルアップネットワークのプロパティ→「接続の方法」の「設定」→「接続」の「詳細」→追加設定

追加設定に次の拡張ATコマンドを入れておく; 拡張コマンドは、モデム特有なので、下記のものを試してみる。
10ppsの場合20ppsの場合
&p0p &p1p
&p1&p2
s11=10s11=20






11. 字化け、Window右上の_ロX等のアイコン化け    目 次

c:\Windowsにある、

字化けttfcache
アイコン化けshelliconcache

を削除する。cacheだから削除しても構わない。また、作られる。特に、ttfcacheは、どんどん大きくなり、数MBにもなる。こうなると、その検索に時間がかかり、何の為のcacheかわからない。300kBくらいになったら、read-onlyにすると良い;右クリック→プロパティ



12. cookies    目 次

cookiesとは、訪れたWebサーバ(ホームページ)が、c:¥Windows¥cookiesに書き込んだファイルです。cookiesを書き込んだHPを再び訪れると、Webサーバは、上記フォルダーに自分が書き込んだcookiesがないか探します。FreeMailのHPや、Yahooなどのポータルを訪れると、入れもしない自分の情報、たとえば、mailなら、IDなどが、勝手に表示されるのは、Webサーバがここから情報をとっているのです。

気持ち悪いので、c:¥autoexec.bat に

   del c:\windows\cookies\*.txt

と書いて、PC起動時に全部消してしまっています。

このcookies、同じドメインのサーバからしか読めません。 yahoo.co.jp なら、xxx.yahoo.co.jp のサーバからはすべて読み取れます。ですから、 co.jpとか、comとか言うcookiesはありません。そんなことを許せば、事実上、誰からでもよめてしまうようなものです。

IE5では、インターネットオプション→セキュリティ→レベルのカスタマイズからcookiesを無効にできます。IE3時代には、もっと表にありましたが。オプションの詳細設定。

とはいえ、Webで買い物等をする時には、サーバは、cookiesで管理しているのですから、無効にしてしまうと買い物できないことになります。HTTPは、ページを読んだらサーバとのセッションを切ってしまうので、香水をバスケットに入れても、すでにサーバとは縁が切れているのですね。で、「買う」のボタンを押した時点でまたサーバにアクセスする。でも、これは誰だかサーバにはわからない。そこで、cookiesを見て、前にアクセスしてきた本人であることを確認しているわけです。そんなわけで、無効にせず、autoexec.batで前回の情報を消しているのです。

ISPにダイアルアップしている場合、Webサーバからはこちらが誰であるかは特定できません。サーバにわかるのはIPアドレスですが、ISPは普通ダイアルアップのPCには固定アドレスをふりません。ダイアルアップで接続する時、DHCPによってその時限りのIPアドレスがふられます。したがって、WebサーバがこちらのIPアドレスを保存しておいても、いったんダイアルアップを切って、次にダイアルアップアクセスする時には異なるIPアドレスですから同一PCとは認定できないわけです。とはいえ、ISPのログをたどれば、いつ、どのPCにどのIPアドレスをふったかはわかりますから、絶対にできないわけではありません。わからないのではなく善意の利用者のプライバシーを守っているにすぎません。もっとも、IEにはセキュリティにバグがいろいろあるようですから、何がおきるかは予想できません。クラッカーにかかれば、このプライバシも破られるかもしれません。




13.新HDDへの Windows環境のバックアップ(コピー)と復旧    目 次

まず簡単な説明;
backup; windows9xのDOS窓から、       xcopy c:\ d:\backup /c/h/e/k/q/r
restore;  vfxcopyを入れた起動FDから起動して、 vfxcopy -r -h -s -n d:\backup c:\

vfxcopyはここにあります。VFtoolsからvfxcopyを抜き出して使います。

d:\backupはそのままCD−Rに焼いておけば、650MB以下なら、実に楽に復旧できます。ただ、Jolietで焼いたCD−Rをvfxcopyは読めませんでした。DOSでは読めて、dirなど出来ているのだから、理由は、不明です。

Windows95では、CD-ROMが読める起動FDが作れないので、ここ に作り方。

backupしたd:が別のHDDの基本パーテションなら、c:の位置に付け直せばそのまま使ってもよい。勿論、上のようにrestoreしてもよい。

詳細説明;

HDDを新しい物にした場合、せっかく構築した環境を1から再び始めるのは苦痛である。こんな時、実に簡単なドライブ丸ごとコピー方がある。

 1. 新しいHDDをD:以下のドライブとして取り付ける。
   この時、古いほうのHDDは、まだWindowsでの作業に用いるからそのままにする。
 2. PCを起動。
 3. 新しいHDDをfdiskする; DOS基本パーテッション、activeとする。
   これでMBRが書き込まれる。
 4. 再起動して、format Z: /s
   これで、PBRが書き込まれる。WindowsのGUIからフォーマットする場合、
  くれぐれも、システムを転送するにチェックを入れることを忘れずに。
  でないと、PBRが適切に作られず、起動パーテションとならない。
 5. Windows9xのDOS 窓を開き、

   xcopy c:\ Z:\ /c/h/e/k/q/r

    ここに、Z:は新しいHDDのドライブ名
    コピー中、win386.swpは使用中でコピーできない旨のメッセージがでるが、
    これはswapファイルだから不要である。
 6. 新しいHDDをPrimary/Masterにする(古いHDDののコネクタと
   とりかえ、必要ならジャンパをmasterにする)

以上で、MBR、PBR、c:¥がコピーされ、旧環境で起動するHDDとなった。
OSR2または、Win98でFAT32フォーマットの場合、PBR内のFileSystemINFOmationにある最終書き込みクラスタ情報に矛盾がおきていないか心配だが、これはscandiskが自動でやってくれるので気にしなくて良い。

もっと簡単なイメージコピーの方法もある。
DiskdumpというDOSソフトを使う方法である。ここ に配布条件に従い、置いておく。使い方は簡単で、

 1.起動FDを作り、そこへこのソフトを入れる
 2.新しいHDDを付ける。操作は、FDのDOSで行うので、上の方法と違い、
   新しいHDDを最初からC:になるようにつけてもかまわない。
 3.起動FDからPCを起動。
 4.Diskdump C: D:  -d  -g

これで、D:にそっくりコピーできた。戻すのは、逆にすればいいのです。

 5.Diskdump D: C:  -d  -g

    --
    Disk C:から直接読み込み, Disk D:に書き込みます.IBM PC-AT コンパチ機
    (DOS/V 機)で実験したところ癖があるようです.以下のようにすれば巧く行き
    ます.
    C-Drive が 1.5G, D-Drive が 2G(正確には,2Gより少し小さい)とします.
    Floppy Disk から立ち上げて,D-Drive に FDISK を掛けます.この時,D-Drive
    をアクティブにしないのがポイントです(アクティブな領域は1つだけ指定で
    きます.C-Drive は通常アクティブになっています).リセット後,D-Drive を
    フォーマットします.Diskdump C: D: -d [-g] とします.
    D-Drive を C-Drive にします.そのままでは,立ち上がりませんので,Floppy
    Disk から立ち上げて,FDISK で C-Drive をアクティブにするのが次のポイント
    です.これで,Duplicate の完成です.--  Diskdumpの説明書より引用

 5.新しいHDDをC:の位置につけてPCを起動。


Diskdumpはイメージのバックアップ/レストアもでき高速でとても便利です;
 Disk Image のままのバックアップ

  Backup: diskdump c: d: (-l630) -g

     −gは、buffersizeを64kBにする(通常、32KB)。
      使えない場合、−gははずす。
  これで、d:に出来た xxxxxxx.dup 群を CDRに焼く。
-l630 はbackup fileがCD−ROM2枚以上になる時、使う。

  Restore: diskdump e: c: -r -g

 ただし、e: はCD−ROM

予想されるトラブルへの対処
買ってきたばかりの真っ更なHDDをfdisk/formatして、この方法で、CD−Rからresoreするだけでは、起動しません!! PBR,MBRなどの確認を以下に従って行います。

diskdump してCD−Rからrestoreした後、restoreしてあるOSの起動FDで起動し、

   sys c:

として、PBRを作る必要があります。起動FDはrestoreするOSと同じバージョン(というか、種類)である必要があります。DOS6.2の起動FDでWin95にSYS c:はできません。同様に、WinNT/2000のFDで、Win95に対してもできません。Win95←→98はできるかもしれません。これは、何度でも行えますので、試したらよいでしょ。

また、fdiskで、その新HDDに作ったC:がアクティブにしてあるか、確認してください。多分、最初にfdsikして基本パーテションを作った時に、Aになっていますが、起動しないなら確認です。ついでに、

  fdsik /mbr

と、おまじないを唱えて、MBRを再書き込みしておくと、よいでしょう。

また、新HDDにD:を作り、それをformatせずに、C:をdiskdumpでrestoreし、かつ、C:の中で、起動時にD:を参照しているソフトがあると(スタートアップでD:のプログラムを起動するなど)、メディア(この例ではD:のこと)が読めないといって、起動しません。 起動FDでformat d:をしておきます。

イメージコピーの場合、新しいHDDは、古いHDDと同じクラスタサイズになるようパーテッションをきる必要があります。クラスタサイズの大きさはここ 。たとえば古いHDDのc:が800MBだったなら、新しいHDDは800〜1023MBの範囲にする必要があります(800MB以下では書き戻しきれないので警告が出て中断されます)。1023MBにすると、diskdumpは、sectorとclusterの大きさはsameであるが、パーテッションのamountが違うがそれでも実行するかという意味のことを聞いてきます。これは「y」でかまいません。sectorとclusterの大きささえ同じであればいいのです。sectorはPCでは512byteに決まっていますから、気にする必要はありません。

fdiskで注意することは、ぎりぎり1023MBを指定すると、1030MBのパーテッションを作り、クラスタサイズが一挙に倍になってしまうことがあることです。MSのfdiskでは、パーテッションはシリンダー単位で作られますから、こういうことがおきます。1023MBより小さ目、1000MBなどにして、様子を見ながらつくります。

また、古い方のHDDはdefragを行って前の方に集めて置いた方が良いでしょ。この時、移動できないクラスタが存在しますが、これは、c:\windows\win386.swp。swapファイルです。swapを、別ドライブにしておけば、これは避けられます。

マイコンピュータ→パフォーマンス→仮想メモリ

で変えられます。
--
バックアップの対象は, FAT16&FAT32:
DOS Ver 4.0 以上で,DOS Hard Disk, WINDOWS3.1,WINDOWS95, WINDOWS95 OSR2, WINDOWS98 β版,
WINDOWSーNT3.5, 4.0(16 bit Format)です.
WINDOWSーNT4.0 NTFS には対応していません

  --  Diskdumpの説明書より引用


もう一つのお気軽バックアップソフト;D2F;多分、Disk−to−Fileの意味

Windows9xのバックアップには、http://www2.tky.3web.ne.jp/~shrimp/にあるd2fも簡単でいいかもしれない。 Diskdumpとほぼ同じであるが、スイッチが覚えやすく、2枚以上のメディア(CD−Rなど)に渡る場合も、スイッチが要らない。自動で警告が出る。

再配布条件に従い、ここにも置いておく。 イメージでバックアップするので
 ・DOSから使える; Windows9xを起動FDからCDを読んでバックアップできる!
 ・HDD丸ごとバックアップなので、MBRやPBRも
  バックアップしてくれるようである
  ひょっとしたら、古いM/Bで8.4GB超HDDの為に
  DiskManagerを入れてあるHDDでもそれも含めてバックアップ
  できるかもしれない(まだやっていない)
 ・但し、クラスタサイズを変えてリストアはできない

imageであるから、クラスタサイズが異なるパーテションを作って、そこへリストアすることはできない。基本的に、同じHDDでのバックアップ/リストア向きである。但し、居候は、OSは、常に、たとえ100GBのHDDでも、C:は1GB未満として、単独で入れ、アプリやデータはd:以降に入れるので、これで全然困らない。

  d2f s c: d:    (c:→d: Save;バックアップ)
  d2f r c: d:    (c:←d: Restore;リストア)

というように、s/rのスイッチの切り替えだけで、バックアップ/リストアが出来る。
d:にDISKSAVE.DATというファイルが出来る。これがバックアップの実体である。バックアップで出来るファイル名はDISKSAVE.DATのままにしておけば、上のように指定する必要がないので楽である。

居候の場合、d:がCD−R/PDなので、PDにバックアップし、それをCD−Rに焼いてある。さすがにPDのDOS用ドライバはないので(どこかにあったら教えて!TEACには無かった)、こうしないと、起動FDからリストアできないのである。

d2fは基本的には、起動FDや、DOSモードから使うが、これではPDが使えないので、Windows9xのDOS窓から、上記でPDにバックアップし、できたファイルをHDDにコピーし、それをCD−Rに焼いた。但し、DOS窓でバックアップするとリストア時に、scandiskが走るらしい。それだけのことであり実害はない。

起動FDは、CDを読めるようにして、さらにd2f.exeを入れてある。




14.SIMM/DIMMその他種々のpin情報    目 次

http://www.technick.net/

ここを眺めているだけで楽しいが、急ぎの人は、この上記サイトへ行き、左側のメニューからcircuitを選ぶ。あるいは、下の深層リンクで直接warpできる。

http://www.technick.net/pinouts.htm#conmem   Pinouts Collection

http://www.technick.net/pinconmem_simm_72pin.htm  SIMM
DIMMなどその他各種ある。




15.ディスクトップPCでのscsi機器のhotswapもどき    目 次

SCSI機器の電源オン→デバイスマネージャ→scsiコントローラを選択し、下にある「更新」ボタンを押す。これでPCのリブートなしにscsiが使えるようになります。



16.Windows9xでフォーマットできないFDをフォーマットする    目 次

Linuxでtermを開いて、次のようにしてフォーマットする。

  fdformat /dev/fd0

ただし、Unix類のフォーマットはDOS類とは違い、純粋にフォーマットしかしてくれない。FSは作られていないので、この後、DOS/Windowsで、もう一度フォーマットしなおす必要がある。quick formatではだめで、通常のフォーマットである。

Windows9xでは、FDの書き込みに失敗すると、時々、フォーマットさえできなくなることがある。 FDの中の壊れているファイルを通常にreadしようとすると、システムエラーメッセージが出て、読めない。削除しようとしてもできない。要するにファイルが中途半端の状態で書き損なわれているのでへんなビットがたっていて、Microsoftのフォーマッタではなんともならなくなるのである。fdiskの虫 に似ているといえば似ている。



17.Explorerの表示を常時更新する    目 次

いちいちエクスプローラの表示→最新の情報に更新をするのが面倒な時;

HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control¥Update

UpdateModeを00にする。

あるいは、c:\windows\system.ini の [386Enh]に

FileSysChange=On

を加える。



18.クラスタサイズ    目 次

FAT16
partition size(MB)cluster size(KB)
64以下2
65〜2564
257〜5128
513〜102416
1025〜204832
2048〜409664(NT4.0, NT3.51のみ)
4096〜8192128(NT4.0のみ)
8192〜16384256(NT4.0のみ)

K=1024 システム
全Windows

 FAT16は16bit=216=64K個のクラスタを持つことができる。
 Windows9xでは、1クラスタの最大は32KBなので、
 64K個x32KB=2048MB=2GBがパーテションの上限です。


FAT32
partition size(GB)cluster size(KB)
8以下4
8より大〜168
16より大〜3216
32より大〜32


K=1024 システム
Windows95 OSR2.0以上,Windows98/SE,WindowsMe,Windows2000,XP
 FAT32のクラスタサイズは、32GB以上のパーテションでは一律に32KB。
 クラスタ個数は2M個


 FAT32の最大クラスタ個数の理論値は32bit=232=4G個。
 Windows9xでは、1クラスタの最大は32KBなので、
 4G個x32KB=128TBがパーテションの上限の理論値なのですが、  ここまでは使っておらず実際の上限は、2TBになっています。




NTFS
partition size(GB)cluster size(KB)
0.5MB以下0.5
0.5より大〜11
1より大〜22
2より大〜4


K=1024 システム
NTFS 4.0; WindowsNT,Windows2000,XP
NTFS 5.0; Windows2000,XP

 NTFSのクラスタサイズは、2GB以上のパーテションでは一律に4KB。
 NTFSのクラスタサイズ個数は、1M個。何故なら、1KBのクラスタサイズの
 最大パーテションサイズは、1GBだから。
 クラスタサイズ個数=最大パーテションサイズ/クラスタサイズ


 参考;マイクロソフト サポート技術情報 - JP140365

下記は重要なので、 Windows 2000 Guide on ZDnet JAPAN より引用;
Windows 2000の機能をフル活用するためにはNTFS 5.0での使用が推奨されるが,

中略

Windows NT 4.0と共存させる場合には,いっそうの注意が必要である。Windows 2000のインストールに伴って,Windows NT 4.0で採用されていたNTFS 4.0は自動的にNTFS 5.0へと更新されてしまう。この結果,Windows NT 4.0のCD-ROMに収録されている標準のセットアッププログラムでは,修復インストールすることはもちろん,Windows NT 4.0でもう一度上書きインストールすることも不可能となる(Windows NT 4.0のインストーラがNTFS 5.0を認識しないため)。Windows NT 4.0を修復インストールしたり上書きインストールしたりする場合には,Windows NT 4.0 Service Pack 4以降に添付されているWINNT32.EXEを利用する。なお,Windows 2000のインストールに先立ってWindows NT 4.0にService Pack 4以降を導入しておかないと,Windows NT 4.0自体が起動しなくなってしまうので,十分に注意してほしい。

NTFS 5.0の新機能がすぐに必要となるケースはまれだと思われるので,Windows 2000一本に絞って本格運用しようという段階に至るまでは,無理にNTFS 5.0に移行しなくてもよいだろう

        以下略




19.起動FDでキーボード種類を自動設定    目 次

a:\config.sysに下記の様に /106 (英字キーボードなら101)を書き加える;

  devicehigh=C:\WINDOWS\jkeyb.sys   /106



20.起動時にキーボードをnumlockにする    目 次

BIOSにそのような項目があれば、BIOSで設定してもよいが、下記の方が簡単である;

c:\config.sysに下記を書き加える;

  numlock off



このページの先頭    目次