无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 219159|回复: 779
打印 上一主题 下一主题

[发布] 模块化版NTBOOT [2011-10-11]

    [复制链接]
1#
发表于 2011-4-13 11:53:44 | 显示全部楼层
回复

使用道具 举报

2#
发表于 2011-12-1 23:33:48 | 显示全部楼层
看了上面几位测试ntboot,本人也特意测试了一下,很正常,很完美。
唯一不足的是winnt.sif没加载选项。
我的环境:
vm8,安装xp及2003
/dpms/dpms.bat及/boot/ntboot/ntboot都放在pxe服务器上,win$xp.iso,win$03.iso放在虚拟机逻辑分区D盘
pxe命令行下执行:
/boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$xp.iso addons="/dpms/dpms.bat 0"
回复

使用道具 举报

3#
发表于 2011-12-2 14:11:54 | 显示全部楼层
原帖由 sratlf 于 2011-12-2 13:37 发表
实机测试还是失败  空白硬盘  xp镜像在第二分区  ntboot等其余文件在usb-cdrom上

usb-cdrom启动后直接进入命令行  /boot/ntboot/ntboot iso_inst=firadisk cdrom=/xp.iso

到图形阶段复制文件还是让插入cd ...


安装xp没出现你的问题,安装03第二次重启后会出现这个:
不过点取消可以安装下去,本次安全策略运行说mmc管理单元没有运行,但mmc管理正常。
-----------
下图说明保护模式下F盘(firadisk自动虚拟的)这个时候已经不存在了。
应该是firadisk驱动的问题

[ 本帖最后由 zhaohj 于 2011-12-2 14:47 编辑 ]

Snap1.jpg (37.03 KB, 下载次数: 129)

Snap1.jpg
回复

使用道具 举报

4#
发表于 2011-12-2 17:19:37 | 显示全部楼层
虚拟的光盘盘符存在的,但空
稍等截图....
write --offset=%offset% (1)/txtsetup.oem value=Parameters,StartOptions,REG_SZ,"%fira.opt%"
是否应该再加一句:
value=Parameters,DisableDetectedRAMDrives,REG_DWORD,0
value=Parameters,DisableDetectedRAMDrives,REG_DWORD,0

[ 本帖最后由 zhaohj 于 2011-12-2 18:07 编辑 ]

Snap1.jpg (43.15 KB, 下载次数: 131)

Snap1.jpg
回复

使用道具 举报

5#
发表于 2011-12-2 17:54:59 | 显示全部楼层
测试环境 vm7 C盘6G,D盘4G,win$03.iso(2003 SP2 R2 标准版原版)放在D盘,已连续无碎片。
启动环境:pxe,pxe上有:
/dpms/dpms.bat 及相关驱动文件
/boot/ntboot/ntboot 及相关文件
-------------
pxe启动,命令行输入
/boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$03.iso addons="/dpms/dpms.bat 0"
1:光盘启动后按任意键安装,这步全正常,重启
2:pxe启动转硬盘启动,输入key等以后,见上面的百分比,下面就出现以上情况

[ 本帖最后由 zhaohj 于 2011-12-2 18:02 编辑 ]
回复

使用道具 举报

6#
发表于 2011-12-2 21:15:39 | 显示全部楼层
我的vmplayer3,原版,100M左右。
--------------
如果我先运行
/dpms/dpms.bat 0
fat copy /winnt.sif (fd0)/
/boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$03.iso

为何winnt.sif无效呢?

---------------------
问题找到,见:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=190203&page=52#pid2349754

[ 本帖最后由 zhaohj 于 2011-12-5 12:14 编辑 ]
回复

使用道具 举报

7#
发表于 2011-12-3 12:46:09 | 显示全部楼层
哈哈,最好改成“纯净”,改成在安装完成操作后,再注册表清理firadisk有关的信息。
回复

使用道具 举报

8#
发表于 2011-12-4 10:05:35 | 显示全部楼层
经过测试,无分区表的仿真软盘(fd0),把winnt.sif拷入(fd0),安装系统不认这个文件。

firadisk.cmd中有笔误,少写了个\
[-HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Control\FiraDisk]
[-HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Enum\FIRADISK]

[ 本帖最后由 zhaohj 于 2011-12-4 10:41 编辑 ]
回复

使用道具 举报

9#
发表于 2011-12-4 13:08:49 | 显示全部楼层
注册表关键的位置,手动都无法删除

Snap1.jpg (27.5 KB, 下载次数: 145)

Snap1.jpg
回复

使用道具 举报

10#
发表于 2011-12-5 11:56:32 | 显示全部楼层
C大,下面这段代码得改一下,不然原有(fd0)无效了。

:ISO_INST64
set ISO_TYPE=amd64
:ISO_INST
shift 1
::以下命令用于生成一个空白的软盘(fd0)
::此行本人增加 if exist (fd0)+1 goto :existfd0
echo > (md)0x200+2
write --offset=0xb (md)0x200+3 \x00\x02\x01\x01\x00\x01\x70\x00\x10\x00\xfd\x01\x00\x08\x00\x01
write 0x401FE 0xAA55
write 0x40200 0xfffffe
map --mem (md)0x200+2 (fd0)
:existfd0
::转换到大写
set /u boot=%1.IMG
set boot=%NTBOOT%.IMG/%boot%
::自动加载对应驱动的软盘镜像到(fd1)
map --mem %boot% (fd1) || call :Error Missing Module %boot%...
::如果用户指定了floppy的话将会由用户指定的镜像代替
set boot=cdrom
set ISO_INST=%1
goto :%1
回复

使用道具 举报

11#
发表于 2011-12-5 12:16:51 | 显示全部楼层
原帖由 chenall 于 2011-12-4 12:48 发表
老眼昏花了。嘿嘿。。

:::
无分区表的仿真软盘(fd0),把winnt.sif拷入(fd0),安装系统不认这个文件。??
软盘本来就没有分区表啊?分区表的位置是引导扇区。应该影响不大的说。

我晚上再试试。


问题找到,见:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=190203&page=52#pid2349754
回复

使用道具 举报

12#
发表于 2011-12-5 15:25:12 | 显示全部楼层
ntboot iso_inst=firadisk cdrom=/winxp.iso addons="/boot/addons/dpms/dpms.bat 0"
-------
我想在/boot/addons/dpms/dpms.bat 0 后执行fat copy /winnt.sif (fd0)/
怎么写?
回复

使用道具 举报

13#
发表于 2011-12-6 08:14:17 | 显示全部楼层
环境:VM7 硬盘 c:6G D:4G D盘上有win$03.iso
启动环境:pxe,/boot/ntboot/ntboot等文件在pxe上,/dpms/dpms.bat及相关文件在pxe上,/boot/grub/fat文件在PXE上
        
title 10  TEST ntboot install win$03.iso from (hd0,4)
set BOOT=fat copy /o (pd)/winnt03.sif (fd0)/winnt.sif
/boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$03.iso addons="/dpms/dpms.bat 0"
boot

在命令行下如果没有set BOOT=fat copy /o (pd)/winnt03.sif (fd0)/winnt.sif,直接执行
/boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$03.iso addons="/dpms/dpms.bat 0"是可以运行的。

Snap1.jpg (109.04 KB, 下载次数: 148)

Snap1.jpg
回复

使用道具 举报

14#
发表于 2011-12-6 08:43:56 | 显示全部楼层
原帖由 chenall 于 2011-12-6 08:19 发表
只是增加这个变量的话不太可能出现问题的。因为这个变量是在要启动之前才执行的。我就经常用这个变量来调试set BOOT=commandline再启动NTBOOT就会自动进入COMMANDLINE了。

你可以跟踪一下看看执行DPMS.BAT时 ...


这时的root已经在(hd0,4)了
下面是这样的调试结果:
title 10  TEST ntboot install win$03.iso from (hd0,4)
set BOOT=fat copy /o (pd)/winnt03.sif (fd0)/winnt.sif
/boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$03.iso addons="/boot/addons/dpms/dpms.bat 0"
boot

在上图第一个错误处进入命令行:
输入绝对路径可可以:addons="(pd)/boot/addons/dpms/dpms.bat 0"

[ 本帖最后由 zhaohj 于 2011-12-6 08:47 编辑 ]

Snap2.jpg (33.68 KB, 下载次数: 146)

Snap2.jpg
回复

使用道具 举报

15#
发表于 2011-12-6 08:52:52 | 显示全部楼层
奇怪的事情发生了:

启动光盘之前,怎么进入命令行?

[ 本帖最后由 zhaohj 于 2011-12-6 09:02 编辑 ]

Snap3.jpg (21.71 KB, 下载次数: 142)

Snap3.jpg
回复

使用道具 举报

16#
发表于 2011-12-6 09:13:21 | 显示全部楼层
调试了一下,C大看看:

[ 本帖最后由 zhaohj 于 2011-12-6 09:15 编辑 ]

Snap1.jpg (61.35 KB, 下载次数: 137)

Snap1.jpg

Snap2.jpg (104.3 KB, 下载次数: 149)

Snap2.jpg

Snap3.jpg (23.06 KB, 下载次数: 146)

Snap3.jpg
回复

使用道具 举报

17#
发表于 2011-12-6 10:09:38 | 显示全部楼层
原帖由 chenall 于 2011-12-6 09:46 发表
你有改过吗?如果没有改过,可能和你的WINNT.SIF文件有关吧。


没有修改过。
改成#set BOOT=fat copy /o (pd)/winnt03.sif (fd0)/winnt.sif 也一样

先运行/boot/addons/dpms/dpms.bat 0
再     /boot/ntboot/ntboot iso_inst=firadisk cdrom=/win$03.iso
没有问题!

----------------------------------------
分析原因,下面这段代码引起的问题
:ISO_INST64
set ISO_TYPE=amd64
:ISO_INST
shift 1
::以下命令用于生成一个空白的软盘(fd0)
echo > (md)0x200+2
write --offset=0xb (md)0x200+3 \x00\x02\x01\x01\x00\x01\x70\x00\x10\x00\xfd\x01\x00\x08\x00\x01
write 0x401FE 0xAA55
write 0x40200 0xfffffe
map --mem (md)0x200+2 (fd0)

---------------------
也许是grub4dos的bug,只要先生成一个MS认为非标准的软盘格式的(fd0),就会产生这个问题。
或者先生成(fd1)再生成(fd0)也会一样。
这个问题以前也遇到过,hotdll(稀饭放姜)也同时遇到的这个问题。
即使后来dpms生成标准格式的(fd0),此时也无效。也许是map --hook或map --rehook的问题。

[ 本帖最后由 zhaohj 于 2011-12-6 14:57 编辑 ]

Snap1.jpg (31.03 KB, 下载次数: 155)

先运行dpms后的效果

先运行dpms后的效果
回复

使用道具 举报

18#
发表于 2011-12-6 20:35:38 | 显示全部楼层
再次测试:
在boot前交换仿真软盘:
map (fd0) (fd1)
map (fd1) (fd0)
map --rehook ##此处用map --hook无效
这样也成功。
回复

使用道具 举报

19#
发表于 2011-12-14 08:32:02 | 显示全部楼层
根据http://bbs.wuyou.net/forum.php?mod=viewthread&tid=203313&page=1#pid2351634
C大是改动ntboot呢还是改动dpms.bat?
下面是我只改动dpms.bat的情况:
另C大的P处理下次保存为UTF-8,方便调试时显示中文。

[ 本帖最后由 zhaohj 于 2011-12-14 13:53 编辑 ]

dpms.rar

2.32 KB, 下载次数: 15, 下载积分: 无忧币 -2

回复

使用道具 举报

20#
发表于 2011-12-14 10:19:46 | 显示全部楼层
发现一个问题,dpms.bat中
map --mem (md)+5760 (8)
map --hook
echo -n 膻 > (8)+40
write --offset=0xc (8) \2\2\1\0\2\xf0\0\x80\x16\xf0\x9\0\x24\0\2
write --offset=0x26 (8)+1 \x29DPMSchenall.netFAT12
write --offset=0x1fe (8)+2 \x55\xAA\xf0\xff\xff
上面的代码ms不认(fd0)/winnt.sif

改成下面的就认:
map --mem (md)+5760 (8)
map --hook
fat mkfs (8) > nul
write --offset=0x18 (8) \x24\0\2

[ 本帖最后由 zhaohj 于 2011-12-14 10:24 编辑 ]
回复

使用道具 举报

