我不宅,我只是不出門

Murmur of a technical dude

Windows on Mac

leave a comment »

完全符合自己預期的破解方式, 利用模擬的 BIOS 來載入 NT. 只是沒想到一點, 原來 Bochs 模擬器的 BIOS 和 VGA BIOS 就可以拿來改, 不需要自己寫模擬 real mode interrupts. Modern OS 都是 protected mode, 不論系統是 BIOS or EFI, OS 都是靠自己的 drivers 去驅動和使用硬體, 因此只要 OS kernel 和 drivers 能夠起來, BIOS 和 EFI 就都已經是過往雲煙. 除非是 windows 95/98/ME, 他的 dos box 還是真的 dos mode, 是利用 virtual 86 模式去跑, 故系統中還是會用到原本 real mode 的 bios interrupt services. 而 2000/XP/Vista 等等核心, console box 真的就是 console 而已, 不是 dos, 而 BIOS/EFI 大概只會在設定系統參數和作 boot loader 才使用吧. 另外比較奇怪的是 NT 開機的方式, 一定會在 C 的 primay partition 裝 NTLDR, 不論系統是裝在非 C 的其他空間, 還是會在 C 裝必要的東西, 而且還要透過傳統 MBR 的 bootloader 才能開機. 因此還得透過模擬 BIOS 去載入 MBR, MBR 去載入 NTLDR, NTLDR 才又從 real mode interrupt 去載入 kernel & drivers. 如果完全不用這個程序, 把 NTLDR 和相關 drivers (2000/XP 經由 Safe mode 可以看到 windows 載入哪些必要檔案後才進入啟動程序)直接就放在記憶體中開始執行, 應該就不用去模擬 BIOS, boot loader, 和 MBR 之後的 real mode 開機過程.

Written by jclin

2006/03/20 於 9:34 下午

張貼於talk

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: