无忧启动论坛

标题: 如何控制两个磁区并写入MBR [打印本页]

作者: eskimo    时间: 2007-7-17 00:36
标题: 如何控制两个磁区并写入MBR
例如已F5为热键
没按F5会迈入WINDOWSXP
而按了F5会迈入自己做的RECOVERY

WINDOWSXP跟RECOVERY分别为两个磁区且都是主分割

GRUB可以搭配IMG控制达成这目地
SPFDISK可以使用隐藏同类主分割并制做选单达成这目地
那如果在不使用GRUB跟SPFDSIK
还有哪个程式能这么做的

就ASUS笔记型的还原系统那样
或是acer的还原系统那样

请高手们告诉我…
作者: hytmtet    时间: 2007-7-17 06:20
目前最优秀的MBR应该是GRUB4DOS的
支持大部分文件系统, 包括NTFS(更改成任意ID的隐藏的ntfs也可以的)
而且可以不用取消隐藏, 不用改回正常ID, 不用激活隐藏分区, 都可以启动上面的IMA/IMG/PE系统
GRUB的命令行对分区操作也比较灵活
设置激活与否, 设置隐藏与否, 更改分区id 都可以用命令行实现

MBR损坏了也容易修复
windows下有grubinst
dos下有bootlace

我现在都淘汰了acer和benq的(其实都是symantec的那个rtmbr)
也不再用ibm的f11了~

ASUS的没用过~
作者: eskimo    时间: 2007-7-17 10:50
原帖由 hytmtet 於 2007-7-17 06:20 AM 發表
目前最優秀的MBR應該是GRUB4DOS的
支持大部分文件系統, 包括NTFS(更改成任意ID的隱藏的ntfs也可以的)
而且可以不用取消隱藏, 不用改回正常ID, 不用激活隱藏分區, 都可以啟動上面的IMA/IMG/PE系統
GRUB的命令 ...


虽然在不激活隐藏分区就可以启就ima/img/pe系统。
但如果是dos系统呢??
我所制作的recovery为dos模式
你或许会说何不直接做成ima的模式
但问题来了启动ima时他的档案都放置a:\
而磁碟除了fat32是隐藏分割外其于都是ntfs格式如果不打开隐藏分割
我所制作的档案(PowerQuest Drive Image)确为法读到
ghost在ntfs下可以用X:X表示而fat32下可以C..D..E.....表示
还是PowerQuest Drive Image在dos下也可用如ghost这样表示
作者: 无翼鸟飞翔    时间: 2007-7-17 14:55
G4D支持引导DOS系列的系统
作者: eskimo    时间: 2007-7-17 23:37
原帖由 无翼鸟飞翔 于 2007-7-17 02:55 PM 发表
G4D支持引导DOS系列的系统


那么请教一下,如 第一主分区为dos系统 第二主分区为winxp系统 第三分区为逻辑分区放data
如果在我启动第一主分区时要隐藏第二主分区
而启动第二主分区时就引藏第一分区
G4D可以这样做吗?
在不搭配IMA控制情况下!
意思就是 没按热键就直接迈入第二主分区且第一主分区隐藏
但按了热键之后启动第一主分区 第二主分区隐藏
作者: lianjiang    时间: 2007-7-18 06:39
原帖由 eskimo 于 2007-7-17 11:37 PM 发表


那么请教一下,如 第一主分区为dos系统 第二主分区为winxp系统 第三分区为逻辑分区放data
如果在我启动第一主分区时要隐藏第二主分区
而启动第二主分区时就引藏第一分区
G4D可以这样做吗?
在不搭配IMA ...

当然可以,看grub4dos说明文件。
作者: hytmtet    时间: 2007-7-18 07:28
原帖由 eskimo 于 2007-7-17 11:37 PM 发表


那么请教一下,如 第一主分区为dos系统 第二主分区为winxp系统 第三分区为逻辑分区放data
如果在我启动第一主分区时要隐藏第二主分区
而启动第二主分区时就引藏第一分区
G4D可以这样做吗?
在不搭配IMA ...


当然可以

给个菜单你参考下

title 启动第一分区的dos
unhide (hd0,0)
hide (hd0,1)
makeactive (hd0,0)
rootnoverify (hd0,0)
chainloader +1

title 启动第二分区的xp
unhide (hd0,1)
hide (hd0,0)
chainloader (hd0,1)/ntldr

