it-swarm-ja.com

ブート可能なUSBを作るためにRufusはどのバージョンのMS-DOSを使用しますか?

Rufus は起動可能なMS-DOSフラッシュドライブの作成を可能にします。イメージやISOを指定する必要なしに、オプションとしてこれを箱から出して行います。

Rufus main interface

しかし、このツールに関するドキュメンテーションは現状では事実上存在しないため、プログラムがこの目的のためにどのバージョンのDOSを使用するかを指定するものは何も見つかりません。誰か知っている?

75
Hashim

ルーファス開発者はこちら。

@ magicandre1981 が正しく指摘しているように、Rufusが提供するMS-DOSのバージョンは、Windows Millenium EditionのMS-DOSであり、ブートを有効にするために「切り取られていません」 HP USBおよびその他のツールから)。

また、これは重要な部分であり、RufusはではなくMS-DOSファイルをアプリケーションに埋め込みますが、Windowsシステムからそれらを取得しますMS-DOSバイナリはMicrosoftが所有権を有し、著作権で保護されているため、Microsoft以外の誰かがMS-DOSを配布するのはillegalであるため、 DOSバイナリは、Zipファイルでもアプリケーションでも(実際、Windows 98 MS-DOSファイルを埋め込んだHPUSBFWユーティリティのバージョンを作成しようとすると、HPはMicrosoftと法的な問題に直面したようです。 Microsoftはすぐにそれをやめさせました)。

そのため、Windows 10までは、MS-DOSファイル(Windows MEから)がDOSブート可能フロッピーディスクの作成に使用するDLL(diskcopy.dll)に含まれていたという事実に依存していました。 (実際には完全な起動可能なフロッピーFATイメージが含まれています)、そこからファイルを選択しました。これは合法的に行うことができます。

ただし、Windows 10の導入により、Microsoftはブート可能なフロッピーを作成する機能を削除し(Windows 10を使用している人は誰もフロッピーから起動しないため)、diskcopy.dllを削除しました。これは、MS-DOSブータブルUSBフラッシュドライブを作成する正当な方法がなくなったことを意味し、最終的な結果は次のとおりです。

  • WindowsでRufusを使用する場合XP to Windows 8.1:いずれかで起動可能なUSBを作成することができます FreeDOS またはMS-DOS(WinMEエディション)。
  • Windows 10以降でRufusを使用する場合:FreeDOSのみで起動可能なUSBを作成できます。

実際には、FreeDOSはMS-DOSが動作する場所では動作しないことを示す具体的な報告にまだ出会っていないため、Windows 10でのMS-DOSサポートの喪失は大きな損失とは考えていません。さらに、クローズドソースであり、Microsoftがずっと前にサポートを停止したMS-DOSを使用するのとは対照的に、 FreeDOSはオープンソースです および積極的にサポートされているため、通常はFreeDOSを使用する方がはるかに優れています。

198
Akeo

彼はWindowsファイルdiskcopy.dllからバージョンを抽出します

/* Extract the MS-DOS files contained in the FAT12 1.4MB floppy
   image included as resource "BINFILE" in diskcopy.dll */
static BOOL ExtractMSDOS(const char* path)

winME(DOS 8.0)からのDOSファイルである dos.c の他のコメントを見て、彼はここに示した と同じパッチを当てます

 * diskcopy.dllからの* COMMAND.COMおよびIO.SYSは、リアルモードDOSを削除したWinMEのバージョン[*] *からのものです。 000003AA 75  - > EB 
 * COMMAND.COM 00006510 75  - > EB 
36
magicandre1981

私はそれを自分でテストすることにしました。私はRufusを使用してMS-DOSを実行する起動可能なUSBを作成し、それから私のラップトップ上で起動しました。 MS-DOSに入ったら、verコマンドを実行してそのバージョンを確認しました。これにより、Windows Millennium、つまりWindows MEが返されました。

これは、Rufusが使用しているMS-DOSのバージョンが、以前のスタンドアロンバージョンの1つではなく、Windows MEから取得されていることを意味していると思います。このME統合バージョンが以前のバージョンとどのように異なるのか、私は完全にはわかりません。

10
Hashim