2012-01-17 40 views
0

我有一個DOS & win7啓動過程的問題。win7啓動之前的dos啓動

是否有可能在DOS啓動前執行一些dos-app而不重新啓動? 我的意思是啓動過程像win95或win3.1。

我會解釋更多細節。

  1. dos啓動 - >
  2. 執行一些DOS的應用程序 - >
  3. 清理存儲器 - >
  4. 負載win7的體積引導記錄到存儲器7c00 - >
  5. win7的引導而不重啓

這可能嗎?

回答

2

你所描述的場景基本上是一個熱重啓,中斷0x19的行爲幾乎如此,除了它總是加載主引導記錄(使用分區表)。 Win3.1或Win95是從DOS啓動的正常可執行文件,而不是它們的啓動記錄。 Win7在啓動時沒有任何DOS階段。

但是,我認爲這是可能的,但並不容易。這幾個選項:

  1. 最簡單的解決辦法是,如果你能找到一個合適的引導管理器軟件,它可以爲你做這個。看看GRUBGRUB4DOSthis的問題。

  2. 如果它足夠了(您要運行的DOS程序並不嚴格要求16位DOS環境),但我不確定,但是也許你可以調整Win7的boot.ini在安全模式下使用命令行啓動,從那裏開始然後重新啓動。

  3. 在最糟糕的情況下,您必須手動編寫一個小型DOS程序,將Win7引導扇區讀取到地址0000:7C00並執行它。爲此,您現在必須確切地將Win7引導扇區放置在磁盤中。請注意,在支持它的硬件上,Win7將更喜歡EFI引導方法,而不是以前的基於MBR的方法。你必須檢查你的Win7安裝使用什麼方法。可能還有其他的困難,比如如何選擇活動分區或者DOS分區必須駐留在磁盤的開始位置,依此類推。

+0

謝謝。我檢查了win7啓動過程,但win7沒有boot.ini文件。所以我嘗試調整win7的BCD(引導配置數據)和bootmgr,但這還不夠。我會嘗試grub/grub4dos。感謝您的回答。 – Ruony 2012-01-17 10:17:10