注:
如果第一主分区已经是激活了的
可以把makeactive (hd0,0)语句去掉
对于dos来讲
只要是active的
直接用grub的chainloader (hd0,0)+1就可以启动

对于XP系统
即便是自身分区为非激活状态
也可以启动的```
作者: hytmtet    时间: 2007-7-18 07:29
grub启动系统的方式多种多样
例如启动dos还可以用chainloader (hd0,0)/io.sys
启动xp也可以用chainlodaer (hd0,1)+1
作者: eskimo    时间: 2007-7-18 08:32
原帖由 <i>hytmtet</i> 于 2007-7-18 07:29 AM 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=1137054&ptid=109879" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://bbs.wuyou.net/images/common/back.gif');}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
grub启动系统的方式多种多样<br />
例如启动dos还可以用chainloader (hd0,0)/io.sys<br />
启动xp也可以用chainlodaer (hd0,1)+1
<br />

在启动dos时我也是用chainloader (hd0,0)/io.sys 在不隐藏磁区情况下可正常迈入
但在隐藏dos主分区的情况下就无法载入command。

用你上述unhide和hide或许能解决我目前的问题。

晚上在来试试 受教了 谢谢 hytmtet
作者: 左卿候    时间: 2007-7-18 15:25
路过..............帮顶一下啦!
作者: eskimo    时间: 2007-7-18 23:56
原帖由 hytmtet 于 2007-7-18 07:28 AM 发表


当然可以

给个菜单你参考下

title 启动第一分区的dos
unhide (hd0,0)
hide (hd0,1)
makeactive (hd0,0)
rootnoverify (hd0,0)
chainloader +1

title 启动第二分区的xp
unhide (hd0,1)
hide ...


试了一下,可以正常控制并切换两个分区
在次感谢hytmtet

不知有谁有看过acer的还原系统
他是用pe启动在暂用了一个主分区(第一分区)
在装xp时可以格式化,用spfdisk也可以正常格式化。
但在xp里面 我的电脑→管理 里面可以看到磁碟分区 但确无法删除
他是如何做到的?是HPA吗?又不太像!
但我用spfdisk下去看的话他的分区格式显示著”不详的ID”
这应该不是隐藏分区吧?有大大们有相关研究吗?
可否拿出来讨论?谢谢
作者: hytmtet    时间: 2007-7-19 08:09
原帖由 eskimo 于 2007-7-18 11:56 PM 发表


不知有谁有看过acer的还原系统
他是用pe启动在暂用了一个主分区(第一分区)
在装xp时可以格式化,用spfdisk也可以正常格式化。
但在xp里面 我的电脑→管理 里面可以看到磁碟分区 但确无法删除
他是如何做到的?是HPA吗?又不太像!
但我用spfdisk下去看的话他的分区格式显示著”不详的ID”
这应该不是隐藏分区吧?有大大们有相关研究吗?
可否拿出来讨论?谢谢



不用研究
也不用讨论
仅仅是一个更改了分区id的正常的fat32分区而已

grub4dos就可以做到
而且不管什么类型的分区
我用grub4dos做了一个ntfs的eisa配置
可以看到,不可删除
但是用winpm, adds, 这种高级点的分区软件, 直接喀察掉


BENQ和ACER的一键恢复
都是用SYMANTEC的RTMBR


用grub实现不可删除的功能
parttype (hd0,0) 0xDE
这样,hd0,0分区就成了可以看到,磁盘管理里无法删除的情况了

grub支持直接从非正常id, 例如ntfs正常是07 ,改成DE后, 在XP下为可见不可删的分区
但是, grub4dos的mbr以及grldr仍然支持从这种非正常id, 外加隐藏的分区中, 读取文件


看看我的NTFS的eisa配置````
grub4dos不要求主分区, symantec的rtmbr要求必须为主分区


作者: eskimo    时间: 2007-7-19 23:32
原帖由 hytmtet 于 2007-7-19 08:09 AM 发表



不用研究
也不用讨论
仅仅是一个更改了分区id的正常的fat32分区而已

grub4dos就可以做到
而且不管什么类型的分区
我用grub4dos做了一个ntfs的eisa配置
可以看到,不可删除
但是用winpm, adds, 这 ...


但这是透过了grub4dos所控制出来的
这有办法写入mbr吗?
刚试了一下确实可把主分区fat32改了id
但我确迈不了dos!
因为我控制是按了F5之后就启动grub迈入第一分区的DOS里
我可以用GURB4DOS在迈入DOS第一分区之前改成parttype (hd0,0) 0x0b
但我想要在系统还原使用完毕之后在自动把fat32改id之后重新开机迈入xp系统
这样可行吗?有哪个软件可以在dos里改变id的?
还有一个问题,如果在第一跟第二主分区跟第三逻辑分区同时都放一个grub他会去启动哪一个!
是第一个放的grldr吗??
请指教,谢谢…

[ 本帖最后由 eskimo 于 2007-7-19 11:54 PM 编辑 ]
作者: eskimo    时间: 2007-7-20 01:04
原帖由 eskimo 于 2007-7-19 11:32 PM 发表


但这是透过了grub4dos所控制出来的
这有办法写入mbr吗?
刚试了一下确实可把主分区fat32改了id
但我确迈不了dos!
因为我控制是按了F5之后就启动grub迈入第一分区的DOS里
我可以用GURB4DOS在迈入DOS第 ...


自己搞出来了!
刚自己用autoexec.bat搭配grub.exe这支软件去读取menu.lst
可以正常更改id并隐藏dos主分区
想请教一下,有办法把写入的menu.lst 的东西导入grub.exe里面吗?
不要让他在去load menu.lst
我f5引导的在第一分区的grldr而grub.exe跟menu.lst我用一个资料夹放入
在自己的电脑测试没问题,但在别台电脑的相容性不知高不高。会不会读取错误(例如我按了F5之后他去读取menu.lst呢)
有grub.exe的相关资料吗?希望有大大可提供!
谢谢指教。

[ 本帖最后由 eskimo 于 2007-7-20 01:12 AM 编辑 ]
作者: lianjiang    时间: 2007-7-20 05:29
去grub4dos官方网站查阅资料即可。
作者: hytmtet    时间: 2007-7-20 05:36
原帖由 eskimo 于 2007-7-20 01:04 AM 发表


自己搞出来了!
刚自己用autoexec.bat搭配grub.exe这支软件去读取menu.lst
可以正常更改id并隐藏dos主分区
想请教一下,有办法把写入的menu.lst 的东西导入grub.exe里面吗?
不要让他在去load menu.lst ...



当然有了....
grubmenu
去下载grubutil工具包
里面有将grub安装到mbr的gui程序
grubmenu将menu.lst等菜单文件整合到grldr或者grub.exe中

你为啥要用grub.exe呢
只用grldr就够用了
DOS下运行grub.exe 兼容性没有从mbr中直接从grldr中启动好
作者: hytmtet    时间: 2007-7-20 05:49
简单的说明下吧
无论是grldr还是grub.exe
都内置菜单

我导出一个内置菜单给你瞧瞧
这是刚刚下载最新的grldr
7月18日的grub4dos

内置菜单
default 0
timeout 1
fallback 1

title find /menu.lst
        find --set-root --ignore-floppies /menu.lst
        configfile /menu.lst

title find /boot/grub/menu.lst
        fallback 2
        find --set-root --ignore-floppies /boot/grub/menu.lst
        configfile /boot/grub/menu.lst

title find /grub/menu.lst
        fallback 3
        find --set-root --ignore-floppies /grub/menu.lst
        configfile /grub/menu.lst

title commandline
        commandline

title reboot
        reboot

title halt
        halt




默认等待一秒
默认搜索所有硬盘分区根目录的/menu.lst
如果搜索不到, 则搜索所有硬盘根目录/boot/grub/menu.lst
再搜索不倒, 则搜索/boot/menu.lst
如果还没有menu.lst菜单文件
则进入命令行


我是比较喜欢菜单内置的
因为速度快
不用从外部去查找菜单并加载
就是修改起来麻烦点
不过你可以做一个批处理
我已经做好了
原版的grldr文件改名为grldrori
修改过的文件名为grldr
具有 隐藏 / 只读 /系统 三大属性


grldr内置菜单控制.rar (103.04 KB, 下载次数: 27)
作者: hytmtet    时间: 2007-7-20 05:54
2007-07-18  21:49           195,781 grldrori
2007-07-16  15:44            19,583 grubmenu.exe
2007-07-20  05:37               467 menu.lst
2007-07-03  08:30                30 导出GRLDR中的菜单到menu.txt文件中.bat
2007-07-09  10:10               152 将menu.lst整合到grldr中.cmd


这时楼上附件中包含的文件
其中grldrori为最新版grub4dos中chinese目录中的grldr改名而来
grubmenu.exe也为07-16版的grubutil中解压出来的,也是最新版


编辑好自己的menu.lst
运行一遍 将menu.lst整合到grldr中.cmd饥渴
然后可以运行一遍
导出GRLDR中的菜单到menu.txt文件中.bat
查看导出的menu.txt
和menu.lst是否相符```
一般来讲
导入时menu.lst空行会被清除掉``
所以导出的menu.txt中没有空行`
作者: eskimo    时间: 2007-7-20 11:02
原帖由 hytmtet 於 2007-7-20 05:36 AM 發表



當然有了....
grubmenu
去下載grubutil工具包
裡面有將grub安裝到mbr的gui程序
grubmenu將menu.lst等菜單文件整合到grldr或者grub.exe中

你為啥要用grub.exe呢
只用grldr就夠用了
DOS下運行grub ...


我目前做法是 第一主分区放 dos 要还原用的 第二主分区放 winxp 第三逻辑分区放data
在系统异常才用到dos 所以我第一主分区都是变更id并隐藏。
等到有需要的时候按了hot-key找寻在放在根目录第一主分区的grldr迈入dos并隐藏了第二主分区(ntfs)
之后自动还原了第二主分区等还原完毕后利用 grub.exe 改格式id并隐藏重新开机启动第二主分区winxp。
在我用红字画起来部份具体还有更好的方法可行吗?
作者: hytmtet    时间: 2007-7-20 13:21
这个啊````
很多方案的

例如可以使用grub4dos的mbr
默认启动原活动分区上的系统
按下热键启动grldr
或者使用ms的mbr从ntldr来启动grldr
grldr内置菜单如下

title 1. 显现hd0,0分区, 恢复正常id, 并启动进入dos
rootnoverify (hd0,0)
unhide
parttype 0x0b
chainloader /io.sys

title 2. 隐藏hd0,0分区, 更改id为DE, 并启动hd0,1上的ntldr
rootnoverify (hd0,0)
parttype 0xDE
hide
rootnoverify (hd0,1)
chainloader /ntldr
作者: hytmtet    时间: 2007-7-20 13:27
以上的rootnoverify这条命令
最好是用find --set-root来代替
这样安全性有保障`
不然你插入移动硬盘
从移动硬盘启动执行这个菜单时````就把移动硬盘上的分区给隐藏更改id了`

例如
find --set-root /这里输入你判断目标分区的条件

例如find --set-root /ntldr
查找分区根目录下的ntldr
如果存在ntldr则将此分区设置为root
作者: 网上飞鹰    时间: 2007-7-20 13:27
都是高手!在这里请教个问题,我划出了一个主分区作为启动PE的隐藏分区,用GRLDR引导,grubinst_gui.exe在win下安装GRLDR到mbr,设按空格键启动GRLDR,优先引导原来的xp-mbr,启动时出现提示按空格激活GRLDR,过了指定的等待时间,不是引导xp-mbr,而是引导GRLDR,在虚拟机中用同样的方法测试,却可以过了等待的时间,优先引导xp,在真机却不行,不知问题出现在哪里?下面是安装mbr的插图,请各位高手帮看看

Snap1.jpg (47.29 KB, 下载次数: 37)

Snap1.jpg

作者: hytmtet    时间: 2007-7-20 20:20
原帖由 网上飞鹰 于 2007-7-20 01:27 PM 发表
都是高手!在这里请教个问题,我划出了一个主分区作为启动PE的隐藏分区,用GRLDR引导,grubinst_gui.exe在win下安装GRLDR到mbr,设按空格键启动GRLDR,优先引导原来的xp-mbr,启动时出现提示按空格激活GRLDR,过 ...



去gna上下载最新的grubutil
最新版本是07年07月16日的

再不行你试试命令行下用grubinst写mbr试试
再不行去wikihome下载最新的grub4dos
07年7月18日的
用压缩包里面的bootlace.com到dos下去写mbr
作者: 网上飞鹰    时间: 2007-7-20 22:01
原帖由 hytmtet 于 2007-7-20 08:20 PM 发表



去gna上下载最新的grubutil
最新版本是07年07月16日的

再不行你试试命令行下用grubinst写mbr试试
再不行去wikihome下载最新的grub4dos
07年7月18日的
用压缩包里面的bootlace.com到dos下去写mbr

谢谢指点!我下载了最版的grubutil和bootlace.com按您的的指点去试,还是解决不了,没办法,只好直接通过grub引导启动xp了:L
作者: hytmtet    时间: 2007-7-20 22:37
原帖由 网上飞鹰 于 2007-7-20 10:01 PM 发表

谢谢指点!我下载了最版的grubutil和bootlace.com按您的的指点去试,还是解决不了,没办法,只好直接通过grub引导启动xp了



那估计你没备份好原始mbr?



去下载个aefdisk

或者fdisk

运行aefdisk /mbr

或者fdisk /mbr

这时重启
应该直接进windows了吧
再用grubinst_gui安装mbr
作者: eskimo    时间: 2007-7-20 22:52
原帖由 hytmtet 于 2007-7-20 01:21 PM 发表
这个啊````
很多方案的

例如可以使用grub4dos的mbr
默认启动原活动分区上的系统
按下热键启动grldr
或者使用ms的mbr从ntldr来启动grldr
grldr内置菜单如下

title 1. 显现hd0,0分区, 恢复正常id, 并启 ...


hytmtet大大,我忘了说一件事 在启动xp时 不使用不load grldr选单控制
只有在按hot-key时才要有动作!:L
我目前是用这个方法制作recovery
我目前的疑问是 如果按了hot-key他启动grldr引导dos第一主分区而xp第二主分区隐藏后
recovery跑完之后load grub.exe引导menu.lst 改硬碟id并自动重启
在xp不使用ltldr引导grldr和选单只有迈入dos主分区的项次(因时间只设0秒)跟在只有按hot-key才启动grldr的情况下,红色部份有更好的方法吗?
因如果在dos程序都完毕后在load 根目录的grldr 那不就一直返复在recovery:L

作者: hytmtet    时间: 2007-7-21 06:21
原帖由 eskimo 于 2007-7-20 10:52 PM 发表


hytmtet大大,我忘了说一件事 在启动xp时 不使用不load grldr选单控制
只有在按hot-key时才要有动作!:L
我目前是用这个方法制作recovery
我目前的疑问是 如果按了hot-key他启动grldr引导dos第一主分区 ...



我给的哪个菜单只是在备份或者恢复完系统之后
重启时运行一次
下次启动时就不需要按热键, 直接启动xp

当然
你想省掉这一步
就需要dos下运行grub.exe了
grub.exe内置菜单

title Hide Dos Partition And Reboot
find --set-root /dospart.flg
parttype 0xde
hide
reboot
作者: hytmtet    时间: 2007-7-21 06:29
建议你直接把GRLDR和GRUB.EXE都放置到DOS分区上
毕竟你要隐藏的是dos分区
可以防止误删

通过按下热键
从grldr启动
grldr内置菜单

title UnHide Dos Partition And Start Recovery
find --set-root /dospart.flg
unhide
parttype 0x0b
chainloader /io.sys


这样, 就启动进dos了
通过autoexec.bat中设置自动还原
再批处理末尾加上一条命令
grub.exe
这样
恢复完之后
再次启动grub

grub.exe的内置菜单见楼上


注意, grldr的内置菜单一定要设个密码
防止不小心按了热键, 直接自动还原了!
作者: 网上飞鹰    时间: 2007-7-21 08:21
原帖由 hytmtet 于 2007-7-20 10:37 PM 发表



那估计你没备份好原始mbr?



去下载个aefdisk

或者fdisk

运行aefdisk /mbr

或者fdisk /mbr

这时重启
应该直接进windows了吧
再用grubinst_gui安装mbr

试过用PM、diskgen、hdd恢复默认的mbr即直接启动windows,然后再分别用grubinst_gui、bootlace.com安装还是没有解决,aefdisk和fdisk倒没试过,我想可能也解决不了问题,我看过grubdos的教程,其中有这么一段“Grub4Dos只保留了一个扇区的空间来存储原来的MBR,若原来的MBR超过一扇区,则只有第一扇区被保存,因此不能用原来的MBR来启动。”我想可能是这个原因引起不能默认优先引导原来的MBR,如果是这样的话,又是如何解决?希望楼上几位高手再帮看看:)

Snap1.jpg (43.14 KB, 下载次数: 53)

Snap1.jpg

作者: hytmtet    时间: 2007-7-21 10:01
原帖由 网上飞鹰 于 2007-7-21 08:21 AM 发表

Grub4Dos只保留了一个扇区的空间来存储原来的MBR,若原来的MBR超过一扇区,则只有第一扇区被保存,因此不能用原来的MBR来启动。”



是这样的~
但是
MS以前的MBR
也就是dos+win9x+nt+2000+xp+2k3系统
都是用的同一个mbr
也就是这些系统
通过FDISK /MBR后
不影响启动的

而这个mbr是绝对不会超过1个扇区的
严格的说只有446字节
一个扇区是512字节
第一扇区的内容
MBR+HDP+结尾标志
分别是446字节+64字节分区表+结束标志55 AA
总共512字节



你可以用磁盘编辑工具打开第二扇区
看看和标准的mbr一样不

这时标准的fdisk生成的mbr
33C08ED0BC007....
你就对前面几个就行啦```
作者: eskimo    时间: 2007-7-21 10:51
大至上我目前的问题都解决了!

但我还是有一个东西没有搞起来…

menu.lst 写迈grub.exe里

如果要把第二主分区引导 移过来 第一主分区引导 (不要启动)
是 makeactive (hd0,0) 这断吗?

因为结合img来读取第一主分区的gho档
而引导第一主分区是因为万一在还原到一半中断时
电脑重新开机不必按任何键就可直接迈入dos并
在把第一主分区引导改为第二主分区并更改第一主分区的硬碟id DE
makeactive (hd0,1)  是这样吗?
我的grldr
title Start SystemRecovery
unhide (hd0,0)
hide (hd0,1)
parttype (hd0,0) 0x0b
makeactive (hd0,0)
#ind --set-root /Sue/Sue.img
map --mem /Sue/Sue.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1

[ 本帖最后由 eskimo 于 2007-7-21 11:36 AM 编辑 ]
作者: hytmtet    时间: 2007-7-21 11:29
原帖由 eskimo 于 2007-7-21 10:51 AM 发表
大至上我目前的问题都解决了!

但我还是有一个东西没有搞起来…

menu.lst 写迈grub.exe里



同样
使用grubmenu.exe
我在上面的楼层给你发过的附件里面有
grubmenu.exe import grub.exe menu.lst
作者: 网上飞鹰    时间: 2007-7-21 20:35
谢谢楼上两位的指点!解决了,fdisk /mbr后,用这里的工具解决了:lolhttp://bbs.wwwfox.net/viewthread.php?tid=104817&extra=page%3D3
作者: eskimo    时间: 2007-7-22 00:02
原帖由 hytmtet 于 2007-7-21 11:29 AM 发表



