Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1010090
  • 博文数量: 177
  • 博客积分: 3629
  • 博客等级: 中校
  • 技术积分: 1839
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-23 21:21
文章分类

全部博文(177)

文章存档

2021年(1)

2020年(5)

2019年(4)

2018年(7)

2017年(1)

2016年(4)

2014年(1)

2013年(8)

2012年(10)

2011年(50)

2009年(12)

2008年(10)

2006年(56)

2005年(8)

分类: WINDOWS

2011-03-23 09:54:03


没有最好,只有更好。

今日实现一完美启动方案,对于多系统安装,多系统引导。

无论多大的硬盘,为了linux系统的引导,为了避开可能的BIOS限制(或许现在没有了?),把/boot单独作为一个分区放在最前面,或者是第二主分区上。自己放在了第二主分区。这个/boot分区可以存放grub或者grub2,同时保存下面grub4dos的主文件grldr、menu.lst、default

经验证明,windows7系统分区可以分成40G,自己使用了一年的win7最大在33G左右。根本没进行过任何优化。

多系统安装的教程世界上多的是就不写了。自己用grub2引导的,核心文件是/boot/grub/core.img ,这个文件可以被grub1启动grub2.

自己的操作是把grub写入bios,我的主板是技嘉的,award bios .

简单说下步骤:
1 把grub4dos里的grldr.mbr加入到bios文件中
2 把grub4dos中的grldr放在任一分区根目录下,强烈推荐/boot分区根目录下。因为grldr.mbr引导后会遍历分区根目录寻找此文件,找不到会重启。这是grub的主文件。
3 可以把grub4dos中的menu.lst(必须,除非你想每次都手动)和default(可选)也放在grldr所在分区根目录。
4 进入自己原来的grub2之方法:
grub>find --set-root /grub/core.img
    >kernel /grub/core.img root=/dev/sda?
    >boot

其实在步骤一中可以把OEM品牌的SLIC2.1也加入BIOS文件,用于激活windows.自己就是这么做的。

未来如果grub2的chainloader 能够支持更多的文件启动,可以替换这个grub4dos里的grldr.mbr,下面有方法。现在grub4dos更好用一些。况且启动grub2后又可以使用grub2的功能,完美啊。

把自己的具体操作写一下:

1 下载最新bios文件,命名: xxx.bin
2  awardtool152cn 加入dell slic2.1,生成 yyy.bin
3  生成目标文件 grub2.bin  :
makerom -m "boot from grub4dos" -s 0 -z rom_isa.bin grldr.mbr grub2.bin
4 把grub2.bin加入yyy.bin :
cbrom196cn.exe yyy.bin  /isa grub2.bin
5 把yyy.bin写入bios,用技嘉的@bios

--------------------------------搜集资料开始-----------------------------------------
使用makerom制作grub,grub4dos,grub2和grldr.mbr的启动bootrom
makerom是grub-mkrom的改进版本,使用它可以很容易地制作bootrom:

下载:


1. grub legacy/grub4dos
makrom rom_xxx.img stage2 grub.bin

2. grub2
makerom rom_xxx.img core.img grub2.bin

3. grldr.mbr
makerom -s 0 rom_xxx.img grldr.mbr grldr.bin

rom_xxx.img代表以下的其中一个映像:

rom_isa.img: isa rom
rom_pci.img: pci rom
rom_zisa.img:支持lzma压缩的isa rom
rom_zpci:支持lzma压缩的pci rom

当使用压缩时,需要加上-z参数,并且需要使用lzma兼容的rom,例如:

makerom -z rom_zisa.img stage2 grub.bin

另外,grubutil发布的版本里不包含lzma.exe,你可以到以下打包里找:


makerom还支持以下的参数:

-m message
启动时显示的信息

-t timeout
倒计时,缺省值2秒

-k key
热键,缺省值是SPACE

-d edx
启动前设置的edx值,缺省值是0

-s skip
在输入文件开头里跳过一定数量的字节,缺省值是512,这适合于stage2和core.img,但当输入文件grldr.mbr时,需要把该值设为0。

-z
使用lzma压缩输入文件

-p parm
在调用lzma时,使用的扩展参数。在缺省情况下,程序使用

lzma e -si -so

来运行lzma,如果使用需要其他选项,可以在这里进行设置。

-v
显示详细信息


参考下面加入自己的:
(源自:把微型DOS操作系统刷到主板bios里)
加入 freedos 到 BIOS 文件中 既然有了足够的空间,我们就可以将这个 freedos 加进 BIOS 中了。 运行 CBROM219.EXE I815_DOS.BIN /ISA romos.bin, 我们就会看到新添加进去的 freedos 模块了

参考下面查看bios是否有空余空间,或者删除不需要的模块:
2.清理 BIOS 垃圾,腾出 64KB 空间 将 I815_BAK.BIN 做一个副本让我们来对其编辑,比如命名为 I815_DOS.BIN。先运行 CBROM219.EXE I815_DOS.BIN /D。用来查看一下当前 BIOS 的空间占用情况,发现剩余空间已经只剩 56.12k。 由于老毛桃的 I815 主板集成了 i752 显卡,因此会看到一个 VGA 模块, 另外还有一个 VRS 模块,将这两个模块去掉后就可以腾出 64kb 的空间了。 依次运行 CBROM219.EXE I815_DOS.BIN /VGA Release 和CBROM219.EXE I815_DOS.BIN /VRS 就可以将这两个模块去掉了,我们再运行一次 CBROM219.EXE I815_DOS.BIN /D。此时我们会发现剩余空间已经增大到了 85.18kb。
--------------------------------搜集资料结束-----------------------------------------



阅读(4131) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~