看了几天这个帖子, 实在是不知所云. 其实无论是何种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.