CODE:====================== --=== windows 7 ===-- --=== grub ===-- @echo off cd /d %~dp0 del temp_bcd.txt >nul 2>nul COLOR f9 set timeout=5 set gname=GRUB 4 DOS set mbrname=grldr.mbr set pingtime=5 rem pingtime是程序操作完成后的自动退出等待时间,调节与否随意,gname是bcd启动菜单显示名称,根据喜好可自己设置,mbrname是mbr的名称,可以自己改名,timeout是bcd菜单等待选择时间,自己随便调 set vid= set destpart= Set TIT=在bootmgr系统启动项中安装与卸载(grub4dos)项目的批处理 TITLE %TIT% echo. echo 检测权限... bcdedit >temp_bcd.txt 2>nul type temp_bcd.txt | find "Windows Boot Manager" >nul && goto gaosir del temp_bcd.txt >nul 2>nul echo 请在VISTA/WIN7/2008系统中以管理员身份运行,任意键退出. pause>nul exit :gaosir echo 权限检测已通过 set inputv= echo. echo 请输入你要安装的文件全名,若不输入直接回车采用默认值%mbrname% echo 以下是扩展名为.mbr的文件列表,仅供参考 dir /a /b *.mbr echo. echo. set /p inputv=输入安装的文件名,直接回车采用%mbrname%,可用TAB键选择或快速补齐: if not "%inputv%"=="" set mbrname=%inputv% echo. echo. if not exist %mbrname% echo 请注意,当前目录下没有%mbrname%文件,但仍可以继续安装,安装完成时会提示您将%mbrname%文件手动复制到您即将选择的安装盘中&pause set gname2=\%mbrname% type temp_bcd.txt | find "%gname2%" >nul && goto un_bcd set defdest=%systemdrive% for %%i 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 %%i:\boot\bcd set defdest=%%i:&goto seldest :seldest set destpart=%defdest% COLOR f9 set inputv= echo. echo 请输入%mbrname%文件的安装盘符,直接回车采用%destpart%盘根目录 echo 输入盘符时不用输入冒号,如D盘输入D或d即可 echo. set /p inputv=输入盘符(不带冒号),直接回车默认%destpart%盘: if not "%inputv%"=="" set destpart=%inputv%: if not exist "%destpart%\" goto patherr md %destpart%\v7ts6qk9 if not exist "%destpart%\v7ts6qk9" goto writerr rd "%destpart%\v7ts6qk9" goto bcd_1 :patherr color 0c cls echo 指定盘符%destpart%无效, 按任意键重新指定!!! pause goto seldest :writerr color 0c cls echo. echo 指定盘不可写入, 可能为光驱, 请重新指定 !!! pause goto seldest :bcd_1 bcdedit /create /d "%gname%" /application bootsector >vid.ini for,/f,"tokens=2 delims={",%%i,In (vid.ini) Do set vida=%%i for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do set vid={%%i} bcdedit /set %vid% device partition=%destpart% >nul bcdedit /set %vid% path %gname2% >nul bcdedit /displayorder %vid% /addlast >nul bcdedit /timeout %timeout% >nul echo BCD菜单项"%gname%"添加完成 if exist %mbrname% ( attrib %destpart%\%mbrname% -h -s -r >nul 2>nul copy %mbrname% %destpart%\ /y attrib %destpart%\%mbrname% +h +s +r goto exit ) else ( echo 稍后请自行把%mbrname%拷贝到%destpart%\根目录 echo. set /a pingtime=%pingtime%+8 Goto exit ) :un_bcd echo. echo Vista的BCD启动项中存在项目["%gname2%"]。 echo ============================================== echo. set un_bcd= Set /P un_bcd= 是否需要卸载%gname2%项目 ?[y/是 n/否]: If /i %un_bcd%#==y# goto un_bcd_1 If /i %un_bcd%#==n# echo 卸载已取消...&goto exit cls echo. echo 选择错误,请输入Y或者N(不分大小写)后继续 Goto un_bcd :un_bcd_1 for /f "tokens=1 delims=:" %%i In ('findstr /n %gname2% temp_bcd.txt') Do ( Set nid=%%i ) set /a nid=%nid%-3 for /f "skip=%nid% tokens=2" %%i in (temp_bcd.txt) do set vid=%%i&goto vidok :vidok bcdedit /delete %vid% /cleanup >nul bcdedit /timeout %timeout% >nul bcdedit >temp_bcd.txt type temp_bcd.txt | find "%gname2%" >nul && goto un_bcd echo 已成功卸载%gname2%项目 if exist %destpart%\%mbrname% ( attrib -h -s -r %destpart%\%mbrname% >nul del %destpart%\%mbrname% >nul ) :exit del temp_bcd.txt >nul 2>nul del temp_bcd1.txt >nul 2>nul del vid.ini >nul 2>nul echo %pingtime%秒后窗口自动关闭 ping -n %pingtime% 127.0.0.1 >nul
2011/7/9 zhiwei chen <zhiw...@gmail.com> > 在此我要说明一点,我用的是win7专业版正版系统,里面都是原装的东东。 > 对于以上有同学说win7可以加载boot.ini的情况,我想到了两点:1.win7先加载bcd然后加载boot.ini > 2.win7为正版,被第三方修改过了。 > > 我最近又尝试了几次,大概明白自己硬盘安装不成功的原因了、 > win7的启动管理器不能加载grldr或neogrub.mbr。 BCD的启动项已经加上了,但是不能正常使用。 > 我用过的方法,现在详细说明一下: > > 1. 直接在win7系统盘下新建个boot.ini文件,其他与winxp系统硬盘安装相同。 > 2. 使用easybcd新建启动项。 > 3. 使用bootice修改win7启动项。 > > 2和3修改启动项是修改成功了,但是win7无法加载。说是找不到grldr或neogrub.mbr。 > > > 现在总结一下:win7启动项是修改好了,grldr文件内容正常,文件没有被破坏,但win7启动项就是没法加载(在win7启动菜单点击该启动项时提示文件不存在或已经被破坏)。我目前是用的wubi安装的,硬盘留下了60G空间,等着安装与win7平行的ubuntu。 > > 2011/7/8 Shellexy Wang <jhuangjia...@gmail.com> > > > 没试过不要随意下结论。 > > > > 我自己的 win7 就用 boot.ini 写了 grub2 启动项。 > > > > 你从默认没 boot.ini 怎么能推论出不读 boot.ini > > > > 2011/7/8 cat.s <llz916...@yahoo.com.cn> > > > > > > 这个是有问题的,windows7的启动方式不一样,不会去读boot.ini。。。实际上,如果你装windows7,你都不会发现boot.ini。 > > > > > > 启动方式已经完全变掉了,编辑windows7的启动菜单的命令是bcdedit。 > > > > > > > > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: < > > > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110708/bff7b78b/attachment.html > > > > > -- > > ubuntu-zh mailing list > > ubuntu-zh@lists.ubuntu.com > > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > > > -------------- 下一部分 -------------- > 一个HTML附件被移除... > URL: < > https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110709/44079e81/attachment.html > > > -- > ubuntu-zh mailing list > ubuntu-zh@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -- 此致 敬礼 -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20110709/7a7410b9/attachment.html> -- ubuntu-zh mailing list ubuntu-zh@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh