无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 527104427

[分享] ..................................

    [复制链接]
发表于 2012-3-2 09:04:14 | 显示全部楼层

回复 #89 2011回忆爱情 的帖子

1、你没有加载中文字库。

2、XP启动丢失hal.dll文件;安装系统时反复提示hal.dll损坏或找不到的解决方案

同事的机器很神奇,上午装的系统,下午就病毒缠身,安装什么杀毒软件也无济于事。小伙子自己搞了好几天,重装了好几十遍,依然如此。这个时候,我就出场了,借了几张工具盘,看我老将上阵如何应付?

首先,使用DM分区,彻底搞废病毒。然后使用联想机器自带的winxp安装盘安装,重启黑屏半天居然提示找不到hal.dll。小问题,重新光驱启动,到控制台看看,可该死的联想自带系统盘居然没这个选项,借一张光盘,启动后在“恢复控制台”下将光盘上i386目录中的HAL文件提取出来放到Windows\system32中。操作步骤如下:


Del C:\windows\system32\hal.dll

expand X:\i386\halaacpi.dl_ C:\windows\system32\hal.dll

exit


注意,这里假设C盘是你安装XP的盘,而X是光驱所在的盘。

重新启动,还是提示找不到,难道光盘坏了?用借来的光盘安装,依然如故。还是提示找不到,奇怪了。难道病毒搞鬼?看借来的盘里有PQ,把这个家伙启动,居然提示硬盘有错误。不可能啊,分区的时候也没提示错误啊。只好用DM再次重新分区。重复下来,还是如此,用借来刚盘的效率源扫了一下硬盘分区表,没问题啊。这个时候我想到了boot.int文件,是不是这个家伙把目录给指定错了?重新光盘启动,进入DOS环境,打开boot.int一看,果然,居然在本来是multi的位置,出来一个signiture。肯定不对,改成multi(0),保存不了,呵呵,哦,文件是只读的。于是把boot.ini的只读属性去掉,改完保存,重启。呵呵,WinXP进度条终于出现了。

下面是我的操作步骤,用光驱启动到dos环境后的操作,全部在C盘根目录下。


attrib boot.ini -r -h 去掉只读和隐藏属性

edit.boot.ini


改好后,按alt+F键保存boot.ini。

仿照下面正常安装XP时的启动菜单改,我就仅仅改了multi那个位置。


