在 DOS 環境下,教學機房常因學員誤操作導致軟件與數據損壞。本文提出一種基於硬盤分區表特性的創新方案:在單一物理硬盤上建立多個 Primary DOS 分區,按教學需求切換激活分區,非激活分區自動隱藏,從而實現數據隔離與保護。
DOS 透過主引導記錄(MBR)中的 64 字節分區表(4 個 16 字節表項)管理硬盤。表項關鍵字段包括:
關鍵洞見:MBR 預留 4 個表項,標準僅用前兩項(主分區+擴展分區),後兩項閒置。擴展分區表項實際包含所有邏輯分區資訊,這為「將邏輯分區提升為主分區」提供了結構可能。
利用 MBR 中 0DBH–1BDH 的 228 字節零區(最後 64 字節)備份分區表項。切換時僅保留目標主分區表項,其餘非擴展類型表項清零,即可隱藏對應分區。恢復只需將備份寫回對應表項。
程式透過 BIOS 中斷 biosdisk() 直接讀寫 0 磁道 0 磁頭 1 扇區(MBR),實現四大功能:
關鍵結構體 PartitionTable 精確映射 16 字節表項布局,note 結構對應完整 MBR 扇區佈局。
依次建立 300MB/400MB/500MB 三主分區,最終盤符對應:C:500MB、D:300MB、E:400MB。注意:PDOS.EXE 必須拷貝至每個主分區根目錄,以便在任一環境下執行切換;操作具風險,請嚴格核對輸入參數,建議先備份重要數據。