21#
发表于 2011-12-14 11:18:52 | 显示全部楼层
原帖由 zoom4ever 于 2011-12-14 11:10 发表
C大 直接把下载后的DPMS.ISO放到 NTBOOT.ISO的BOOT\NTBOOT\NTBOOT.MOD\目录下 然后在虚拟机测试 用NTBOOT.ISO作为光盘启动 选择windows install 然后再选择第二项 Setup Windows from iso to hdd(firadisk with ...


把dbms.bat及相关文件拷贝到/boot/addons/dpms/
当然也可以放在其他地方,但菜单要改。
回复

使用道具 举报

22#
发表于 2011-12-14 11:28:25 | 显示全部楼层
原帖由 zoom4ever 于 2011-12-14 11:20 发表
Z大说的是 刚才测试了 好用~ 但是直接放到NTBOOT.MOD目录下为什么不行呢?


NTBOOT.MOD目录下的dpms是一个批处理,调用默认目录下的/boot/addons/dpms/dpms.bat
回复

使用道具 举报

23#
发表于 2011-12-14 13:54:41 | 显示全部楼层
原帖由 zoom4ever 于 2011-12-14 13:16 发表
Z大 你在“用ISO镜像安装NT5.X系统同时存在AB盘的必要条件”这个帖子中说
第三次测试:
按照第二次测试的过程,在启动光盘前(boot),交换磁盘
map (fd0) (fd1)
map (fd1) (fd0)
map --rehook
rootnoverif ...


可以参考:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=190203&page=54#pid2354877
回复

使用道具 举报

24#
发表于 2011-12-15 10:03:08 | 显示全部楼层
@zoom4ever:
你把driverpack.ini中
[I9]
; 10.8.0.1003
ms_count=1
ms_1_deviceName="Intel ICH9/ICH10 SATA AHCI/RAID RST 10.8"
ms_1_tag="iastor9"
ms_1_sysFile="iastor9.sys"

上面的iastor9全改成iastor,因为intel驱动,8版本以上,安装系统是不能改名的。
回复

使用道具 举报

25#
发表于 2011-12-15 10:58:46 | 显示全部楼层
那说明还是驱动不匹配。
你用原版的驱动,覆盖[I9]中相关文件测试一下。

@chenall:
:FIRADISK_BOOT
:WINVBLK_BOOT
map --hook
::详情:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=203313
if /i %ISO_INST%==firadisk && set /a fdn=1 ! set /a fdn=0
map (%fdn%)+1 (rd)
map --mem (rd)+1 (%fdn%)
map --rehook
if exist BOOT && %BOOT%
if /i "%boot%"=="cdrom" && chainloader (0xCD) && boot
if /i "%boot%"=="harddisk" && chainloader (hd0)+1 && boot
if /i "%boot%"=="floppy" && chainloader (fd0)+1 && boot
exit

[ 本帖最后由 zhaohj 于 2011-12-15 11:08 编辑 ]
回复

使用道具 举报

26#
发表于 2011-12-15 14:20:30 | 显示全部楼层
原帖由 zoom4ever 于 2011-12-15 14:17 发表
把iastor.sys在I9文件夹进行了替换也还是不行,蓝屏后进PE看了下iastor.sys 发现已经是替换的版本了,证明替换文件应该没有错。
我又试着改了下NTBOOT 让NTBOOT做完所有的操作进入命令行 这时候我把x220srs.im ...


你的xp.iso是原版的吗?我怀疑你的ISO已集成驱动了。
回复

使用道具 举报

27#
发表于 2011-12-15 15:36:31 | 显示全部楼层
看不到图片,晕             .
回复

使用道具 举报

28#
发表于 2011-12-15 16:13:39 | 显示全部楼层
即使是512M内存也足够了,因为用map非mem基本不占内存。256M也足够了。
除非你的ISO在硬盘上不连续。
回复

使用道具 举报

29#
发表于 2011-12-15 16:35:12 | 显示全部楼层
原帖由 zoom4ever 于 2011-12-15 16:25 发表
但是我直接能map --mem XP的ISO镜像,也能启动 就是到分区的时候报错:内存不足~~
而且我也尝试map --mem --top 把ISO加载到高端内存 但是分区的时候还是提示这个错误~~ 看来这个本不能MAP内存安装了

不ma ...


1:你进入BIOS看一下,你到底是多大内存?
2:进入grldr命令行,diaplaymem
    查看一下内存

别在这里讨论ntboot外的事情,你可以另开帖子讨论。
回复

使用道具 举报

30#
发表于 2011-12-16 09:19:26 | 显示全部楼层
原帖由 zoom4ever 于 2011-12-15 18:54 发表
Z大,应该是NTBOOT有问题 我在我P45的台式机上测试 一样在GUI安装之前出现7B蓝屏  而我手动方针XP.ISO firadisk仿真(fd0) 10rsrs.img (fd1) 这样就没有问题 ~


是dpms的问题。
很显然,对intel的驱动,/dpms/d/m/i9目录下存在下面文件:
iastor.inf
iaahci.inf
iastor.sys
iastor.cat
iastor.cat
------------------
driverpack.ini中(把iastor9已改成iastor)
[I9]
; 10.6.0.1002
ms_count=1
ms_1_deviceName="Intel ICH9/ICH10 SATA AHCI/RAID RST 10.6"
ms_1_tag="iastor"
ms_1_sysFile="iastor.sys"
-----------------------
很显然,DPMS只会复制iastor.inf、iastor.sys这两个文件,而iaahci.inf不会复制。

C大应该修改dpms,先判断是否存在txtsetup.oem,存在的话,分析oem
[HardwareIds.scsi.iaAHCI_9MEM]
id = "PCI\VEN_8086&DEV_2929&CC_0106","iaStor"

[Files.scsi.iaAHCI_9MEM]
driver = disk1, iaStor.sys, iaStor
inf = disk1, iaAHCI.inf
catalog = disk1, iaAHCI.cat

从[Files.scsi.iaAHCI_9MEM]段落复制文件。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-11 04:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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