[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /NOEXECUTE=OPTIN /FASTDETECT


如果你觉得这个方法麻烦,我用的是雨林枫做的XP安装盘里的工具,看到里面有个win PE,或者类似的用光盘启动的系统,进入桌面后到C盘下更改boot.ini。如果这个你也觉得难,把这块硬盘挂到别的机器下,改一下就OK了。

搞定后,觉得还是有些不对劲,为什么那块出一串signiture呢?的呢?又使用KV3000查了一遍毒,没有。哎!只能这么疑惑着了。

下面是在软件星空论坛看到的关于hal.dll的一些信息。



hal – hal.dll – DLL文件信息

DLL 文件: hal 或者 hal.dll

DLL 名称: Microsoft Windows Hardware Abstraction Layer DLL

描述:

hal.dll是Windows硬件提取层模块,该用于用于解决硬件的复杂性。

属于: Microsoft Windows Operating System

系统 DLL文件: 是

常见错误: File Not Found, Missing File, Exception Errors

关键词: 无法进入Windows?XP,提示hal.dll损坏或丢失

问:

现在无法启动 Windows XP 了,提示“因以下文件的损坏或丢失,Windows无法启动:\system32\hal.dll. 请重新安装以上文件的拷贝。”请问如何解决?

答:

该故障是由于hal.dll文件损坏或丢失引起的。

解决的方法:

插入 Windows XP的安装光盘,在“恢复控制台”下将光盘上i386目录中与你电脑硬件相匹配的HAL文件解压缩到Windows\system32中,并把文件名更改为hal.dll即可。HAL文件如下表所示,共分为7种,但目前的电脑通常都为“ACPI Uniprocessor PC”或“Advanced Configuration and Power Interface (ACPI) PC”,因此我们在替换时可以先尝试这两个。不同硬件配置的电脑,系统使用的HAL文件可能不同的,所以如果替换为与电脑不匹配的 HAL 文件,将可能导致系统无法启动。下面将介绍如何在“恢复控制台”下完成整个操作:

假设 Windows XP 安装在C盘,F盘为光驱,系统的 HAL 文件属于“ACPI Uniprocessor PC”,那么进入“恢复控制台”后依次运行以下命令:

Del C:\windows\system32\hal.dll

expand F:\i386\halaacpi.dl_ C:\windows\system32\hal.dll

exit

计算机的描述文字及对应的 HAL 文件

计算机的描述文字 对应的 HAL 文件

ACPI Multiprocessor PC halmacpi.dl_

ACPI Uniprocessor PC halaacpi.dl_

Advanced Configuration and Power Interface (ACPI) PC halacpi.dl_

MPS Multiprocessor PC halmps.dl_

MPS Uniprocessor PC halapic.dl_

Standard PC hal.dl_

Compaq SystemPro Multiprocessor or 100% Compatible halsp.dl_

开机的时候进XP系统,提示:“systemrootsystem32hal.dll文件非法或该文件已损坏,系统无法启动”,搜索了一下,产生这个问题的原因无非有二:hal.dll确实丢失或损坏或boot.ini指示的路径有问题。
重新开机,进入ubuntu系统,mount上XP的c盘,找到boot.ini,打开来看,原文如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /DETECTHAL

windows的路径是正确的,我印象中大部分XP启动时只有/fastdetect这一个参数,所以备份boot.ini文件,然后把/DETECTHAL参数删除,重启,XP又可以正常启动了。

detecthal 参数是 Windows Longhorn 或现在叫 vista 里才有的一个参数 , 用于开机启动自动检测 HAL ( 硬件抽象层 ) 。在我的这个文件中出现这个参数应该是ntldr带来的。
回复

使用道具 举报

 楼主| 发表于 2012-3-2 10:02:47 | 显示全部楼层
原帖由 2010guoguo 于 2012-3-1 16:34 发表
建议楼主将磁盘交换界面放在最后一步,我试了试交换后再加载驱动就会出错,试了dpms.bat 以及F6IMG,都是这样交换后:137962
137963
137964
如果不交换:就没事
137965137967

好的,谢谢提供解决方案,已更新,请重新下载!
回复

使用道具 举报

 楼主| 发表于 2012-3-2 10:09:58 | 显示全部楼层
原帖由 jh1688 于 2012-3-2 09:04 发表
1、你没有加载中文字库。

2、XP启动丢失hal.dll文件;安装系统时反复提示hal.dll损坏或找不到的解决方案

同事的机器很神奇,上午装的系统,下午就病毒缠身,安装什么杀毒软件也无济于事。小伙子自己搞了好 ...

哈哈,兄弟太有心了,经你这么一说,我倒想起来了,

这种情况就是boot.ini中路径错误造成的:
安装系统的时候将hd1与hd0交换,hd1自然就成了hd0,然后又将系统装在了hd1(就是原来的hd0),启动后就会出现这种情况

解决方法:进PE将boot.ini中的disk(1)改成disk(0)就行了,注意要改两处



=============================================================================
为什么要交换磁盘,就是为了避免这种情况,安装系统时最好将系统装在hd0,如果还要装在非hd0上,那么就失去交换磁盘的意义了!

[ 本帖最后由 527104427 于 2012-3-2 10:15 编辑 ]
回复

使用道具 举报

发表于 2012-3-2 10:17:19 | 显示全部楼层
原帖由 527104427 于 2012-3-2 10:09 发表

哈哈,兄弟太有心了,经你这么一说,我倒想起来了,

这种情况就是BOOT.INI中路径错误造成的:
安装系统的时候将hd1与hd0交换,hd1自然就成了hd0,然后又将系统装在了hd1(就是原来的hd0),启动后就会出现 ...


这不是有心!!!这是N年前,狗庇的联想电脑给我的教训,不用它的原版装就会出现,搞了N久才发现是BOOT.INI文件指向错误,所以留下心得到现在,当然,现在的联想已经没有这类情况了,什么盘都能装了……
回复

使用道具 举报

 楼主| 发表于 2012-3-2 10:19:50 | 显示全部楼层
关于乱码的问题,可能是在加载SISO之前就已加载了字体,并且这个字体是定制的(小字库,字体不全),
SISO会自动检测,检测到已加载了字体,就不会重复加载,所以就乱码了
回复

使用道具 举报

发表于 2012-3-2 10:28:19 | 显示全部楼层
ok!问题解决了。。。。。。。
回复

使用道具 举报

 楼主| 发表于 2012-3-2 10:49:27 | 显示全部楼层
乱码的问题,修改了一下,请重新下载
回复

使用道具 举报

发表于 2012-3-2 10:57:50 | 显示全部楼层
新版本同样有如下问题:

command ()/BOOT/GRUB/SISO iso=/ISO/ srs=n sif=n -1
使用上面命令ISO整体启动PE1.x正常; ISO整体启动PE3.x,出现未发现指定文件错误,需要输入SIF文件路径

command ()/BOOT/GRUB/SISO iso=()/WXPE/SETUPLDR.BIN srs=n sif=n -1
使用上面命令解开启动PE1.x出现同样的错误
回复

使用道具 举报

 楼主| 发表于 2012-3-2 11:50:59 | 显示全部楼层
原帖由 2012sxz 于 2012-3-2 10:57 发表
新版本同样有如下问题:

command ()/BOOT/GRUB/SISO iso=/ISO/ srs=n sif=n -1
使用上面命令ISO整体启动PE1.x正常; ISO整体启动PE3.x,出现未发现指定文件错误,需要输入SIF文件路径

command ()/BOOT/GRUB/ ...

抱歉,我这测试正常……—*—*—……%—%))()——)()——……¥%¥……%
回复

