无忧启动论坛

标题: win8.1系统如何加入grub4dos启动菜单? [打印本页]

作者: wlyk111    时间: 2013-8-27 00:50
标题: win8.1系统如何加入grub4dos启动菜单?
本帖最后由 wlyk111 于 2013-8-27 22:05 编辑

win8.1系统如何加入grub4dos启动菜单?
按照 grub4dos初级教程_CHM图文版_090411.CHM之中的方法 写批处理,加入失败!

请高手指点迷津啊!我已经取得管理员权限,也都是按下面的要求操作的!就是不能成功!谢谢!
是不是大侠写这个批处理的时候win8都还没有出来,所以这个不能在 win8.1上使用?
能不能请大侠再写一个?代表菜鸟感谢你!






下面的批处理自动完成整个装入操作。

说明:
    1,批处理与grldr.mbr在同一目录时,自动复制grldr.mbr文件到系统根目录,否则需自行复制。
    2,启动项里添加上grub4dos项后,需把准备好的menu.lst和grldr文件复制到C:\下(也可放到其它分区根目录)。

-------------------------------
安装批处理

@echo off
rem by lianjiang
cls
echo.
echo 请以管理员身份运行。
echo.
pause
set gname=GRUB for DOS
set vid=
set timeout=5
bcdedit >bcdtemp.txt
type bcdtemp.txt | find "\grldr.mbr" >nul && echo. && echo BCD启动项中已有grub4dos的项目,无需再安装。&& pause && goto exit
bcdedit /export "Bcd_Backup" >nul
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}
)
echo %vid%>vid.ini
bcdedit /set %vid% device partition=%systemdrive% >nul
bcdedit /set %vid% path \grldr.mbr >nul
bcdedit /displayorder %vid% /addlast >nul
bcdedit /timeout %timeout% >nul
if exist grldr.mbr copy grldr.mbr %systemdrive%\ /y && goto exit
echo.
echo 稍后请自行把grldr.mbr拷贝到%systemdrive%\根目录
echo.
pause
:exit
del bcdtemp.txt >nul

-------------------------------


作者: 2011ryoohki    时间: 2013-8-27 08:32
请确定你的 Win8 是以 MBR 方式启动的,如果是 EFI 方式启动,以上方法是不适用的。
作者: wlyk111    时间: 2013-8-27 23:14
经过实践摸索,本人已经完美解决!方法如下:

以管理员身份运行cmd,(可以在系统盘X:\windows\system32下查找到cmd命令提示符可执行文件,然后右击cmd可执行程序,在菜单中选择“以管理员身份运行”,这样打开cmd命令提示符,在使用bcdedit命令时就不会出现“无法打开启动配置数据存储 拒绝访问”的错误了。)在cmd中输入如下命令并回车(命令不区分大小写,但请注意命令中的空格):

  bcdedit /create /d "Start GRUB4DOS" /application BOOTSECTOR

  这个命令会得到一个如同下面样式的标识符:

  {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx}

  (比如: {2e850b34-8d96-11de-8e71-d1c665e3cb34})

  为了避免手动写入标识符出错,我们可以在CMD中右击,点标记,然后拖动鼠标,选定这个{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx},再点一下右键,也就复制了。然后我们可以在CMD中右击,点粘贴,可以把我们复制的内容粘贴到CMD中。

  再一条一条地运行如下四条命令:

  bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} device partition=c:

  (这里面的c:是windows 7的启动盘,也就是你放grldr和grldr.mbr这两个文件的盘,如果你的不是c盘,请改为对应的盘符)

  bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} path \grldr.mbr

  bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} /addlast

  bcdedit /timeout 5

  当你不再需要这个添加的grldr.mbr的启动项的时候,你可以以管理员身份运行cmd,用下面的命令删除它:

  bcdedit /delete {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx}

  如果你忘了这个标识符{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx},可以以管理员身份运行cmd,输入bcdedit命令后回车,你可以找到这个标识符的。
作者: gkzp31    时间: 2013-8-30 12:16
很详细,学习了,谢谢
作者: songhangzhou    时间: 2013-8-31 13:38
win8.1能否使用boot.ini启动GRUB for DOS?
作者: 2011myback    时间: 2013-9-3 18:25
学习了,刚开要用这个。
作者: 35786    时间: 2013-9-4 10:59
wlyk111 发表于 2013-8-27 23:14
经过实践摸索,本人已经完美解决!方法如下:

以管理员身份运行cmd,(可以在系统盘X:\windows\system32下 ...

再一条一条地运行如下四条命令:

  bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} device partition=c:

  (这里面的c:是windows 7的启动盘,也就是你放grldr和grldr.mbr这两个文件的盘,如果你的不是c盘,请改为对应的盘符)

红色命令行部分是否可以修改为:
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} device boot
作者: kayuk    时间: 2013-11-11 23:21
看来这也是一个方法
作者: 2011小豪    时间: 2013-11-19 00:10
songhangzhou 发表于 2013-8-31 13:38
win8.1能否使用boot.ini启动GRUB for DOS?

当然可以哇
作者: yjd    时间: 2014-5-24 00:51
用bootice加不是更方便。
作者: 淀粉宝宝    时间: 2014-7-22 10:59
2011ryoohki 发表于 2013-8-27 08:32
请确定你的 Win8 是以 MBR 方式启动的,如果是 EFI 方式启动,以上方法是不适用的。

so,我的电脑是efi启动,怎么搞?我要启动CDLinux
作者: photor    时间: 2015-5-31 15:13
2011小豪 发表于 2013-11-19 00:10
**** 作者被禁止或删除 内容自动屏蔽 ****

从win 8开始已经不支持boot.ini,win 7还可以的

作者: photor    时间: 2016-2-27 22:52
学习了




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3