同样
使用grubmenu.exe
我在上面的楼层给你发过的附件里面有
grubmenu.exe import grub.exe menu.lst


试验了一下,结果发现
写入grub.exe相容性比grub.exe load menu.lst差
还是先用用grub.exe load menu.lst 目前测试都没发生过错误。
开了这个主题,谢谢hytmtet帮我解决grldr的一些小细结跟所有问题。

我把我目前完成的还原系统白化文写出来

第一主分区 dos主分区(放置gho档案和ima档案) 第二主分区 winxp主分区 第三逻辑分区 放data

当按下hot-key 时
隐藏第二主分区并将启动设置为第一主分区 第一主分区硬碟id从de 改为 0b 并读取ima档案跑批次档执行还原的动作“还原完后解除第二主分区隐藏并将第一主分区硬碟id改为de”。
(将启动设置于第一主分区原因,在按下hot-key时如果遇到被强制重开机,因第二主分区被隐藏和第一主分区档案清楚显示)
这时让dos下的autoexec.bat 启动grub.exe 解除第二主分区隐藏并将第一主分区硬碟id改为de
作者: eskimo    时间: 2007-7-22 02:26
请教一下,grldr可以改成ntldr让xp启动读取吗不要经过boot.ini
我写的方法如下
title Start shit..........
#ind --set-root /boot/qa.img
map --mem /boot/qa.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1

但确显示了 Error 19: Cannot mount selected partition
但用boot.ini 编写 c:\grldr="start dos tool"
确可以正常迈入,这是为什么呢?
作者: hytmtet    时间: 2007-7-22 06:27
原帖由 eskimo 于 2007-7-22 12:02 AM 发表


试验了一下,结果发现
写入grub.exe相容性比grub.exe load menu.lst差
还是先用用grub.exe load menu.lst 目前测试都没发生过错误。
开了这个主题,谢谢hytmtet帮我解决grldr的一些小细结跟所有问题。
...

title Start SystemRecovery
unhide (hd0,0)
hide (hd0,1)
parttype (hd0,0) 0x0b
makeactive (hd0,0)
#ind --set-root /Sue/Sue.img
map --mem /Sue/Sue.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1

你确认红色部分不是笔误???
命令应该是
find --set-root /目标文件路径及文件名
你怎么写成#ind了...


给你看一个我的例子
title    MAP-MEM 纯DOS
find --set-root /boot/PUREDOS.gz
map --mem /boot/PUREDOS.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot

makeactive可以那么用的
makeactive
parttype
hide
unhide
chainloader
等命令都可以省略设备名
当省略设备名时
是对root进行操作

例如
find --set-root /ntldr
parttype 0xde
hide
find --set-root /io.sys
unhide
parttype 0x0b
以上命令
将查找到的第一个根目录下存在ntldr文件的分区隐藏,更改id
将查找到的第一个根目录下存在io.sys文件的分区取消隐藏,更改id


