- 专业度
- 8659
- 元宝
- 994675
- 金钱
- 2035
- 最后登录
- 2024-5-13
- 注册时间
- 2011-7-5
- 精华
- 3
- 积分
- 1014324
- 阅读权限
- 200
- 帖子
- 281
  
TA的每日心情 | 慵懒 2013-7-7 17:56:22 |
---|
签到天数: 5 天 [LV.2]偶尔看看I - 金钱
- 2035
- 元宝
- 994675
- 专业度
- 8659
|
最先接触到用grub引导系统时应该说是linux升级后改menu.lst来启用新的内核。当时也只是对grub有很少的了解,更准确的称呼应该是叫GNU GRUB,并不是这里介绍的grub4dos。最近帮朋友弄电脑时接触到windows的系统引导工具ntldr丢失的问题,当时没有解决,所以重装了系统,浪费了我一下午的时间在网络上找驱动(特别是ATI显卡驱动,试了好多个)。后来就对系统引导做了一点点学习。
grub4dos是国人开发的,论坛上戏称“不点大师”,而GNU GRUB是GNU的一个子项目,都是用于引导多系统启动。GNU GRUB是安装在MBR(或PBR)中,分为stage1,stage1_5,stage2等阶段,所以安装好了GNU/linux后重装windows只要修复MBR就可以恢复grub引导多系统了。
grub4dos较之则更为强大,当然也可以将其写入MBR或PBR,可以在DOS下运行grub.exe,也可以用其它引导程序加载。它可以引导存在于软盘,光盘,硬盘上的系统,以及软盘镜像IMG,光盘镜像ISO,硬盘镜像DSK。
下面就说说我在U盘上使用grub4dos的经验。
1,首先下载DOS系统常用文件io.sys,msdos.sys,command.com,autoexec.bat等,可以下个DOS软盘镜像,用UltraISO提取上面这些文件到一个目录中备用,下载HP的一个格式化U盘工具,将它格式化成DOS可启动盘。格式化后,U盘就成为模拟硬盘。
注:不要用网络上流传的USBOOT,经我测试它很不稳定。
2,下载grub4dos,把它解压放在U盘\boot\grub下,
3,编辑\autoexec.bat,加入
PATH=c:\boot\grub;c:\
grub --config-file=boot\grub\menu.lst
注意不要改变上面这些文件的属性,不然DOS系统性会提示找不到这些文件。
4,编辑\boot\grub个的menu.lst,加入你想引导的系统
## Grub menu
timeout 10
default 0
# title CDROM
# cdrom --init
# map --hook
# chainloader (cd0)
# rootnoverify (cd0)
title USB MS-DOS 7.10
root (hd0,0)
kernel /boot/dos/memdisk.gz
initrd /boot/dos/mydos.img
boot
title USB Ubuntu 8.04 i386
root (hd0,0)
kernel /casper/vmlinuz boot=casper find_iso=ubuntu-8.04-desktop-i386.iso noapic
initrd /casper/initrd.gz
boot
# title HDD Ubuntu 8.04 x86_64 liveCD
# root (hd1,0)
# kernel /vmlinuz boot=casper find_iso=/ubuntu-8.04-desktop-amd64.iso noapic
# initrd /initrd.gz
# boot
title HDD Ubuntu 8.04 x86_64
root (hd1,7)
kernel /boot/vmlinuz-2.6.24-21-generic root=UUID=1002154f-3f6c-4524-982b-052fe4d06525 ro quiet
initrd /boot/initrd.img-2.6.24-21-generic
quiet
boot
title HDD Microsoft Windows XP Professional
map (hd1) (hd0)
root (hd1,0)
makeactive
chainloader +1
boot
title Shutdown
halt
title Reboot
reboot
上面是我的menu菜单,可见让它可以引导我USB上的DOS,ubuntu livecd和硬盘上的ubuntu,windows xp。让人恼火的是windows这个系统很霸道,一定要放在活动硬盘主分区上才能引导,所以这里多了map模拟语句,详细的语句介绍见下面的网页,我可是找了好久才找到。
当然也可以将它写入U盘MBR,但是写入后grldr会在所有硬盘的/,/boot/grub/等目录下找menu.lst文件,而我的硬盘C盘根目录下也有menu.lst,为免grldr找错,所以用DOS下引导方式。当然也可以修改grldr来改变默认的查找路径,像矮人DOS就是这样子的。
目前有一个问题没有解决,我在测试的时候想直接在DOS下编辑文件,所以把c:\windows\system32\edit.exe放在DOS里了,但装入运行时总是提示:
program too big to fit in memory.
但是不能够啊,我用mem查没有用的常规内存还有600K呢,一个edit.exe才不到60K。这是怎么回事呢?
关于grub4dos的详细手册,也有chm版下载。
http://diddy.boot-land.net/grub4dos/Grub4dos.htm
也可以看看sourceforge上的tutorial,总结得不错。
http://grub4dos.sourceforge.net/wiki/
下载 grub4dos 和其它工具
http://download.gna.org/grub4dos/
http://download.gna.org/grubutil/
|
|