无忧启动论坛

标题: 关于grub4dos从第一硬盘启动的问题 [打印本页]

作者: 56tyty56    时间: 2013-6-15 14:45
标题: 关于grub4dos从第一硬盘启动的问题
我的grub4dos写在u盘里,我想在启动菜单中加入一个从第一硬盘启动的指令
我试过chainloader hd(1) +1,貌似可以启动提示ntdltr is missing,差不多这么拼吧,nt5的启动文件,相当于nt6的bootmgr。
但我第一硬盘的mbr是前440字节是修改过的,用的是变色龙的boot0hfs
应该启动进入变色龙啊,怎么还找上xp了呢
作者: jh1688    时间: 2013-6-15 16:12
MBR没有改过,帮不了你。
理论上来说,chainloader (hd0)+1,可以启动第一硬盘第一分区,nt5的启动文件是NTLDR,相当于nt6的bootmgr。而你的变色龙平时是怎么引导的我不知,所以实际上并帮不了你,略过……
等待高手来解答,我也学习一点……
作者: 56tyty56    时间: 2013-6-15 17:59
jh1688 发表于 2013-6-15 16:12
MBR没有改过,帮不了你。
理论上来说,chainloader (hd0)+1,可以启动第一硬盘第一分区,nt5的启动文件是 ...

只是第一分区吗,那什么指令是从磁盘头开始引导的?
作者: jh1688    时间: 2013-6-15 18:12
56tyty56 发表于 2013-6-15 17:59
只是第一分区吗,那什么指令是从磁盘头开始引导的?

目前我能理解的就是这些,其他我帮不了你。你可以向C大、S大、P大等高人请教……
我也搭个车学习一下……
作者: 2011epe    时间: 2013-6-15 21:46
本帖最后由 2011epe 于 2013-6-17 19:25 编辑

title
clear

title   从本机硬盘MBR启动1 \n 从UD引导;从光盘引导;从普通USB-HDD U盘引导;本机硬盘启动再转本地硬盘启动
set b=)/BOOT/GRUB/BOOTFIX.ISO
checkrange 0x80 read 0x8280 && if exist (hd0)/fb.cfg && set b=ud%b%
checkrange 0x23 read 0x8280 && if not exist (fd0)/fb.cfg && set b=ud%b%
set b=(%b%
set /a hdn=*0x475&0xff
if %hdn%>=2 && if /I "%b%"=="(ud)/AXPE/IMGS/BOOTFIX.ISO" && map (hd1) (hd0) && map (hd0) (hd1)
map --unmap=0xfe
map %b% (0xfe) || map --mem %b% (0xfe)
map --rehook
chainloader (0xfe)
boot


title   从本机硬盘MBR启动2 \n 搜索具备ntldr、bootmgr的硬盘启动
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader (hd0)+1
boot

title   从本机硬盘MBR启动3 \n
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
checkrange 0x80 read 0x8280 && map --hook
chainloader (hd0)+1


title   启动NT/2000/XP/2003操作系统  \n
find --set-root /ntldr
chainloader /ntldr

title   启动Vista/Win7/Win8操作系统  \n 请首先交换磁盘
find --set-root /bootmgr
chainloader /bootmgr


title   启动 NT5/NT6引导操作系统  \n
map --mem /copy/petools/grub/NTBOOT.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)




作者: eway33    时间: 2013-6-17 14:00
2011epe兄, 我现在有三个主分区,怎样交换磁盘只启动其中一个主分区,让另外两个主分区隐藏
作者: 2011epe    时间: 2013-6-17 19:24
eway33 发表于 2013-6-17 14:00
2011epe兄, 我现在有三个主分区,怎样交换磁盘只启动其中一个主分区,让另外两个主分区隐藏

我不知道你具体问什么,这不是G4D基本命令就可以解决吗?
随便写两个示例:
title   启动第一硬盘第一主分区操作系统  \n 隐藏第一硬盘第二、三主分区
hide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,0)
chainloader +1

title   启动第二硬盘第二主分区操作系统  \n 隐藏第二硬盘第一主分区
hide (hd1,0)
rootnoverify (hd1,1)
chainloader +1
作者: 2011epe    时间: 2013-6-17 19:31
2011epe 发表于 2013-6-17 19:24
我不知道你具体问什么,这不是G4D基本命令就可以解决吗?
随便写两个示例:
title   启动第一硬盘第一主 ...

尽量别使用隐藏命令,好像有BUG。

比如你硬盘只有两个主分区,你命令中去隐藏第三分区,出现分区表错误


出现一个主分区(2),OPUS?




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