使用道具 举报

发表于 2012-3-2 15:31:09 | 显示全部楼层
command ()/BOOT/GRUB/SISO iso=()/WXPE/SETUPLDR.BIN srs=n sif=n -1
使用上面命令解开启动PE1.x,出现未发现指定文件错误,需要输入SIF文件路径

command ()/BOOT/GRUB/SISO iso=()/ISO/SETUPLDR.BIN srs=n sif=n -1
使用上面命令解开启动PE1.x正常

command ()/BOOT/GRUB/SISO iso=/ISO/ srs=n sif=n -1
使用上面命令ISO整体启动PE1.x正常; ISO整体启动PE3.x,出现未发现指定文件错误,需要输入SIF文件路径

是不是对文件名,路径名有特定的要求?
回复

使用道具 举报

 楼主| 发表于 2012-3-2 16:12:59 | 显示全部楼层
原帖由 2012sxz 于 2012-3-2 15:31 发表
command ()/BOOT/GRUB/SISO iso=()/WXPE/SETUPLDR.BIN srs=n sif=n -1
使用上面命令解开启动PE1.x,出现未发现指定文件错误,需要输入SIF文件路径

command ()/BOOT/GRUB/SISO iso=()/ISO/SETUPLDR.BIN srs=n  ...

启动PE,有其它不确定因素,无法智能判断
这个是为了安装系统而写的,不建议作其它用途
回复

使用道具 举报

发表于 2012-3-2 16:38:03 | 显示全部楼层

回复 #100 2012sxz 的帖子

启动PE可以下载S大的RUN或Z大的RUN,效果要好一点,其原来专门为PE而制作……
回复

使用道具 举报

发表于 2012-3-2 17:28:56 | 显示全部楼层
那么解开ISO安装XP,是不是也有同样的问题,SETUPLDR.BIN 文件必须放在ISO目录下.
回复

使用道具 举报

发表于 2012-3-2 17:34:03 | 显示全部楼层
原帖由 2012sxz 于 2012-3-2 17:28 发表
那么解开ISO安装XP,是不是也有同样的问题,SETUPLDR.BIN 文件必须放在ISO目录下.


没用过!!!!

你可以试一下!!!!!
回复

使用道具 举报

发表于 2012-3-3 00:28:12 | 显示全部楼层
我试一下不行,提示如下:
please insert the disk labeled
windows xp professional service pack 3 cd
into  drive a:
回复

使用道具 举报

发表于 2012-3-3 07:42:14 | 显示全部楼层
我是 usb 的

usb-hdd

一開始就亂碼 了

訊息 等等補上來..
回复

使用道具 举报

发表于 2012-3-3 08:32:28 | 显示全部楼层

回复 #105 2012sxz 的帖子

这个SISO用的是ISO载入内存方式安装的,现在内存都大于1g没必要解压,如果想解压安装XP可以在DOS下加载smartdrive 不过貌似有时会失败
回复

使用道具 举报

 楼主| 发表于 2012-3-3 08:33:40 | 显示全部楼层
原帖由 2012sxz 于 2012-3-3 00:28 发表
我试一下不行,提示如下:
please insert the disk labeled
windows xp professional service pack 3 cd
into  drive a:

自动应答文件是要改造的,不能原封不动地搬过来,否则肯定失败
回复

使用道具 举报

发表于 2012-3-3 09:36:46 | 显示全部楼层
原帖由 2010guoguo 于 2012-3-3 08:32 发表
这个SISO用的是ISO载入内存方式安装的,现在内存都大于1g没必要解压,如果想解压安装XP可以在DOS下加载smartdrive 不过貌似有时会失败

...........

暈倒  這個 要早點說阿  冏了

旁邊一台 五六年 小本本 才 512mb  xd
回复

使用道具 举报

发表于 2012-3-3 09:52:56 | 显示全部楼层

回复 #109 2011回忆爱情 的帖子

你又没问,呵呵,不过如果512M,可以用map 命令安装,不用--mem ,前提是win$.iso连续存放。
回复

使用道具 举报

 楼主| 发表于 2012-3-3 09:54:21 | 显示全部楼层
原帖由 2010guoguo 于 2012-3-3 09:52 发表
你又没问,呵呵,不过如果512M,可以用map 命令安装,不用--mem ,前提是win$.iso连续存放。

SISO优先MAP,MAP失败后--MEM
回复

使用道具 举报

发表于 2012-3-3 10:56:20 | 显示全部楼层
自动应答文件要如何改造? 能给个例子吗?
回复

使用道具 举报

发表于 2012-3-3 11:14:35 | 显示全部楼层
我有试了一下,解开安装XP可以,光有I386目录下的文件不行,需把光盘下的其他文件也拷进来,
可能须要WIN51,WIN51IP,WIN51IP文件
回复

使用道具 举报

发表于 2012-3-30 06:54:13 | 显示全部楼层

回复 #1 527104427 的帖子

自动搜索ISO ,只是默认不输入的情况下,只搜索名字为MYISO.ISO,

有可能一个目录保存多个版本的系统ISO,安装时可根据需要选择版本。

有可能不知道ISO保存在磁盘哪个具体位置的。

建议改成搜索所有磁盘上的ISO文件,有更大的帮助!
回复

使用道具 举报

 楼主| 发表于 2012-3-30 08:30:38 | 显示全部楼层
原帖由 2011aaaaa0808 于 2012-3-30 06:54 发表
自动搜索ISO ,只是默认不输入的情况下,只搜索名字为MYISO.ISO,

有可能一个目录保存多个版本的系统ISO,安装时可根据需要选择版本。

有可能不知道ISO保存在磁盘哪个具体位置的。

建议改成搜索所有磁 ...


也可指定一个文件夹:
command /siso  iso=/iso/  firax86  srs=f6img  (ud)/boot/srs  sif=/winnt.sn  3




回复

使用道具 举报

发表于 2012-3-30 15:00:28 | 显示全部楼层
原帖由 <i>527104427</i> 于 2012-3-30 08:30 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2411556&ptid=205934" 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(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />

<br />

<br />

<br />

<br />
<br />

用深度6.2小盘测试,同样的文件和配置文件,在虚拟机上成功安装了,可在真机上还没进入选择安装的分区之前就蓝屏了,求愿因和解决办法
回复

使用道具 举报

发表于 2012-3-31 08:59:34 | 显示全部楼层
原帖由 <i>527104427</i> 于 2012-2-22 12:10 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2388989&ptid=205934" 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(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />
是批处理里面集成的,经过特殊处理,文本阶段完成后直接从硬盘启动<br />
<br />
如果用原版的FIRADISK,第二次还要挂载ISO才能从硬盘启动
<br />


那请问个加载自定的FIRADISK要怎么部署和配置菜单才可以实现一步安装?

我调用的命令是:

/SISO iso=/win$.iso srs=/boot/grub/f6img sif=n 1
回复

使用道具 举报

 楼主| 发表于 2012-3-31 11:56:01 | 显示全部楼层
原帖由 2011aaaaa0808 于 2012-3-31 08:59 发表



那请问个加载自定的FIRADISK要怎么部署和配置菜单才可以实现一步安装?

我调用的命令是:

/SISO iso=/win$.iso srs=/boot/grub/f6img sif=n 1



只需要一个SISO,还有F6IMG的驱动:

/SISO iso=/win$.iso srs=f6img ()/srs sif=n 3 [/quote]


第一个红色字体()/srs,这是F6IMG的驱动目录,视具体情况而定,不需要F6IMG这个批处理,只要驱动
第二个红色字体表示防蓝屏参数,一般用3就行了,用1可能会蓝屏
一步到位,不需要另外准备FIRADISK
回复

使用道具 举报

发表于 2012-4-15 20:02:56 | 显示全部楼层
2011aaaaa0808:
系统,你的工具非常强大,经过我的测试,支持一步安装系统。但是有几个小建议:
1.建议增加swap参数,这样就可以全自动了,不需要用户再去交换磁盘的提示了,可以参考夜大的参数--swap默认交换第一和第二块磁盘(静默安装);--swap-ext给出所有磁盘让用户选择。
2.能否当用户的sif=no和srs=no的时候不要再去管(fd0)和(fd1)了?我发现我再使用siso iso=%myisodir% srs=n sif=n 3的时候,我预先加载到(fd0)中的RSR驱动和SIF没有了,我加载 到fd1中的FIRA驱动被你的给替换了。建议设置为no的时候不要去管fd0和fd1了,因为用户可能事先已经加载了相关驱动和文件,似乎你的也应该增加一个--fira=[firax86|firax64]参数,否则无论如何都会加载。
另外,我想问下“只需挂载一次ISO,第二次直接从硬盘启动”是因为你的SISO模块会在第二阶段使用FIRA驱动把原来加载的ISO加载到内存中而可直接使用(第一阶段需要G4D模拟加载,第二阶段是用MS系统来实现的,不需要加载到内存,会模拟一个虚拟光驱并加载ISO)。问下:这是如何实现的,因为发现只有你的模块和夜大的RUN模块我测试具有一步安装功能,。

非常感谢。

[ 本帖最后由 HUNRYBECKY 于 2012-4-15 20:07 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2012-4-16 00:22:24 | 显示全部楼层
原帖由 HUNRYBECKY 于 2012-4-15 20:02 发表
2011aaaaa0808:
系统,你的工具非常强大,经过我的测试,支持一步安装系统。但是有几个小建议:
1.建议增加swap参数,这样就可以全自动了,不需要用户再去交换磁盘的提示了,可以参考夜大的参数--swap默认交换 ...

有FIRAX86/86的参数

只有用内置的FIRA驱动,才能实现一次性安装,所以,不处理FD0\FD1,我还没能力办到

另外,我这个批处理,只是一个玩具,只要没什么大问题,都不打算更新了。说到实用性,还是用S大的吧

一次性安装的秘密就在下面几句:
cat --locatei=###### --number=1 (0)/TXTSETUP.OEM | set fk0= > nul
if not %fk0%#==# set /A fk0=0x%fk0% > nul
if not %fk0%#==# write --offset=%fk0% (0)/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"cdrom,vmem=find:%iso%;"\r\n > nul
if not %fk0%#==# cat --skip=%fk0% --locate=/ --replace=\\ (0)/TXTSETUP.OEM > nul
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 00:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表