Your idea is equivalent to: GNU GRUB's MBR (Stage 1) + an ever expanding
Stage 1.5 for all popular partition types = Stage 1+ all-purpose Stage 1.5
put into the first sectors (within 63 sectors limit) of any bootable hard disk.
Is it?
是的.
I think it should be able to load up GRLDR independently without relying on
,let's say, NT boot sector or other boot sectors. To boot up these boot sectors
should be the responsibility or task of GRLDR.
这个问题, 就看怎么理解了. 其实在使用时完全没有问题的. 对于 FAT12/16/32 这类, 我们完全使用自己的代码来启动 GRLDR, 而对于 NTFS 里面的 GRLDR, 我们借用 NT 的 bootsector 中的程序来引导 GRLDR. 我们仅仅是不想编写 NTFS 的 boot sector 才利用 NTFS 分区已经存在的 boot sector 的. (编写这样的 bootsector 程序, 将是一件比较困难的事情). 当 GRLDR 被引导起来之后, 它当然可以启动 NTFS 的 bootsector 了, 此时使用 chainloader 命令, 启动的将是通常的 NTLDR.
不要混淆了这样两件事情: BOOTGRUB 和 GRLDR:
BOOTGRUB 的目的仅仅是找到 GRLDR 并把控制交给 GRLDR. 因此, BOOTGRUB 用什么手段找到 GRLDR, 都无关紧要. 当 GRLDR 接管控制之后, GRLDR 不知道自己是处在哪个分区, 也不知道它自己是怎么引导起来的. 它只是被 BOOTGRUB 放在了内存中, 它不知道它自己在磁盘上的确切位置. GRLDR 只管运行自己的代码, 别的都不管. 因此, 它完全像通常的 GRUB 一样, 可以使用 chainloader 命令来引导任意的操作系统, 当然也可以用任意的 map 命令来仿真磁盘.
BOOTGRUB 和 GRLDR 的分工是很明确的. BOOTGRUB 只管找人, GRLDR 只管干活. 它们谁都不会重复去做对方也做的那些事情. 找人的人, 完全不知道被找的人能干什么和要干什么. 被找到的人完全胜任自己的工作, 但它不会知道它自己是怎么被找到的, 不知道是谁从哪里用什么方法把它找到的. 它就像是被人用囚车送来工场干活的一样.
So GRLDR could then boot up any OS relying on their own boot sector residing on
their own partition or boot up bootable disk-image files using virtualization commands.
当然是的. 现在的 BOOTGRUB 和 GRLDR , 从某种意义上说, 已经(部分地)达到了这个目标. 它的限制是: GRLDR 需要处于一个含有 NT BOOT SECTOR 的主分区上.
因为我们亲手创建,这个世界更加美丽。