Rufus sử dụng phiên bản MS-DOS nào để tạo USB có thể khởi động?


74

Rufus cho phép tạo ra một ổ đĩa flash MS-DOS có thể khởi động. Nó thực hiện điều này ngoài hộp như một tùy chọn mà không cần chỉ định hình ảnh hoặc ISO.

Giao diện chính của Rufus

Tuy nhiên, tài liệu về công cụ này hầu như không tồn tại và tôi không thể tìm thấy bất cứ điều gì chỉ định phiên bản DOS mà chương trình sử dụng cho mục đích này. Có ai biết không?


1
Vì tò mò, tại sao bạn cần biết điều đó?
Ooker

4
@Ooker - Một sự pha trộn của sự tò mò và những lý do được đưa ra trong nhận xét của tôi về câu trả lời được chấp nhận. Tôi chủ yếu cần chắc chắn rằng đó chưa phải là DOS 6.22 và do đó tôi đã không lãng phí thời gian để tìm cách tạo USB có thể khởi động từ 6.22.
Hashim

2
Gần như mọi người khác không gặp phải xung đột giấy phép đều sử dụng FreeDOS cho các loại đĩa khởi động đó.
eckes

Câu trả lời:


197

Nhà phát triển Rufus ở đây.

Như được chỉ định chính xác bởi @ magicandre1981 , phiên bản MS-DOS do Rufus cung cấp là MS-DOS từ Windows Millenium Edition, "chưa được sao chép" để bật boot (Tôi không phát minh ra bản vá này, nhưng đã nhặt nó từ USB HP và khác công cụ).

Ngoài ra, và đây là phần quan trọng, Rufus KHÔNG nhúng các tệp MS-DOS trong ứng dụng, nhưng chọn chúng từ hệ thống Windows mà nó đang chạy, bởi vì, các nhị phân MS-DOS là độc quyền và có bản quyền của Microsoft, nó là bất hợp pháp cho bất cứ ai nhưng Microsoft để phân phối nhị phân MS-DOS, có thể là trong một file zip hoặc một ứng dụng (như là một vấn đề của thực tế, có vẻ như HP đã vào vấn đề pháp lý với Microsoft khi họ đã cố gắng để tạo ra một phiên bản của họ Tiện ích HPUSBFW nhúng các tệp Windows 98 MS-DOS và Microsoft nhanh chóng yêu cầu họ dừng việc đó).

Vì vậy, cho đến Windows 10, chúng tôi đã dựa vào thực tế là các tệp MS-DOS (từ Windows ME) được bao gồm trong DLL ( diskcopy.dll) mà Windows sử dụng để tạo các đĩa mềm có thể khởi động DOS (thực sự chứa một hình ảnh đĩa mềm có thể khởi động hoàn toàn) và chọn các tệp từ đó, mà chúng ta có thể làm một cách hợp pháp.

Tuy nhiên, với sự ra mắt của Windows 10, Microsoft đã bỏ khả năng tạo đĩa mềm có thể khởi động (vì không ai sử dụng Windows 10 sẽ khởi động từ đĩa mềm) và loại bỏ diskcopy.dll. Điều này có nghĩa là chúng tôi không có cách hợp pháp để tạo ổ đĩa flash USB có thể khởi động MS-DOS nữa và kết quả cuối cùng là:

  • Nếu bạn sử dụng Rufus trên Windows XP đến Windows 8.1: bạn có khả năng tạo USB có thể khởi động với FreeDOS hoặc MS-DOS (phiên bản WinME).
  • Nếu bạn sử dụng Rufus trên Windows 10 trở lên: bạn có khả năng tạo USB có thể khởi động chỉ với FreeDOS.

Trong thực tế, tôi chưa gặp phải một báo cáo hữu hình từ ai đó chỉ ra rằng FreeDOS không hoạt động khi MS-DOS làm, đó là lý do tại sao tôi không coi việc mất hỗ trợ MS-DOS trong Windows 10 là một mất mát lớn. Ngoài ra, trái ngược với việc sử dụng MS-DOS, là nguồn đóng và Microsoft đã ngừng hỗ trợ từ lâu, FreeDOS là Nguồn mở và được hỗ trợ tích cực, vì vậy bạn thường sử dụng FreeDOS tốt hơn nhiều.


4
Này anh bạn. Tôi đánh giá cao bạn cân nhắc, và cảm ơn cho một công cụ tuyệt vời. Bạn có phiền khi làm sáng tỏ ở đây không: superuser.com/questions/1228065/ cấp . Tôi dường như không thể yêu cầu Rufus cài đặt MS-DOS 6.22 từ ISO và từ những gì bạn đang nói, đây dường như không phải là vấn đề pháp lý. Tôi cần DOS 6.22 vì tôi không thể mạo hiểm khi sử dụng một giải pháp thay thế vì tiện ích tôi đang chạy là vô cùng thích hợp và có khả năng phá vỡ những thứ đắt tiền nếu không đúng 100%, vì vậy tôi thực sự đánh giá cao sự giúp đỡ của bạn ở đó.
Hashim

2
Tôi không thể sử dụng FreeDOS để flash BIOS trên máy tính xách tay của mình, nhưng tôi có thể sử dụng đĩa khởi động Windows 98. Điều đó nói rằng, tất cả những gì tôi phải làm là đi ra ngoài và tìm một hình ảnh đĩa khởi động trực tuyến. Nó không phải như thể gửi thông báo DMCA về nó.
trlkly

7
Sẽ là tốt khi đề cập rõ ràng rằng phiên bản DOS từ Windows ME này được đóng dấu là MS-DOS 8.0. Những người từ Windows 95a và 95OSR / 98 / 98SE lần lượt là MS-DOS 7.0 và 7.1. Một vài người sẽ đề cập đến MS-DOS 7.11, nhưng tôi không chắc chắn nếu có bất cứ thứ gì được thêm vào 7.1
underscore_d

3
MS-DOS 7.10 bổ sung hỗ trợ FAT32, @underscore_d. Đó là sự khác biệt lớn giữa 7.10 và 7.00. Ngoài ra, cũng lưu ý rằng không có thứ gọi là "DOS 7.1". Số phiên bản của MS luôn là X.YY. Các bản sao của DOS 7.1 lưu hành trên web là thứ mà một số cá nhân ghép lại, lấy một bản sao của phiên bản DOS được cung cấp với 95OSR2 / 98 / 98SE và hack Trình chỉnh sửa văn bản để báo cáo phiên bản 7.1. Và, tất nhiên, chỉ để hoàn thiện, DOS 8,00 là phiên bản được cung cấp với WinME đã loại bỏ hỗ trợ chế độ thực để DOS khởi động vào chế độ được bảo vệ, tích hợp HIMEM.
Cody Grey

2
Chính xác. Không có phân vùng khởi động FAT32 trước MS-DOS 7.10. Hoặc bất kỳ phân vùng FAT32, cho vấn đề đó! Bạn cũng sẽ không thể truy cập các đĩa cứng lớn, vì các phiên bản cũ hơn của DOS này không biết gì về LBA ( địa chỉ khối logic ) và chúng sử dụng các cuộc gọi ngắt ROM ROM cũ cho I / O đĩa, thay vì mới hơn " Phần mở rộng INT 13h ". Những câu đố khác: bạn cần MS-DOS 4,00 (chính thức, 3,3 không chính thức với một số hạn chế nhất định) để hỗ trợ FAT16 (trước đây, chỉ hỗ trợ FAT12). @Hashim
Cody Grey

36

Anh trích xuất phiên bản từ tệp 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)

Nhìn vào các bình luận khác trong dos.c đó là các tệp DOS từ WinME (DOS 8.0), anh ta thực hiện vá tương tự như hiển thị ở đây :

* HOL.COM và IO.SYS từ đĩacopy.dll là từ phiên bản bị tê liệt WinME  
* đã loại bỏ chế độ thực DOS => chúng phải được vá:  
* IO.SYS 000003AA 75 -> EB 
* THÔNG TIN 00006510 75 -> EB 

Haha, đánh bại nó 20 giây. +1 về công việc thám tử, nhìn vào mã nguồn thậm chí không xảy ra với tôi. Tôi đã xem trang Wikipedia ở chế độ thực, nhưng tôi vẫn chưa rõ. Trong điều kiện thực tế, chế độ thực sự làm gì, và bản vá này có khôi phục tất cả các chức năng của nó không?
Hashim

Chỉ với một số nền tảng thú vị, tôi cũng đã gặp một vấn đề trong đó / nhà phát triển nói về vấn đề này: github.com/pbatard/rufus/issues/545
Hashim

11
chế độ thực là chế độ trong x86 cpus với quyền truy cập phần mềm trực tiếp không giới hạn vào tất cả bộ nhớ địa chỉ, địa chỉ I / O và phần cứng ngoại vi. Chế độ thực không hỗ trợ bảo vệ bộ nhớ, đa nhiệm hoặc cấp đặc quyền mã. Nhưng điều này là cần thiết cho việc sử dụng DOS thực sự, nhưng gây ra vấn đề ổn định trong Win95 và Win98. Với việc loại bỏ này, WinME đã ổn định hơn
magicandre1981

ok, tôi vẫn sử dụng windows 8 trên máy tính xách tay chính của mình và ở đây tập tin vẫn được bao gồm. Vì vậy, tùy chọn này chỉ được cung cấp trên các phiên bản cũ hơn.
magicandre1981

2
Tất nhiên, chế độ thực cũng bị giới hạn ở bus địa chỉ 20 bit của 8086/8088, vì vậy bạn chỉ có thể giải quyết 1 MiB bộ nhớ. 80286 đã gỡ bỏ hạn chế đó bằng cách mở rộng lên bus địa chỉ 24 bit và thêm chế độ được bảo vệ, cho phép CPU giải quyết 16 MiB bộ nhớ (là một lượng RAM rất lớn vào năm 1982, nhiều hơn hầu hết các PC có bộ nhớ cố định ). Chế độ được bảo vệ Mã 285 không phải là tất cả phổ biến trong thực tế (Tôi đang nhìn vào bạn, OS / 2 và Xenix), và trong khi 80386 giới thiệu chế độ được bảo vệ 32 bit vào năm 1985, phải mất một thập kỷ nữa trước chế độ được bảo vệ 32 bit phần mềm trở nên hợp lý phổ biến trên PC.
một CVn

10

Tôi quyết định tự kiểm tra nó. Tôi đã tạo một USB có thể khởi động chạy MS-DOS bằng Rufus và sau đó khởi động vào nó trên máy tính xách tay của tôi. Khi ở trong MS-DOS, tôi đã chạy verlệnh để xác định phiên bản của nó, trả về Windows Millennium, hay còn gọi là Windows ME.

Tôi đoán rằng điều này có nghĩa là phiên bản MS-DOS được sử dụng bởi Rufus được lấy từ Windows ME, thay vì là một trong những phiên bản độc lập trước đó. Phiên bản tích hợp ME này khác với các phiên bản trước như thế nào tôi không hoàn toàn chắc chắn.


4
thấy tôi trả lời . Anh ta nhận được hình ảnh DOS từ tệp Windows
magicandre1981
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.