![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 06:07 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » windows 2000/xp/2003/vista的启动项中安装/卸载grub4dos的脚本 |
| 可打印版本 3,514 / 12 |
| 第1楼 lianjiang2004 | 发表于 2008-02-20 09:49 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
windows 2000/xp/2003/vista的启动项中安装/卸载grub4dos的脚本 windows 2000/xp/2003/vista的启动项中安装/卸载grub4dos的脚本
说明: 1,以下安装/卸载脚本,简化自本人的“GGhost一键恢复2008”。 2,支持windows 2000/xp/2003/vista。支持任意语种的系统。 3,启动项中显示名称为“Start Grub4DOS”,延时3秒,请自行修改。 4,去掉了所有文件的复制,请自行复制grldr.mbr和grldr及其它所需文件。 5, windows 2000/xp/2003下使用了第三方工具inifile.exe。(要求放到d:\ggho下) (需要的可从网盘下载:http://lianjiang2004.ys168.com/) 本人不善长批处理,所示脚本,仅供参考。 http://gghost.uu1001.com/ ============================= @Echo Off if not %os%.==Windows_NT. goto not_nt cls mode con: cols=76 lines=26 Set TT=安装程序 by lianjiang COLOR f9 TITLE %TT% set gname=Start Grub4DOS set gname2=\grldr.mbr set winver= set ggpath6= set ggpath0=d:\ggho set vid= set timeout=3 ver|find /i " 5.1">nul &&set winver=winnt&&goto sub_001 ver|find /i " 6.0">nul &&set winver=vista&&goto sub_003 ver|find /i " 5.0">nul &&set winver=winnt&&goto sub_001 ver|find /i " 5.2">nul &&set winver=winnt&&goto sub_001 :not_nt cls echo. echo 很抱歉,本软件不能使用于非Windows 2k/xp/2k3/vista环境。 PING/n 5 127.1>NUL Goto Exit :sub_001 set ggpath6= for %%B in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do ( if exist %%B\boot.ini set ggpath6=%%B&&goto inst ) goto inst :sub_003 set ggpath6=%systemdrive% :inst if not %winver%#==winnt# goto vista_1 :winnt_1 attrib %ggpath6%\boot.ini -r -h -s >nul if not exist %ggpath6%\g_boot.ini Copy %ggpath6%\boot.ini %ggpath6%\g_boot.ini /y >nul %ggpath0%\inifile %ggpath6%\boot.ini timeout=%timeout% >nul %ggpath0%\inifile %ggpath6%\boot.ini %ggpath6%%gname2%="%gname%" >nul attrib %ggpath6%\boot.ini +r +h +s >nul attrib %ggpath6%\g_boot.ini +r +h +s >nul goto exit :vista_1 if not exist %ggpath0%\nul md %ggpath0% >nul bcdedit >%ggpath0%\temp_bcd.txt type %ggpath0%\temp_bcd.txt | find "%gname%" >nul && goto vista_bcd bcdedit /export "%ggpath0%\Bcd_Backup" >nul bcdedit /create /d "%gname%" /application bootsector >%ggpath0%\vid.ini for,/f,"tokens=2 delims={",%%i,In (%ggpath0%\vid.ini) Do ( set vida=%%i ) for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do ( set vid={%%i} ) echo %vid%>%ggpath0%\vid.ini bcdedit /set %vid% device partition=%ggpath6% >nul bcdedit /set %vid% path %gname2% >nul bcdedit /displayorder %vid% /addlast >nul :vista_bcd bcdedit /timeout %timeout% >nul :exit cls echo. echo 安装完成。 echo. echo 请自行复制grldr.mbr和grldr到%ggpath6% Echo. PING/n 3 127.1>NUL ============================= @Echo Off if not %os%.==Windows_NT. goto not_nt cls mode con: cols=76 lines=26 Set TT=卸载程序 by lianjiang COLOR f9 TITLE %TT% set winver= set ggpath6= set ggpath0=d:\ggho set vid= set timeout=3 ver|find /i " 5.1">nul &&set winver=winnt&&goto sub_001 ver|find /i " 6.0">nul &&set winver=vista&&goto sub_003 ver|find /i " 5.0">nul &&set winver=winnt&&goto sub_001 ver|find /i " 5.2">nul &&set winver=winnt&&goto sub_001 :not_nt cls echo. echo 很抱歉,本软件不能使用于非Windows 2k/xp/2k3/vista环境。 PING/n 5 127.1>NUL Goto Exit :sub_001 set ggpath6= for %%B in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do ( if exist %%B\boot.ini set ggpath6=%%B&&goto uninst_01 ) goto uninst_01 :sub_003 set ggpath6=%systemdrive% :uninst_01 if not %winver%#==winnt# goto uninst_4 for,/f,"tokens=1",%%i,In (%ggpath0%\vid.ini) Do ( set vid=%%i ) bcdedit /delete %vid% /cleanup >nul bcdedit /timeout %timeout% >nul goto uninst_4a :uninst_4 attrib -h -r -s %ggpath6%\boot.ini >nul if exist %ggpath6%\boot.ggh attrib -h -r -s %ggpath6%\boot.ggh >nul&&del %ggpath6%\boot.ggh >nul ren %ggpath6%\boot.ini boot.ggh >nul findstr /b /i /v /c:"%ggpath6%\grldr" %ggpath6%\boot.ggh>%ggpath6%\boot.ini bootcfg /timeout %timeout% >nul attrib +h +r +s %ggpath6%\boot.ini >nul del %ggpath6%\boot.ggh >nul if exist %ggpath6%\g_boot.ini attrib %ggpath6%\g_boot.ini -r -h -s >nul&&del %ggpath6%\g_boot.ini >nul :uninst_4a cls echo. echo 卸载完成。 Echo. PING/n 3 127.1>NUL |
|
| 第2楼 barton | 发表于 2008-02-20 12:38 |
| 中级用户 发帖 197 积分 480 来自 黄冈 | |
|
支持一下
看到批处理里的if for就头晕 o(∩_∩)o... |
|
| 第3楼 newswan | 发表于 2008-02-22 21:38 |
| 初级用户 发帖 29 积分 70 | |
|
支持,慢慢看下。。。
|
|
| 第4楼 lianjiang2004 | 发表于 2008-02-23 10:44 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
支持的人也太少了点,呵呵。
|
|
| 第5楼 WLDNA | 发表于 2008-02-23 17:46 |
| 新手上路 发帖 5 积分 10 | |
Originally posted by lianjiang2004 at 2008-2-23 10:44 AM: o(∩_∩)o... 技术嘛,肯定不是那么好懂的,自然就少了点啊,呵呵 辛苦了,偶虽然菜,但是也要把他啃下来 呵呵 |
|
| 第6楼 hnfeng | 发表于 2008-02-25 17:38 |
| 初级用户 发帖 36 积分 89 | |
|
INIFILE 使用的好!!!
(之前发现DOS71安装软盘中有这个工具,从来没留意过它,原来它功能不小呢。谢谢楼主!) 本来我想做一个通用于 DOS、WIN98、NT、ME、2000、XP、2003、Vista 的添加 GRUB4DOS 菜单的批处理,看来 由楼主来完成是最好的了。 看的眼花........ 楼主的程序中好像有一小bug: if not %os%.==Windows_NT. goto not_nt :not_nt cls echo. echo 很抱歉,本软件不能使用于非Windows 2k/xp/2k3/vista环境。 PING/n 5 127.1>NUL Goto Exit :exit cls echo. echo 安装完成。 echo. echo 请自行复制grldr.mbr和grldr到%ggpath6% Echo. PING/n 3 127.1>NUL 这样以来,即使判断出系统不符合要求,仍然会显示“安装成功。。。”的字样。 另外好像还有一个小问题: 没有判断电脑中最高操作系统(我迟迟没做成功就因为这个原因)并做相应处理。 例如:电脑中安装有 XP 和 Vista,运行上述程序时,如果用户是在 XP 中,程序会继续并把GRUB4DOS菜单安装在 boot.ini 中,而不是 Vista 的启动菜单中。这样也许会有点点不妥。 (期待楼主能做个通用的……) |
|
| 第7楼 lianjiang2004 | 发表于 2008-02-25 18:08 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
1,关于判断非nt系统的提示问题,这里确实是个bug,写时没注意,谢谢指正。
2,我的处理方法应该没有什么问题。判断当前系统,并进行安装是合理的。 3,至于支持dos,98,me等,个人以为,基本没有什么意义。 |
|
| 第8楼 hnfeng | 发表于 2008-02-27 15:22 |
| 初级用户 发帖 36 积分 89 | |
当电脑中最高系统是 VISTA, 但是在 XP 中向 BOOT.INI 添加 GRUB4DOS 菜单后,这个菜单会同时出现在 VISTA 和 XP(BOOT.INI) 的菜单中,我个人感觉这样不爽,或者说不完美。
确实如你所说,我也觉得没什么意义。 |
|
| 第9楼 lianjiang2004 | 发表于 2008-02-27 16:12 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
这种装法的双系统,假如对出现两个选项感觉不舒服的话,vista下可不必安装。
|
|
| 第10楼 429499381 | 发表于 2008-02-27 18:09 |
| 中级用户 发帖 202 积分 452 | |
|
我没装一键恢复2008,运行后发现一个小问题, 如下
[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 C:\mxldr=MaxDOS v5.8s C:\MAOTAO\MAOTAO.BIN="WinPE By: 老毛桃" c:\grldr= grub 4d c:\CGDos=Auto Ghost 1. 你会发现 c:\grldr= grub 4d 差几个字, 不知道是不是个别现象, ![]() |
|
| 第11楼 lianjiang2004 | 发表于 2008-02-27 18:23 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
第一次看到出现这种情况的报告。似乎没有理由出现,呵呵。
不妨在cmd下手动输入添加grldr的那句看看。 看来你是自己修改过了的,不知修改了哪些地方。 |
|
| 第12楼 yaoxin1588 | 发表于 2008-03-08 19:25 |
| 初级用户 发帖 23 积分 48 | |
|
grldr同破解VISTA文件同名。
|
|
| 第13楼 lianjiang2004 | 发表于 2008-03-08 19:41 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
这不是grub的问题,而是破解者随意使用文件文件名的问题。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |