无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2700|回复: 13
打印 上一主题 下一主题

[思想]用 NTOSKRNL 进行虚拟软驱启动

[复制链接]
跳转到指定楼层
1#
发表于 2005-4-27 22:07:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
NTLDR 可以载入任意大小的 ntoskrnl:                                       
    我们似乎可以"投机"一下,作一个类似于 NTOSKrnl.exe 的程序, 让 ntldr 从任何位置载入到
内存,在保护模式下运行, 他可以包括一个 fdd 镜像的资源,然后进行(多)启动;  不过,这个东东,需要
在安装了 NT 系统的机器上使用. 当然,也许我们可以精简载入需要的文件. ;-)
    以前我们总是以 "c:\xxx.zzz=`yyy yyy yyy`" 来作多启动的文章, 而另外的一方,
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Embedded" /noexecute=optin /fastdetect
    我们似乎还没有用上! ^_^ 我想,用这种保护模式下的大文件载入,是完全可以实现的,
而且 1.44/2.88M 进行压缩, 估计让整个程序大小可以保证低于 5MB, 而这不算什么
NTLDR 性能优越, 它连注册表那么几十兆的文件都能解析,读取, 它,还有什么不能读取的
呢?
    正好是在保护模式,也许, AviatoR 就能借用这个启动方式... ...
    不知诸位,对此,有什么好的想法没有.

[UploadFile=mambohut_compo_1114610842.png]
14#
发表于 2005-4-28 16:06:03 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

很佩服各位大哥的钻研精神,仿佛又看到原来无忧论坛的纯技术讨论、研究的气氛:)
回复

使用道具 举报

13#
发表于 2005-4-28 10:23:46 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

[这个贴子最后由Acronis在 2005/04/28 10:25am 第 1 次编辑]
下面引用由useronce2005/04/28 09:46am 发表的内容:
TO Acronis:

我觉得你的想法很独到. ;-) 问题发生在, ieldr 和 ntldr 的运行空间
不一致,也就是说, 你用 ntldr 的载入方式载入 ieldr,运行的话, ieldr
...
载入ieldr是成功的,并且能够引导iso,但是在通过iso的菜单引导系统时,fat32分区可以成功,但ntfs分区就失败,我是通过easyboot来run bootset.wxp的,bootset.wxp是该系统分区的引导扇区,已经用ultraedit修改,定向到重名明后的ntldr。
大致引导过程就是:启动时直接载入了命名为ntldr的ieldr,然后加载iso,iso菜单有时间进度条,如不手动操作,当时间到了就会run bootset.wxp,然后就会载入重名明后的ntldr,然后出现boot.ini菜单(在run bootset.wxp这一步骤的测试结果是,只有在分区为fat32格式时才成功)
回复

使用道具 举报

12#
发表于 2005-4-28 10:20:36 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

下面引用由useronce2005/04/28 09:46am 发表的内容:
TO Acronis:

只要 ntldr 能够认我们的 "ntoskrnl", 我即便不去实现"内存管理,进程管理,等
操作系统内核", 也能实现文件的载入和 CPU 模式的切换. 这就像是火箭的发射, 入
轨前有几级助推一样
支持,顶贴。
回复

使用道具 举报

11#
发表于 2005-4-28 10:03:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

10#
 楼主| 发表于 2005-4-28 09:46:21 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

TO Acronis:                           

    我觉得你的想法很独到. ;-) 问题发生在, ieldr 和 ntldr 的运行空间
不一致,也就是说, 你用 ntldr 的载入方式载入 ieldr,运行的话, ieldr
会因为 CPU 的寄存器设置不当而无法正常运行, 故黑屏.
^_^

TO wang6071:                          
    很明显, ntldr 不认这个"测试版"的 ntoskrnl.exe. ^_^. 我初步看了一下,
NTOSKRNL.exe 是一个 native 型的 PE 程序, 而不是通常我们在 Windows 下运行
的 GUI/Console 程序, 更不是,我们在 dos 下运行的 MZ 类型的程序. 估计,做这个
一方面是要符合 ntoskrnl.exe 的文件格式,另一方面需要对保护模式进行控制才能
满足我们的需要.


弄潮儿-NET:                           
    只要 ntldr 能够认我们的 "ntoskrnl", 我即便不去实现"内存管理,进程管理,等
操作系统内核", 也能实现文件的载入和 CPU 模式的切换. 这就像是火箭的发射, 入
轨前有几级助推一样

  --------- 就先让 ntldr 把我们推出地球的外圈曾吧,我们的目标是那浩瀚的宇宙!

^_^
回复

使用道具 举报

9#
发表于 2005-4-28 07:37:58 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

DEP好烦的...
回复

使用道具 举报

8#
发表于 2005-4-28 04:04:51 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

不好意思,我在微软的网站上看到了答案:
原文更详细内容地址
Windows XP Service Pack 2 中添加或更改了哪些设置?
系统级的 DEP 配置
系统级的数据执行保护配置是通过 Boot.ini 开关控制的。此外,对“控制面板”中“系统”所做的修改可以使最终用户非常方便地配置 DEP 设置(假设最终用户以管理员身份登录系统)。
对于硬件强制和软件强制 DEP,Windows 支持四种系统级配置。
     配置 说明
OptIn(选择使用)(默认配置)
如果系统中具备能够实现硬件强制 DEP 功能的处理器,则默认情况下将对限定的系统二进制文件和“选择使用”的应用程序启用 DEP。
使用此选项时,默认情况下,DEP 仅覆盖 Windows 系统二进制文件。

OptOut(选择排除)
默认情况下,将对所有的进程启用 DEP。用户可以使用“控制面板”中的“系统”手动创建不应用数据执行保护的特定应用程序列表。IT 专业人员和独立软件供应商 (ISV) 可以使用应用程序兼容性工具包选择不受 DEP 保护的一个或多个应用程序。用于 DEP 的系统兼容性修复程序 (shims) 将会生效。

AlwaysOn(总是使用)
将整个系统置于 DEP 保护范围以内。所有的进程将始终在应用 DEP 的情况下运行。使特定应用程序不受 DEP 保护的例外列表不可用。用于 DEP 的系统兼容性修复程序 (shims) 不会生效。使用应用程序兼容性工具包选出的应用程序也将在应用 DEP 的情况下运行。

AlwaysOff(总是关闭)
不会将系统的任何部分置于 DEP 保护范围以内,无论是否支持硬件 DEP。处理器不会在 PAE 模式下运行,除非启动项中选中 /PAE 选项。
硬件强制和软件强制的 DEP 采用相同的方式进行配置。如果将系统级的 DEP 策略设置为 Opt-In(选择使用),Windows 核心二进制文件和应用程序将同时受到硬件和软件强制 DEP 的保护。如果系统无法进行硬件强制 DEP,则 Windows 核心二进制文件和应用程序将仅受到软件强制 DEP 的保护。
同样,如果将系统级 DEP 策略设置为 Opt-Out(选择排除),排除在 DEP 保护范围内的应用程序会同时免受硬件和软件强制 DEP 的保护。
回复

使用道具 举报

7#
发表于 2005-4-28 03:27:18 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

奇怪哦,我前段时间装的 Windows XP SP2 里的 boot.ini 就是这样的:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Profession" /noexecute=optin /fastdetect
请问这段 /noexecute=optin 是什么意思
回复

使用道具 举报

6#
发表于 2005-4-28 00:35:11 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

这个文件是NT内核,保含的内存管理,进程管理,等操作系统内核,要是能做一个类似的话...还不如直接写个操作系统算了...
回复

使用道具 举报

5#
发表于 2005-4-28 00:25:30 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

任意大小?不可能吧...
回复

使用道具 举报

4#
发表于 2005-4-27 23:35:23 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

看了楼主的思想,我马上用俺的ghost完美中文shell的启动文件gifghost.exe试验:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows 2003 Standard" /fastdetect /NoExecute=OptIn /kernel=Gifgost.exe
结果如下:
因以下文件损坏或丢失,windows无法启动
<windows root>\system32\Ntoskrnl.exe
请重新安装以上文件的拷贝。
自来应该有戏,估计还需要初始化一些环境。
回复

使用道具 举报

3#
发表于 2005-4-27 22:56:33 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

我相信楼主,期待呀!
另外,我尝试过直接用ieldr替换ntldr,将ntldr改名,再通过iso的菜单来控制启动项,可惜在启动系统的选项上没法进行,我已经提取了该系统所在分区的启动扇区,并用ultraedit修改它指向重命名后的ntldr,可惜它给我一个黑屏的回应。
回复

使用道具 举报

2#
发表于 2005-4-27 22:17:08 | 只看该作者

[思想]用 NTOSKRNL 进行虚拟软驱启动

晕死,讲的太深奥了!!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-9-13 00:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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