[2084]  ドライブレターをPCAT互換機風に変更する方法について
投稿者:G さん   2000-01-25 16:15:55

過去ログなどを検索したのですが、見当たらないようなので質問させてください
(見落としてたらゴメンナサイです)

HDDは内臓IDE1台です。これをパテーションで2分割しています。1つめの領域
にはwin95aが、2つめの領域にはdosをインストールしています。

これをwin95aと、dosを起動メニュー(BIOSですね)から起動しわけているのです
が、どちらの環境からでも、フロッピィドライブ(FDD)をA:から、ハードディスク
ドライブ(HDD)はC:から始まるようにセットアップするために、いろいろやってみ
たのですが、うまくいきません。アドバイスなどありましたらお願いします。

win95aはsetup /atによってCドライブ起動になっています。dosはTakenori Katoさ
んのPATCH IOや、まりもさんのdrvasn9*などいろいろ試してみましたが、どちらも
同一ドライブ(同一のI/F形式?)内でのドライブレターの変更には対応してい
ないようなので、私には手が出ません……。

win95aの領域をアクティブ/スリープにすることでPATCH IOを施したdosをCドライ
ブ起動にもできましたが、らdosからwin95aの領域とのやりとりができないので、
不採用です。

また、win95b以降のosを使ってFAT32を使うことでも同様のことが可能ですが、やは
りdosからwinの領域とのやりとりができないので、不採用です。さらに悪い事に、
使っているPC-98がCanBeなので、FAT32を使うと魅力のインスタント機能が使えな
くなってしまうのもNGです。

win95aから起動したときはdosはd:ドライブに、dosから起動したときはwin95aはd:
ドライブに……という環境を作りたいのですが……Human68k(SHARPのX680*0のDOSで
す)でのdriveコマンドのようなものはないのでしょうか?
↑これは「drive a: b:」など使い、コマンド実行以後のドライブレターを入れ替え
ちゃうツールです。

よろしくお願いします。
  1. まりも さん   2000-01-25 17:18:36
    DOSのほうで起動したときに、どのようなドライブ割り当てにしたいのか今ひとつ文面から分からないのですが、MS-DOSの場合は、MSASSIGNというプログラムがあって、ドライブレターをあとから入れ換えることはできました。ただし制約が非常に多いです。autoexecの段階ではドライブは元のママですし。あとは、substコマンドの使用でしょうか。これも後天的にドライブ名というかパス名をごまかすためのものです。Windows95では、substのみ使用できます。
  2. まりも さん   2000-01-25 17:29:01
     うむむ、第2領域にあるMS-DOSで起動して、FD=A:, HD第1=B:,HD第2(DOS)=C:にしたいということですか?だったら DRVASN98で十分できますけれども。メニューでFD優先側(3)を選択すればよいです。
  3. G さん   2000-01-25 18:08:28
    まりもさん すみません。確かにわかりづらかい文章ですね。反省。補足します。

    えっと、「起動したHD領域をC:に固定したい」というコトです。

    第1領域(win95a)からBOOT
     FD0=A:、FD1=B:、win95a(HD第1)=C:、dos(HD第2)=D:

    第2領域(dos)からBOOT
     FD0=A:、FD1=B:、dos(HD第2)=C:、win95a(HD第1)=D:

    という環境です。つまりFDは必ずA:から始まり、起動したHD領域がC:
    になり、残りのHD領域はD:〜になる……でしょうか。

    msassignは一番最初に試してみたのですが「ドライブの入れ替え」がうまく
    できなくて、あきらめてしまいました。
  4. かば さん   2000-01-25 21:04:24
    dosのassignコマンドがうまくいかないとのことですが、使い方を誤っていませんか。正しい使い方は、assignをパラメータなしで起動して、メニューから「ドライブの設定」を選びます。そこでたとえば「c=d d=c」と指定すれば、以後cドライブとdドライブが入れ替わります。
    ただしこのcドライブやdドライブにassign.exeやこれから呼ばれるmsassign.comが存在する状態で行うと、コマンドの所在がわからなくなってエラーになる場合があるみたいです。またコマンド終了後のcommand.com再読込先(環境変数comspecの値)がたとえばd:command.comに設定されていたりすると、(当然のことながら)再読み込みできずにハングします。さらにこのコマンドはメニュー形式でしか実行できないなど、制約が多いですね。もちろん純粋なdos上でしか実行できません。

    今の目的を確実に達成するには、たとえば次のようにすればよいでしょう。
    (1)でもdでもないドライブ、たとえばeドライブをつくって、ここにcommand.com、assign.exe、msassign.exeをコピーしておく
    (2)dドライブ(dos領域)のconfig.sys中で、「shell=e:command.com」を指定しておく
    (3)dドライブから起動し、起動後にeドライブに移って上記のようにassignコマンドを実行する
    (4)そのあとでdosアプリ使用のためのパス設定などを行うバッチファイル(通常の場合のautoexec.bat相当)を実行する(この中では、当然のことながらすでにdos領域がc:であるとして設定します)

    しかしながら、このようなドライブ変更には誤操作の危険があることも十分承知しておく必要があります。またdosのマニュアルにもあるように、一部のコマンドに対してはこのassignによるドライブ割り当てが無効だそうです。
    個人的には、すなおに「dosから起動した場合はa:フロッピー、c:Win95、d:dos」ということで運用した方がよいと思いますが、いかがでしょうか。

    なお記憶が曖昧ですが、このdos付属のassignコマンドと同等のことをコマンドラインから実行できる(従ってautoexec.batに組み込める)ツールというのを見たことがあるような気がします。どこかにあったはずとHD内を探しましたが、見つかりませんでした。vectorなどで検索してみてはいかがでしょう。
  5. かば さん   2000-01-25 21:09:36
    あらら、(1)の出だしのところの、「(1)cでもdでもないドライブ...」というところが1文字欠けちゃいました。訂正。
  6. まりも さん   2000-01-25 22:07:44
     なるほど…FDDは2基あるんですね。実は G さんが希望しているような、パーティション間のドライブアサイン入れ替えは、裏技(というほどのものではないのだが)を使えばできます。できるんですが、毎回OS起動時に入れ換えるというのは、(私には)無理です。第二パーティションがいつも先にドライブレターが割り当てられる、というようなことしかできません。
  7. まりも さん   2000-01-25 22:20:54
     ちと切り口を変えて…。Win95でも旧MS-DOSでも、どっちで起動しても起動ドライブがC:でないとヤダという場合は(私もだが^^;)、「デュアルブート」にするのがよいかと思います。同じ先頭ドライブに、Windows95とDOSとをインストールします。こういうのではお好みではないでしょうか?