Board logo

标题: 怎样使用批处理修改boot.ini文件,XP中 [打印本页]

作者: breathe     时间: 2006-5-12 09:49    标题: 怎样使用批处理修改boot.ini文件,XP中
最近参考矮人DOS以及其他的启动做了一个DOS启动,就是在XP的启动菜单增加一个选择,可以进入到DOS,发现也挺简单的,就是使用grub加载软盘镜像文件。这些工具做的都很不错,不过都过于复杂了,菜单也复杂,对于我等不算是菜鸟的都有些晕了,所以自己修改了一下,把菜单搞的简单的很。另外也不做成安装文件了,这样好处是用户可以随时使用自己的img文件。

做完了,需要修改boot.ini文件啊。手工修改对于一般人来说有难度,我想能不能使用批处理,执行一下,就能在boot.ini中增加启动项目,然后修改显示时间呢?有知道的朋友请指点。

另外,有没有现成的grub的背景图片,image.xpm,给提供几个啊,简单就好。自己总是找不到很好的图片。

作者: breathe     时间: 2006-5-13 11:41
我使用copy c:\boot.ini + addboot.ini /a /y
其中addboot.ini文件内容为
C:\grldr=启动到DOS

可以实现,不过最后总是有个黑框

C:\grldr=启动到DOS

是回车换行符号还是什么,怎么去掉呢?

作者: 不得不爱     时间: 2006-5-13 13:28
echo C:\grldr=启动到DOS >>c:\boot.ini
试试好不!

作者: Michael     时间: 2006-5-14 12:53
bootcfg

作者: xuantian     时间: 2006-5-14 13:09
命令行方式就是三楼说
也就是将dos的启动项 "C:\grldr=启动到DOS" 追加到boot.ini的最后一行.
不过有些BT,xp本来就可以启动dos,还用什么grub,纯属没事找事

作者: bc12060101     时间: 2006-5-14 21:19
嘿嘿,在boot.ini文件中追加一行的方法楼上的老兄们都介绍了,确实不错!
可我的问题是如何在boot.ini文件中减去一行,比如:
--------------------------------------
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\windows

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows="microsoft windows xp professional" /noexecute=optin /fastdetect /usepmtimer
c:\boot\dos2.bin="由虚拟启动软盘启动"
c:\=ms-dos
--------------------------------------------
去掉上述文件中的“c:\boot\dos2.bin="由虚拟启动软盘启动"”这一行。
谢谢!

作者: tigerpower     时间: 2006-5-14 21:30
grub的背景图片

http://schragehome.de/splash/index.html

这个东东其实可以自己做的:)

作者: breathe     时间: 2006-5-15 10:05
谢谢大伙儿,
tigerpower提供的网址非常好啊,我搜了半天都没有搜到的。主要是自己做麻烦,我也没有找到好的图形。

xuantian:您是说可以启动到控制台?我主要是实现一些DOS工具还有GHOST等。

Michael:bootcfg我看了命令的帮助,一头雾水,不知道怎么添加,不过使用bootcfg /timeout = 6更改缺省等待时间倒是很简单,呵呵,其他请指教啊。

qwe1234567:echo C:\grldr=启动到DOS >>c:\boot.ini非常有效啊,DOS命令真是博大精深。

再次谢谢大家。

作者: guyouhua     时间: 2006-5-25 08:17    标题: c:\boot\dos2.bin="由虚拟启动软盘启动"
我曾经用VFOPPLY这类的软件实现了从虚拟启动软盘启,但GHOST备份后,出了问题再GHOST回来,就发现="由虚拟启动软盘启动"根本用不了了,还是用GRLDR9。5的中文版好!!

作者: Climbing     时间: 2006-5-25 09:31
Originally posted by xuantian at 2006-5-14 13:09:
命令行方式就是三楼说
也就是将dos的启动项 "C:\grldr=启动到DOS" 追加到boot.ini的最后一行.
不过有些BT,xp本来就可以启动dos,还用什么grub,纯属没䠮..


此言差矣。听你这口气就知道你没有用过grub,姑且不论grub功能如何。我们用你的方法,假设xp在ntfs分区(极端一些,硬盘全部分区均为ntfs格式),请问你如何实现xp启动dos呢?


Re All:

bootcfg /query可以查到现有启动项目的id,例如:
H:\work\dos>bootcfg /query

启动加载程序设置
----------------
timeout:3
default:multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

启动项目
--------
启动项目 ID: 1
OS 的好记名称: Windows Server 2003, Enterprise
路径: multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
OS 加载选项: /fastdetect /NoExecute=OptOut

启动项目 ID: 2
OS 的好记名称: 启动GRUB
路径: c:\boot\grubsect.dat
OS 加载选项: N/A

启动项目 ID: 3
OS 的好记名称: Modboot - Corpnet
路径: c:\boot\vloader.bin
OS 加载选项: N/A

启动项目 ID: 4
OS 的好记名称: Windows 2000 Server
路径: multi(0)disk(0)rdisk(0)partition(1)\winnt
OS 加载选项: N/A

启动项目 ID: 5
OS 的好记名称: Avlgo - GHOST.zip
路径: C:\Avldr.bin
OS 加载选项: N/A

那么:
bootcfg /delete /id ID则可以删除对应的ID项,例如:
bootcfg /delte /id 5
就会删除上面例子中的Avlgo-GHOST.zip项!

但用bootcfg增加一个新的启动项是很困难的,因为它只有/copy参数,只能复制现有的,却无法修改路径。所以还是用echo ... >> boot.ini的方式来增加启动项比较方便。

作者: Climbing     时间: 2006-5-25 09:38
Originally posted by guyouhua at 2006-5-25 08:17:
我曾经用VFOPPLY这类的软件实现了从虚拟启动软盘启,但GHOST备份后,出了问题再GHOST回来,就发现="由虚拟启动软盘启动"根本用不了了,还是用 ...


VFloppy是根据磁盘映像的物理存储位置来定位启动映像文件的,ghost恢复之后,对应的磁盘映像文件已经被移动了位置,当然就无法启动了。而grub + memdisk(新版可以用map --mem)则是将映像文件通过访问文件系统将映像文件加载到内存再启动(只要grub支持的文件系统,无论如何移动文件的位置都不会影响启动),这也是grub比Vfloppy的重要优胜点之一。当然,grub还有很多其它优点,DOS联盟论坛是grub for dos的发祥地之一。可惜介绍有关知识的内容太少一些了。

请访问sysoft时空论坛的grub4dos专区了解更多信息。

作者: dnkx     时间: 2007-1-29 23:49    标题: 这是我自己做的虚拟DOS启动盘,处理BOOT.INI方法
@Echo off
bootcfg /timeout 5 > nul
attrib -r -h -s %homedrive%\boot.ini > nul
copy %homedrive%\boot.ini %homedrive%\bootbak.ini > nul
type %homedrive%\boot.ini | find "C:\GHLDR=虚拟DOS启动盘" > nul
if errorlevel 1 Echo C:\GHLDR=虚拟DOS启动盘 >> %homedrive%\boot.ini
attrib +r +h %homedrive%\boot.ini > nul

Last edited by dnkx on 2007-1-29 at 10:52 AM ]