看了幾天這個帖子, 實在是不知所雲. 其實無論是何種boot loader, 只要明白loader的一般過程和要求, 各種loader也就沒有什麼原則的區別了.
boot load一般過程, 這個本來就是老生常談的話題了.
1. 機器啟動, BIOS讀取硬盤的MBR, 並將控制權交與MBR, 這個是機器BIOS決定的, 對各種loader沒有區別.
2. MBR讀取某個(Active)分區的PBS(Partition Boot Sector), 將控制權交給PBS.
3. PBS 引導OS loader, 引導操作系統
這是傳統的, 最一般的過程,MS也是遵循這樣的過程, MS OS loader (NT loader)可以再引導其它的Windows系統.
按照這樣的過程, boot loader完全可以是很簡單的, 一般的的boot loader安裝在MBR, 但將主要的引導軟件放在硬盤的一個分區內, 之後在模仿上面的步驟2進行chain load就可以了. FreeBSD Boot manager, Solaris loader都是這麼處理的. 至於Grub 引導Linux, 往往是忽略了步驟2, 直接進入步驟3, 這就要求grub可以識別Linux 根文件系統的格式, 即可以直接讀取Linux根分區中的文件.
任何一個boot loader, 基本都可以使用chain loader引導其它的OS(Linux除外, 很多人並不安裝Linux loader: lilo, Grub 應該屬於第三方的軟件), 有的可以直接引導OS, 前提是可以讀取改OS的文件系統, 這是一般boot loader的區別. 其它界面的漂亮等等, 我不認為是原則的區別.
硬盤安裝多個OS一般也只有在PC上, 而且歷史也不是很長, 大家如果了解FreeBSD, Solaris的分區命令和它的來歷就很清楚了.
真的沒搞懂大家在爭什麼. 對了, 我用Linux只是因為自己需要一個OS而已, 又不想花錢, 如果Windows免費, 也未必一定用Linux.