FreeDOS

FreeDOS（曾叫做Free-DOS和PD-DOS）是一個在IBM PC兼容機下運行的作業系統。FreeDOS由許多不同的獨立程序組成，這些程序就是整個FreeDOS項目中的「包」。

它主要通過內核來提供磁碟訪問和文件系統，以及部分記憶體管理，但是沒有默認的GUI（儘管FreeDos 0.9及以上版本推薦使用OpenGEM）。

FreeDOS支持老式和新式IBM PC，以及嵌入式系統。像MS-DOS一樣，它可以從軟碟、硬碟以及ROM啟動。與MS-DOS不同的是，它支持從CD-ROM安裝，並且人們可以自由地創建屬於自己的定製發行版，而不用為再發行支付使用費。FreeDOS是自由且開源的，遵守GNU（GPL）。但是在其"util"部分中，FreeDOS也包含專有軟體，例如4DOS。

## 歷史

FreeDOS專案開始於1994年6月26日，當微軟宣佈不會發售和支援MS-DOS。Jim Hall隨後宣布了要開發一個開源替代品的宣言。幾個星期內，其他的程式設計師包括Pat Villani和Tim Norman加入了這個項目。一個內核，command.com命令行解釋程序（shell）和核心實用工具通過共享自己編的源碼而被創造出來。1.0版於2006年9月23日釋出。

在FreeDOS 1.0最終發布之前，有過一些官方的預發布版:

版本｜狀態｜代號｜日期

0.05｜ALPHA｜沒有｜1998年1月12日

0.1｜BETA｜Orlando｜1998年3月25日

0.3｜BETA｜Ventura｜1999年4月21日

0.4｜BETA｜Lemur｜2000年4月9日

0.5｜BETA｜Lara｜2000年8月10日

0.6｜BETA｜Midnite｜2001年3月18日

0.7｜BETA｜Spears｜2001年9月7日

0.8｜BETA｜Nikita｜2002年4月7日

0.9rc1｜BETA｜Methusalem｜2003年7月

0.9rc2｜BETA｜沒有｜2003年8月23日

0.9rc3｜BETA｜沒有｜2003年9月27日

0.9rc4｜BETA｜沒有｜2004年2月5日

0.9rc5｜BETA｜沒有｜2004年3月20日

0.9｜BETA｜沒有｜2004年9月28日

0.9sr1｜BETA｜沒有｜2004年9月30日

0.9sr2｜BETA｜沒有｜2005年11月30日

1.0｜FINAL｜沒有｜2006年9月3日

1.1｜FINAL｜沒有｜2012年1月2日

1.2｜FINAL｜沒有｜2016年12月26日

1.3｜FINAL｜沒有｜2022年2月20日

1.4｜FINAL｜沒有｜2025年4月5日

## 發行

FreeDOS不要求任何費用和版稅。FreeDOS 1.0提供CD-ROM鏡像下載：一個只含有內核和基礎程序的基本光碟和一個擁有更多程序（例如遊戲、網路和開發）並可作為Live CD使用的完整光碟。另外，還存在一個可以製作Live CD的軟碟鏡像。這兩個版本都提供了原始碼。可以使用BitTorrent下載得到。

現在還有一個官方的Live USB版本。

一些電腦品牌可讓客戶選擇預載FreeDOS的電腦，通常供貨給已購買大量授權Windows的企業使用者，或是需安裝其他作業系統的使用者。戴爾有預裝FreeDOS的n-series，但是這些產品和運行Windows的同一型號機器相比並沒有多便宜，而且又很難買到，戴爾公司因此受到了批評。另外，戴爾還時常提供FreeDOS電腦一些像雙核心一類FreeDOS不能利用的特性。惠普把FreeDOS作為DC5750台式機的一個可選配置。GRC的SpinRite 6引導鏡像裝載FreeDOS，並顯示在底部的啟動畫面。華碩利用FreeDOS讓它們的使用者引導主板驅動CD來創建SATA設備驅動光碟給Windows XP SP2以前的Windows版本。

## 與MS-DOS的關係

FreeDOS大部分兼容MS-DOS，並允許一些早期版本的Windows像在MS-DOS上一樣運行。

FreeDOS跟MS-DOS相比有一些改進，大部分改進支持了在微軟停止支持MS-DOS時不存在的新標準和技術，例如國際化，高級能源管理，記憶體常駐程序並且綜合了ASPI。另外還支持邏輯塊尋址和FAT32文件系統（包括從FAT32引導）。儘管由6.22版以前的MS-DOS不能支持這些功能，但是MS-DOS 7.10等的版本有了部分支持。

## 兼容性

### 綜合

大部分為DOS 家族所寫的程序可以在FreeDOS上有效運行。大部分類型的可執行文件已經被支持：

- .COM可執行文件
- 標準.EXE16位DOS可執行文件
- Borland的16位DPMI可執行文件
- 使用DOS 擴展器的32位DPMI可執行文件，例如：
- DOS/32A
- Causeway
- DOS/4GW
- GO32/CWSDPMI
- 還有更多

進一步的，由於HX DOS 擴展器的使用，許多Win32終端程序也能在FreeDOS上運行。

#### Windows 1.0至3.xx

FreeDOS能夠兼容1.0和2.0版本的Microsoft Windows。然而，已支持i386處理器的3.x版本的Windows，卻不能在 386增強模式中運行。其中，Windows 3.0 可以在實模式或者標準模式中運行，而其他的Windows 3.x版本只能在標準模式中運行。因為Windows for Workgroups 3.11捨棄了標準模式的支持，它不能在FreeDOS中運行，除非FreeDOS中涉及himem.exe和emm386.exe的部分被替換為Windows下的himem.sys和emm386.exe。雖然Windows for Workgroups 3.11支持一個可以在FreeDOS下運行的調試模式，但是這個模式會比在標準模式下運行的先前版本還要有限的多。

#### Windows 9x和Windows Millennium Edition

Windows 95，98和Me把一個僅剩下內核的MS-DOS作為Boot Loader。FreeDOS不能作為這個裝載器的替身；然而，它可以被安裝並通過一個引導管理器程序在這些系統之間使用，例如FreeDOS中包含的"METAKERN"。

#### Windows NT/2000/XP/2003和ReactOS

基於Windows NT的作業系統，包括Windows 2000，XP，和2003都沒有把MS-DOS當作系統的核心成分。這些系統可以使用FAT，一個MS-DOS和早期版本的Windows所使用的文件系統；但是，他們一般默認使用NTFS（NT 文件系統）。FreeDOS不能和這些系統在一個單獨的NTFS或FAT文件系統裡和平共處，但是FreeDOS內核還是可以被添加到Windows NT Boot Loader配置文件，boot.ini，或React OS中的freeldr.ini來引導它啟動。

FreeDOS也可以在虛擬化軟體Virtual PC和VirtualBox或Bochs和QEMU一類模擬器軟體中運行。

## FreeDOS-32

FreeDOS-32是一個有不同目標且單獨的項目。FreeDOS要再造一個MS-DOS，因此不僅僅有它的特點也有它的局限性。FreeDOS-32希望在其基礎上有所擴展和改進。FreeDOS-32可以在FreeDOS和其他DOS 家族之上運行。它被計劃成為一個32位系統，與16位系統相比，能提供更強的性能與更多的功能。另外，這個以32位運行的作業系統移除了DOS 擴展器的需要，從真實模式轉換到了保護模式，還且擁有了對保護模式程序的支持。

## 技術細節

FreeDOS完整的支持FAT32，並可以從FAT32上啟動。根據BIOS的情況，容量達到128G的LBA硬碟，甚至2TB的容量都可能被支持。使用超大容量的硬碟需要小心，因為這到現在只經過非常少的測試，並且一些BIOS雖支持LBA但會在容量超過32GB硬碟上產生錯誤。一些OnTrack或者是EzDrive 的驅動解決了這些問題。FreeDOS可以同一種叫DOSLFN的驅動使用，它支持長文件名（參見VFAT），但是大部分早期程序就算裝載了這個驅動也不能使用長文件名。

FreeDOS沒有支持NTFS或ext2的計劃，但是有一些外部第三方驅動能達到使用這些文件系統的目的。為了接受ext2文件系統，LTOOLS（與MTOOLS相當）可以在ext2文件系統上讀取和寫入數據。NTFSDOS和NTFS4DOS一類產品則提供了對NTFS的支持。

目前FreeDOS項目內還沒有USB驅動，但是許多新主板BIOS有「Legacy USB」設置，它可以允許USB設備在缺少USB支持的系統（如FreeDOS）上使用。這一般運用在滑鼠和鍵盤上，但一些BIOS甚至可以讓它支持存儲設備。一些提供給存儲設備的外部USB驅動（例如DUSE，USBASPI和USBMASS）在一番努力和運氣成分之下也能工作。一個更好的運行DOS程序並能同時使用USB設備的選擇會是DOSBox，它會從宿主系統中認出USB設備並把它們扮演成「傳統埠」設備（例如帶有遊戲埠的搖杆，並行埠的印表機，而快閃記憶體盤則會當作DOS下的硬碟）。

## FreeDOS與Windows XP雙啟動

第一種方法是格式化磁碟分區為FAT32，先安裝FreeDOS到第一分區，再安裝Windows XP到第二分區，開機時就可以看到雙啟動菜單。

第二種方法就是使用gag4.11.zip，或者是freedos自帶的XOSL 1.1.5.zip或者是grub，可以很好的解決。

### 可開機軟碟

FreeDOS可以從單一軟碟安裝。

### 記憶體管理

FreeDOS中的HIMEM和EMM386記憶體管理程序為實模式提供了延伸記憶體（XMS）和擴展記憶體（EMS）。

EMM386還支持VCPI，它使得DPMI內核與DOS擴展器同FreeDOS和平共處。FreeDOS還包括用於高速硬碟的UDMA驅動，這個驅動能和其他DOS兼容。LBAcache在XMS中留有最近存取的磁碟數據，使之得到更快的存儲速度並能較少的直接讀寫磁碟，其功能類似MS-DOS中的SMARTDRV。

FreeDOS外殼——FreeDOS版COMMAND.COM，又稱FreeCOM——可以把自身一部分移動到擴展記憶體，將多至620KB的常規記憶體釋放出來。這對於只利用常規記憶體的DOS程序來說非常有用處。

FreeDOS並沒有100%的兼容度，但足夠運行大部分程序。高質量且使用標準API的程序運行良好。而運行Windows 9x的問題則是源於微軟設法阻止他們的產品在非微軟DOS執行。

## 截圖

<image>

在Infobox中可查看更多截圖。

## GUI

### OpenGEM

唯一被FreeDOS所支持的OpenGEM是一個為了支持DOS環境而正在積極開發的圖形界面。如果你正在使用Blair's FreeDOS磁碟或者是GNU/DOS的話，你就已經擁有了OpenGEM的最新版本。

要啟動這個圖形界面，你只需要切換到c:\並輸入gem就可以了。

### SEAL

SEAL是DOS上的一個32位的圖形界面

## 外部連結

- FreeDOS Homepage (official)
- FreeDOS Homepage (SourceForge)
- FD-DOC FreeDOS Documentation Project
- Official Download - FreeDOS 1.0
- Summary of FreeDOS Commands
- Virtual Machine in Java with FreeDOS
- How to Create a BootableFreeDOS Floppy Disk
- FreeDOS on a USB Flash Drive
- Install FreeDOS without any removable media。
- Virtual Machine for Microsoft Virtual PC 2007 with FreeDOS 1.0 O.S.
- FreeDOS-32 FreeDOS-32 Homepage(SourceForge)

## 基本資料

- 開發者：Jim Hall與FreeDOS團隊
- 內核類別：整塊性核心
- 支援平台：x86
- 默認使用者界面：DOS 命令行界面
- 作業系統家族：DOS
- 源碼模式：自由軟體/開放原始碼
- 發行日期：1998年1月12日
- 語言：英語
- 運作狀態：進行中
- 許可證：GNU通用公共許可證