你也可以指定路径
makeactive (hdx,y)
hide (hdx,y)
.........

作者: eskimo    时间: 2007-7-22 09:35
#ind --set-root /Sue/Sue.img
好奇怪,我这样打竟然还可以正常执行
已为是正确的,谢谢指正
我在实机上测试当还原完毕后
去读取grub.exe load menu.lst
结果他都会先显示
=================
PCI Parity Error!
Press F1 To Continune,F2 To Reboot
=================
真奇怪按了F1之后
menu.lst就可以正常执行到完毕
在虚疑机上测试都正常
在实机上就出现那行!
那是什么意思呢?
作者: hytmtet    时间: 2007-7-22 09:40
原帖由 eskimo 于 2007-7-22 09:35 AM 发表
#ind --set-root /Sue/Sue.img
好奇怪,我这样打竟然还可以正常执行
已为是正确的,谢谢指正
我在实机上测试当还原完毕后
去读取grub.exe load menu.lst
结果他都会先显示
=============== ...


...

#开头表示注释啊...
就是不执行那行了....


grub配置菜单的方式
grub.exe --config-file=(hd0,0)/boot/grub/hd0.lst
以上是一个例子
你根据情况改成你的菜单的路径
如果grub.exe不带任何参数执行
就使用grub.exe中的内置菜单
作者: hytmtet    时间: 2007-7-22 09:44
如果你不想使用配置菜单
通过参数把菜单内容打进去
grub.exe --config-file="parttype (hd0,0) 0xde;hide (hd0,0);reboot"
这就ok 了
你下载了grub4dos读说明文件啊
这些都在说明中有用法的
作者: eskimo    时间: 2007-7-23 00:59
还是不行…
我起初是输入 grub.exe --config-file=(hd0,0)/sue/menu.lst
结果出现
=================
PCI Parity Error!
Press F1 To Continune,F2 To Reboot
=================
而在改为不读取menu.lst的 grub.exe --config-file="parttype (hd0,0) 0xde;hide (hd0,0);reboot"
结果问题还是一样。
我昨天实机用了一台 但按了F1可正常执行。
但今还拿一台主机来修 情况一样
出现上述情况
但这次更惨 按了 F1之后连一行写入都没有写入
昨天是用INTEL PD的核心
这次是用AMD ATHLON做测试的:Q
是grub.exe的bug吗?因为我下载了7月20那版也一样情况。
作者: eskimo    时间: 2007-7-23 01:00
还是不行…
我起初是输入 grub.exe --config-file=(hd0,0)/sue/menu.lst
结果出现
=================
PCI Parity Error!
Press F1 To Continune,F2 To Reboot
=================
而在改为不读取menu.lst的 grub.exe --config-file="parttype (hd0,0) 0xde;hide (hd0,0);reboot"
结果问题还是一样。
我昨天实机用了一台 但按了F1可正常执行。
但今还拿一台主机来修 情况一样
出现上述情况
但这次更惨 按了 F1之后连一行写入都没有写入
昨天是用INTEL PD的核心
这次是用AMD ATHLON做测试的:Q
是grub.exe的bug吗?因为我下载了7月20那版也一样情况。

或都是IDE硬碟跟SATA硬碟有关联
因vm模疑大都是ide的
而我实机做的都是sata 的硬碟,跟这有没有问题??

[ 本帖最后由 eskimo 于 2007-7-23 01:41 AM 编辑 ]
作者: 网上飞鹰    时间: 2007-7-25 20:39
不错的交流!顶一下:)




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