MS-DOS versi apa yang digunakan Rufus untuk membuat USB yang dapat di-boot?

74

Rufus memungkinkan untuk membuat flash drive MS-DOS yang dapat di-boot. Ini melakukan ini di luar kotak sebagai opsi tanpa perlu menentukan gambar atau ISO.

Antarmuka utama Rufus

Namun, dokumentasi pada alat ini hampir tidak ada, dan saya tidak dapat menemukan apa pun yang menentukan versi DOS yang digunakan oleh program untuk tujuan ini. Apakah ada yang tahu?

Hasyim
sumber
1
Karena penasaran, mengapa Anda perlu tahu itu?
Ooker
4
@Ooker - Campuran rasa ingin tahu dan alasan yang diberikan dalam komentar saya pada jawaban yang diterima. Saya terutama perlu memastikan bahwa itu belum DOS 6.22 dan karena itu saya tidak membuang waktu mencari tahu cara membuat USB bootable dari 6.22.
Hashim
2
Hampir setiap orang lain yang tidak mendapatkan konflik lisensi menggunakan FreeDOS untuk jenis disk boot itu.
eckes

Jawaban:

197

Pengembang Rufus di sini.

Seperti yang ditunjukkan dengan benar oleh @ magicandre1981 , versi MS-DOS yang disediakan oleh Rufus adalah MS-DOS dari Windows Millenium Edition, "tidak terisi" untuk mengaktifkan boot (saya tidak menciptakan tambalan ini, tetapi mengambilnya dari HP USB dan lainnya alat).

Juga, dan ini adalah bagian penting, Rufus TIDAK menanamkan file MS-DOS dalam aplikasi, tetapi mengambilnya dari sistem Windows yang digunakannya, karena, karena biner MS-DOS adalah hak milik dan hak cipta dari Microsoft, itu ilegal bagi siapa pun selain Microsoft untuk mendistribusikan binari MS-DOS, baik itu dalam file zip atau aplikasi (pada kenyataannya, tampaknya HP masuk ke masalah hukum dengan Microsoft ketika mereka mencoba untuk menghasilkan versi dari mereka Utilitas HPUSBFW yang menyematkan file MS-DOS Windows 98, dan Microsoft segera menghentikannya).

Jadi, hingga Windows 10, kami mengandalkan fakta bahwa file MS-DOS (dari Windows ME) dimasukkan dalam DLL ( diskcopy.dll) yang digunakan Windows untuk membuat disket bootable DOS (yang sebenarnya berisi gambar FAT floppy bootable lengkap) , dan mengambil file dari sana, yang dapat kita lakukan secara legal.

Namun, dengan diperkenalkannya Windows 10, Microsoft menjatuhkan kemampuan untuk membuat disket bootable (karena tidak ada yang menggunakan Windows 10 diharapkan untuk boot dari floppy) dan dihapus diskcopy.dll. Ini berarti bahwa kami tidak memiliki cara hukum untuk membuat drive flash USB MS-DOS yang dapat di-boot lagi, dan hasil akhirnya adalah:

  • Jika Anda menggunakan Rufus pada Windows XP ke Windows 8.1: Anda memiliki kemampuan untuk membuat USB yang dapat di-boot dengan FreeDOS atau MS-DOS (edisi WinME).
  • Jika Anda menggunakan Rufus pada Windows 10 atau yang lebih baru: Anda memiliki kemampuan untuk membuat USB yang dapat di-boot dengan FreeDOS saja.

Dalam praktiknya, saya belum menemukan laporan nyata dari seseorang yang menunjukkan bahwa FreeDOS tidak berfungsi di mana MS-DOS bekerja, itulah sebabnya saya tidak menganggap hilangnya dukungan MS-DOS di Windows 10 merupakan kerugian besar. Plus, tidak seperti menggunakan MS-DOS, yang merupakan sumber tertutup dan yang sudah lama tidak didukung Microsoft, FreeDOS adalah Open Source dan didukung secara aktif, jadi Anda biasanya jauh lebih baik menggunakan FreeDOS.

Akeo
sumber
4
Hai sobat Saya menghargai Anda menimbang, dan terima kasih atas alat yang hebat. Maukah Anda menjelaskan beberapa hal di sini: superuser.com/questions/1228065/… . Sepertinya saya tidak bisa membuat Rufus menginstal MS-DOS 6.22 dari ISO, dan dari apa yang Anda katakan, ini sepertinya bukan masalah hukum. Saya perlu DOS 6.22 karena saya tidak dapat mengambil risiko menggunakan alternatif mengingat bahwa utilitas yang akan saya jalankan adalah ceruk yang luar biasa dan memiliki potensi untuk memecahkan hal-hal mahal jika tidak 100% benar, jadi saya sangat menghargai bantuan Anda di sana.
Hashim
2
Saya tidak dapat menggunakan FreeDOS untuk mem-flash BIOS saya di laptop saya, tetapi saya bisa menggunakan disk boot Windows 98. Yang mengatakan, yang harus saya lakukan adalah pergi keluar dan mencari gambar disk boot online. Ini bukan seolah-olah mengirimkan pemberitahuan DMCA tentang hal itu.
trlkly
7
Akan baik untuk secara eksplisit menyebutkan bahwa versi DOS dari Windows ME ini dicap sebagai MS-DOS 8.0. Yang dari Windows 95a dan 95OSR / 98 / 98SE masing-masing adalah MS-DOS 7.0 dan 7.1. Beberapa orang akan merujuk ke MS-DOS 7.11, tapi saya tidak yakin bagaimana jika ada sesuatu yang ditambahkan ke 7.1
underscore_d
3
MS-DOS 7.10 menambahkan dukungan FAT32, @underscore_d. Itulah perbedaan besar antara 7.10 dan 7.00. Perhatikan, juga, bahwa tidak ada yang namanya "DOS 7.1". Nomor versi MS selalu X.YY. Salinan DOS 7.1 yang beredar di web adalah sesuatu yang disatukan beberapa orang, mengambil salinan versi DOS yang disertakan dengan 95OSR2 / 98 / 98SE dan meretas COMMAND.COM dengan editor teks untuk membuatnya melaporkan versi 7.1. Dan, tentu saja, hanya untuk kelengkapan, DOS 8.00 adalah yang disertakan dengan WinME yang menghapus dukungan mode-nyata sehingga DOS melakukan boot ke mode terlindungi, dengan HIMEM terintegrasi.
Cody Grey
2
Benar. Tidak ada partisi boot FAT32 sebelum MS-DOS 7.10. Atau partisi FAT32 apa pun! Anda juga tidak akan dapat mengakses hard disk besar, karena versi DOS yang lebih lama ini tidak tahu apa-apa tentang LBA ( pengalamatan blok logis ) dan mereka menggunakan panggilan interupsi BIOS ROM lama untuk disk I / O, bukan yang lebih baru " Ekstensi 13h INT ". Hal-hal sepele lainnya: Anda memerlukan MS-DOS 4.00 (resmi, 3,3 tidak resmi dengan batasan tertentu) untuk mendukung FAT16 (sebelumnya, hanya FAT12 yang didukung). @Hashim
Cody Grey
36

Dia mengekstrak versi dari file 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)

melihat komentar lain dalam dos.c yang merupakan file DOS dari WinME (DOS 8.0), ia melakukan patching yang sama seperti yang ditunjukkan di sini :

* COMMAND.COM dan IO.SYS dari diskcopy.dll berasal dari versi lumpuh WinME  
* yang menghapus mode nyata DOS => harus ditambal:  
* IO.SYS 000003AA 75 -> EB 
* COMMAND.COM 00006510 75 -> EB 
magicandre1981
sumber
Haha, kalahkan 20 detik. +1 pada pekerjaan detektif, melihat ke dalam kode sumber bahkan tidak terpikir oleh saya. Saya sudah melihat halaman Wikipedia pada mode nyata, tapi saya masih sedikit tidak jelas. Dalam istilah praktis, apa yang dilakukan mode nyata, dan apakah tambalan ini mengembalikan semua fungsinya?
Hashim
Hanya untuk latar belakang yang menarik, saya juga menemukan masalah di mana pengembang berbicara tentang hal ini: github.com/pbatard/rufus/issues/545
Hashim
11
real mode adalah mode dalam x86 cpus dengan akses perangkat lunak langsung tanpa batas ke semua memori yang dapat dialamatkan, alamat I / O, dan perangkat keras periferal. Mode nyata tidak memberikan dukungan untuk perlindungan memori, multitasking, atau tingkat hak istimewa kode. Tapi ini diperlukan untuk penggunaan DOS nyata, tetapi menyebabkan masalah stabilitas di Win95 dan Win98. Dengan penghapusan ini, WinME menjadi lebih stabil
magicandre1981
ok, saya masih menggunakan windows 8 di laptop utama saya dan di sini file tersebut masih termasuk. Jadi opsi ini hanya ditawarkan pada versi yang lebih lama.
magicandre1981
2
Tentu saja, mode nyata juga terbatas pada bus alamat 20-bit 8086/8088, sehingga Anda hanya dapat mengatasi memori 1 MiB. 80286 mengangkat pembatasan itu dengan memperluas ke bus alamat 24-bit dan menambahkan mode terlindungi, memungkinkan CPU untuk mengatasi memori 16 MiB (yang merupakan jumlah RAM yang sangat besar pada tahun 1982, lebih banyak daripada kebanyakan PC yang memiliki penyimpanan tetap ). Mode kode terproteksi 286 tidak terlalu umum dalam praktik (saya sedang melihat Anda, OS / 2 dan Xenix), dan sementara 80386 memperkenalkan mode perlindungan 32-bit pada tahun 1985, butuh satu dekade lagi sebelum mode terlindungi 32-bit perangkat lunak menjadi cukup umum pada PC.
CVn
10

Saya memutuskan untuk mengujinya sendiri. Saya membuat USB bootable yang menjalankan MS-DOS menggunakan Rufus dan kemudian mem-boot-nya ke laptop saya. Setelah di MS-DOS, saya menjalankan verperintah untuk menentukan versinya, yang mengembalikan Windows Millennium, alias Windows ME.

Saya menduga bahwa ini berarti versi MS-DOS yang digunakan oleh Rufus ditarik dari Windows ME, daripada menjadi salah satu versi sebelumnya, mandiri. Bagaimana versi terintegrasi ME ini berbeda dari versi sebelumnya saya tidak sepenuhnya yakin.

Hasyim
sumber
4
lihat jawaban saya . Dia mendapatkan gambar DOS dari file Windows
magicandre1981