|
我们启动系统通常是从 BIOS 那里来获取控制权,然后从相应的介质启动。 这里有一
个工具, Grub4Lin. 我猜测,有了这个工具,就能从一个 Linux 那里启动到其他系统。
到底可不可能呢? 我也不知道。 但是,如果这个可行的话,那么,我们搞的什么什么
虚拟启动,将可以基于 Linux。 这个进步,将是伟大的。 呵呵。 ;) 那时,我们也许
可以很容易地从移动硬盘上启动,从 ISO 文件启动 WinPE. . .
Full Story: http://grub.linuxeden.com/wakka.php?wakka=%CA%D7%D2%B3
grub4lin 的文件格式其实是一个 linux 的内核,所以,凡是能用 linux 内核的场合,都可以改用 grub4lin 这个文件。
1。在 Linux 下启动 GRUB。举例:
kexec -l grub4lin
kexec -e
你必须首先把你的 Linux 内核打上 kexec 补丁,并且安装 kexec 命令。请在 http://www.google.com/ 搜索 kexec 以获得相关的信息。
2。从 LILO 中启动 GRUB。配置文件 lilo.conf 中的命令行举例:
image=/boot/grub4lin
label="grub4lin"
3。从任何一个 GRUB 版本中启动 GRUB4Linux。举例:
kernel (hd0,0)/grub4lin
boot
如果你有一个启动管理器在使用中,比如 LILO 和 GRUB,而你不想再安装另外一个启动管理器,这时,grub4lin 就管用了。它可以让你在现有的引导管理器中调用另外一个(其实可以是任意多个)功能不同的 GRUB 版本,比如有中文支持的,有磁盘仿真支持的,或者有网络启动支持的,等等。
grub4lin 的一个好处是,你不需要安装它,你只需要知道如何在你现有的引导管理器中如何调用它就行了。它的名字可以取成任意的,不一定要用 grub4lin 这个名字。例如 grub4lin-Chinese 或者 MyGRUB? 都可以。
grub4lin 的制作非常简单:编译 grub for dos 0.2.0pre13 生成一个叫做 grub4linstart 的文件,你自己的 GRUB 版本中有个 pre_stage2 文件,于是用
cat grub4linstart pre_stage2 > MyGrub4Lin?
命令将 grub4linstart 和 pre_stage2 连接起来,所生成的 MyGrub4Lin? 文件就是你自己的一个 grub4lin 版本了。你没有发现 pre_stage2 文件?噢,没关系,你有 stage2 文件也行。把 stage2 文件开头的一个扇区(也就是 512 字节)去掉,就变成 pre_stage2 了。
补充说明:你可能无法用 loadlin 来装入 grub4lin。这是因为 DOS 破坏了 BIOS 中断向量表,而 loadlin 在启动我们的 grub4lin 之前并未正确恢复这些中断向量,因此,当我们的 grub4lin 获得控制之后,仍然找不到正确的 ROM BIOS 中断向量,这通常引起死机。 |
|