无忧启动论坛

标题: 启动时想实现这样的功能,详见此,求助 [打印本页]

作者: malpensa    时间: 2007-9-13 20:53
标题: 启动时想实现这样的功能,详见此,求助
简单说来,启动PE后想屏蔽掉机器上的所有硬盘分区,怎么实现?
我目前的一条路是:用easyboot先引导grub,在grub中hide所有分区,然后重启,然后再引导进PE,用完PE后重启进grub,unhide所有分区。   
有没有简单一点的办法?在easyboot选单里启动PE时就能直接屏蔽硬盘分区,或者, 进grub以后,用grub引导pe之前先hide所有分区。
另外,怎么在grub中引导从红叶或者毛桃盘里拷贝出来的PE镜像啊?给个代码,谢谢!

菜鸟一只,望教!
作者: hytmtet    时间: 2007-9-13 21:08
屏蔽所有分区?
hide是隐藏
不是屏蔽啊
用分区软件显现后装载仍然可以访问的

简单点,修改下PE
把里面对应的IDE/SATA驱动删除
这样就会找不到硬盘地``
作者: malpensa    时间: 2007-9-13 21:16
原帖由 hytmtet 于 2007-9-13 09:08 PM 发表
屏蔽所有分区?
hide是隐藏
不是屏蔽啊
用分区软件显现后装载仍然可以访问的

简单点,修改下PE
把里面对应的IDE/SATA驱动删除
这样就会找不到硬盘地``


是个好提议,删除IDE/SATA驱动!!:victory::victory:  但是会不会带来其他不稳定问题?请赐教!

(表述上有点差别,hide就达到效果了,只要在PE里访问不到硬盘分区就行)
另外,请教 grub里怎么才能引导从红叶/毛桃盘里拷贝出来的镜像呢? winpe.is_ 或 winpe.im_  引导文件(.bin,.sif什么的)需要哪些啊?顺序是什么? 想学习,请教! 谢谢!
作者: chnhhwz    时间: 2007-9-13 21:16

发办法

原帖由 hytmtet 于 2007-9-13 09:08 PM 发表
屏蔽所有分区?
hide是隐藏
不是屏蔽啊
用分区软件显现后装载仍然可以访问的

简单点,修改下PE
把里面对应的IDE/SATA驱动删除
这样就会找不到硬盘地``

作者: hytmtet    时间: 2007-9-13 21:50
原帖由 malpensa 于 2007-9-13 09:16 PM 发表


是个好提议,删除IDE/SATA驱动!!:victory::victory:  但是会不会带来其他不稳定问题?请赐教!

(表述上有点差别,hide就达到效果了,只要在PE里访问不到硬盘分区就行)
另外,请教 grub里怎么才能引 ...


驱动具体是哪些文件问毛桃吧
偶也不清楚

不过grub4dos来引导各版本PE倒是比较简单
按照思路就知道需要哪些文件了


grub4dos>setupldr.bin>ntdetect.com
                               >winnt.sif>winpe.is_


这就是需要的文件了
setupldr.bin中定义了ntdetect.com和winnt.sif的位置,名称等
例如毛桃的ntdetect.com位置被定义为/ntdetect.com;/wxpe/ntdetect.com.....
在定义的位置中,任意一个位置能找到ntdetect.com就可以正常执行
所以,如果直接使用maotao的setupldr.bin
可以把NTDETECT.COM放在根目录,也可以放在wxpe目录
当然,如果你想放在别的位置,自己改一下就可以
同样,winnt.sif也是可以改位置和路径的
毛桃的被改成了WINNT.XPE
位置仍然是磁盘根目录,注意如果要改到别的目录,目录名不要太长,目录+文件名总共字符长度和winnt.sif所占字符长度正好相等即可
例如WINNT.SIF改成WINNT.XPE或者改成BOOT\PE.X
都是可以的

然后,winnt.sif中定义了RAMDISK的启动方式, 也定义了映象的路径,例如
/rdpath=WINPE.IS_或者是
/rdpath=BOOT\WINPE.IS


所以
SETUPLDR.BIN的位置和名称是灵活的
可以随便放置,随便改名
只要grub4dos的配置菜单中,chainloader语句指定了这个位置即可
例如chainloader (hd0,4)/boot/ldr/peldr
其中,peldr就是由setupldr.bin改名而来
放置在 第一个逻辑分区的boot\ldr文件夹下

其他几个文件的路径和名称都互相引用
NTDETECT.COM的名称和路径受setupldr.bin控制
WINNT.SIF的名称和路径受setupldr.bin控制
winpe.is_的名称和路径受winnt.sif控制
作者: netwinxp    时间: 2007-9-13 22:04
删除硬盘,把IDE删了弄不好光驱也用不了
作者: ryvius    时间: 2007-9-13 22:14
留着atapi
干掉disk:lol
作者: m68    时间: 2007-9-13 22:21
是不是网吧用啊?:)
不让访问硬盘,维护功能大打折扣!

在BIOS中禁用IDE硬盘,设置BIOS setup密码,即可达到楼主目的,而不用 “给PE穿小鞋”(小题大做),万一机器出问题,还可能用它维护呢:lol
作者: malpensa    时间: 2007-9-13 22:51
原帖由 hytmtet 于 2007-9-13 09:50 PM 发表


驱动具体是哪些文件问毛桃吧
偶也不清楚

不过grub4dos来引导各版本PE倒是比较简单
按照思路就知道需要哪些文件了


grub4dos>setupldr.bin>ntdetect.com
                               >winnt.s ...


非常感谢hytmtet!
现在我明白了原来是这么一会事,等明天我拿毛桃他们的盘来实际看看。

我来说说看,看看理解得是不是正确:
1。grub4dos的配置菜单(menu.lst)中,chainloader语句指定的 引导映像文件 可以是setupldr.bin,loader.bin或者是你举例里的peldr,文件名、扩展名都可以是任意的;
2。引导映像文件中定义了ntdetect.com和winnt.sif的位置,名称等;

不写了,hytmtet都写得很清楚了。。。 !!



那么请问,winnt.sif里定义的/rdpath=BOOT\WINPE.IS_   可以替换为WINPE.IM_ 吗? 也就是,可以引导img镜像吗?
另外,我发现个问题,在红叶的V28版里,menu.lst 里没有你说的类似chainloader (hd0,4)/boot/ldr/peldr定义引导映像的语句。
以下截取主要的一段:
title Boot From DOS Toolkit
#kernel (cd)/BOOT/GRUB/MEMDISK.GZ c=60 h=8 s=36 floppy
#initrd (cd)/BOOT/DOS98.IMG c=60 h=8 s=36 floppy
map --mem (cd)/BOOT/DOS98.IMG (fd0)
map (fd0) (fd1)
map --floppies=2
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot

那么,是不是引导 img 就不用指定引导映像了? CHS指的是什么?
我试着把以上的DOS98.IMG 替换为从别处提取的winpe.img 在虚拟机里测试,可是显示说内存空间小于镜像,我估计和CHS有关,请教!

替换为winpe.img后能否在这里加入
hide (hd0,0)
hide (hd0,1) 之类的语句?

谢谢!!  

:kiss::kiss::kiss:  哈哈。。学到不少东西啊!
作者: malpensa    时间: 2007-9-13 22:57
原帖由 m68 于 2007-9-13 10:21 PM 发表
是不是网吧用啊?:)
不让访问硬盘,维护功能大打折扣!

在BIOS中禁用IDE硬盘,设置BIOS setup密码,即可达到楼主目的,而不用 “给PE穿小鞋”(小题大做),万一机器出问题,还可能用它维护呢:lol


不是,不是! 也是帮别人,那人电脑水平很菜,几乎连打字都不会,为了不让他们误操作破坏硬盘里的系统文件,所以这么做。更不要说什么设置BIOS了!! 呵呵。。。
不是给PE穿小鞋,我也是好奇,所以顺着疑问发帖学习咯。谢谢哦!
作者: hytmtet    时间: 2007-9-14 06:36
title Boot From DOS Toolkit
#kernel (cd)/BOOT/GRUB/MEMDISK.GZ c=60 h=8 s=36 floppy
#initrd (cd)/BOOT/DOS98.IMG c=60 h=8 s=36 floppy
map --mem (cd)/BOOT/DOS98.IMG (fd0)
map (fd0) (fd1)
map --floppies=2
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot


title Boot From DOS Toolkit--------定义菜单名称
#kernel (cd)/BOOT/GRUB/MEMDISK.GZ c=60 h=8 s=36 floppy----指定memdisk内核(现在基本上很少有人用了,所以已经将该命令注释掉,可以直接将该行删除)
#initrd (cd)/BOOT/DOS98.IMG c=60 h=8 s=36 floppy-------(memdisk的引导img镜像功能,对于大于2.88M的非标准镜像,必须指定CHS参数,这就是memdisk被藐视的原因,因为grub4dos自带的map --mem就不需要CHS参数,比较方便, 这一行也是被注释掉了的,无用)
map --mem (cd)/BOOT/DOS98.IMG (fd0) -----------(grub4dos自带的仿真功能,将dos98.img仿真成软盘0)
map (fd0) (fd1)-----(将软盘0仿真成软盘1, 这是为了当系统存在物理软驱,或者U盘以zip方式启动后, 可以访问物理软驱和U盘, 以盘符B:来访问)
map --floppies=2---(定义仿真磁盘数)
map --hook---------(使仿真生效)
chainloader (fd0)+1----(从软驱0(其实是img仿真的,非物理软驱0)的第一扇区启动)
rootnoverify (fd0)----(设置根为软驱0)
boot----(启动系统)

启动基于DOS的镜像都是上面的步骤
因为IMG是软盘镜像,所以仿真成FD0
如果是基于硬盘的镜像,像mini win98的img
则需要将其仿真成HD0
作者: hai2002713    时间: 2007-9-14 09:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: nn2nn    时间: 2007-9-14 10:03
提示: 作者被禁止或删除 内容自动屏蔽




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