将virtio集成slipstream到windows iso,winpe – 原生方法和利用0pe

本文关键字:集成srs到windows镜像,slipsrteam driver to windows iso,集成virtio到winpe,winpe集成virtio

目标:

制作一个winpe,使得其在virtio主机环境中可用,比如阿里云ECS或WEST263,godaddy云主机。

这种技术的本质是将srs驱动带入/植入需要这种驱动的镜像,让其在安装/启动过程中发现硬盘不蓝屏,且辅助其它安装过程继续到完成。这一般有二个步骤,第一步是将驱动手术式的植入iso,实现安装程序的对应这种srs设备的内部驱动支持和发现。

srs驱动是boot time driver中一类特殊的驱动,因为安装过程往往需要接触到硬盘对其识别,否则会BOSC,且往往是txt mode 的驱动,有别于pnp把inf和driver .sys直接往windows\下一抛就可以的方式,那属于次级驱动,即进入系统后增强系统的后期 设备驱动。在windows安装过程中,这类srs驱动往往是已经存在于注册表和文件系统配置文件中的,所以为了增加一个SRS,我们 必须手动slipstream相应的文件和设置(甚至要修改注册表到.hiv文件)。

如果ISO能自发现带入的驱动 — 比如它是一个安装iso,安装过程有F3选择驱动接口,这种情形比较干净,可以实现从外部将驱动带入到ISO而不需要修改它(当然你也完全可以事先集成它实现自动发现,这样情况跟要谈到的livecd是一样的了),但如果是livecd iso – winpe则是一种windows livecd,则需要集成这个驱动,且保证正确加载驱动后的镜像结果是预期正确能工作的–对应能驱动你那个需要驱动的安装盘)

第二步,实现外部发现光驱镜像过程,即用grub4dos配合winvblk从外部带入光驱镜像。

可见植入srs,与配合grub4dos+winvblk导入光盘镜像是这二大通用过程,这种情况下0pe就是一个强有力的工具。因为它几乎是专门针对这个问题提出的一个整合方案。当然也可书写grldr菜单和手动集成驱动。

注意:目前所提到的全部针对windows iso。因为它识别grub4dos+winvblk带入的驱动。你可以参照其它尚不支持这种方案的ISO带入SRS驱动的方案,比如本站reactos0.4.x增强系列。

下面继续,我们将在winxpsp2下植入virtio驱动到deepinxp iso来描述这个过程,植入到winpe是同样过程,只是pe加载的grldr稍不同:

值入驱动到ISO

手动方法:

修改镜像中的txtsetup.sif(WINPE和windows安装盘中的i386中),加入驱动盘中的对应txtsetup.oem中的chunks到txtsetup.sif,一般有files段,scsi段,scsi.load段,hardwareiddatabases段。注册表的部分好像并不需要(hivexxx.inf->setup.hiv)。把驱动放到system32\drivers下。保存改过的iso.

自动方法,准备素材,利用工具:

  • Deepin XP SP3 完美精简版 V6.2 ISO文件,11/20/2013,51.65.104.7400版virtio netkvm和viostor驱动for winxp
  • 其它工具:nlite,grub4dos,WinBuilder0.78.exe和定制的vistape脚本,还有一些for linux,在linux下将ext变成windows winpe盘的工具,在wwwroot下
  • 准备补丁:对于for deepinxpsp3.iso的补丁:HIVESFT.INF,LAYOUT.INF,SETUPREG.HIV,etc…由于下载来的deepin iso信息不完整,winbuilder处理它时会出现好多信息不全的情况出现,包括一些文件大小写错误,故需要修正。请下载全部工具尝试得出修正差异。

处理方法:

  • 解压deepinxpsp3.iso到一个目录,比如我这里是D盘,利用nlite工具,将virtio 驱动 slipstream到镜像中。
  • 打开winbuilder,生成winpe。

grub4dos+winvblk引导

准备peboot,文件组织情况参照提供的peboot.rar,注意的是引导文件中的这几条:

title (Winvblock) Boot RamPE From ISO -- filename 0pe.iso
find --set-root /boot/imgs/0pe.iso
map --mem /boot/imgs/winvblock.img.gz (fd0)
map --mem /boot/imgs/0pe.iso (0xff)
map --hook
chainloader (0xFF)/I386/SETUPLDR.BIN

title (Winvblock) Boot WindowsSetup From ISO -- the 1st step,filename winxpsp3.iso
map --mem /boot/imgs/winvblock.img.gz (fd1)
map --mem (md)0x6000+800 (fd0)
find --set-root /boot/imgs/winxpsp3.iso
map /boot/imgs/winxpsp3.iso (0xff)
map --hook
dd if=(fd1) of=(fd0) count=1
chainloader (0xff)

title (Winvblock) Boot WindowsSetup From ISO -- the 2st step,filename winxpsp3.iso
map --mem /boot/imgs/winvblock.img.gz (fd1)
map --mem (md)0x6000+800 (fd0)
find --set-root /boot/imgs/winxpsp3.iso
map /boot/imgs/winxpsp3.iso (0xff)
map --hook
chainloader (hd0)+1

使用0pe

在0pe中植入srs驱动我们用它的自动选择方案,即在ope\srs\FREQUENT\放一个viostor.sy_,0pe\src\CHKPCI.TXT放一条(具体值即打开viostor\txtsetup.oem查看)

$PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4
VIOSTOR
在CHKPCIDB.GZ->PCIDEVS.txt中你也可看到0pe对redhat virtio有支持。

至于引导过程,它在加载驱动后会发现optdesk.wim,然后继续winpe的加载,最终完成进入过程。当然你也可以用下一步菜单实现二步安装windows,或自写更多的菜单实现更多功能(这完全是grldr编辑问题。)

对比virtio winpe,与众不同的是virtio 0pe版本的winpe可以借助netkvm连网。且有更多外置工具可用。

而virtio winpe支持将linux winpe盘变成windows filesystem的winpe盘。

注意事项

使用w2k或winxp内核产生的winpe在进入系统时,鼠标可能会出现不能使用的情况(这好像是虚拟机USB驱动冲突通用情况)。至于netkvm完全不必像viostor那样麻烦完成可以采用pnp的方式把对应inf和sys放到光盘驱动镜像中。

生成的virtio winpe:

http://www.shaolonglee.com/owncloud/index.php/s/yeKnfbK67f4MXo8

0pe virtio winpe:

http://www.shaolonglee.com/owncloud/index.php/s/dD8dm8c9FPcAUje



(此处不设回复,扫码到微信留言,或直接点击到原文)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WinPEWindows Preinstallation Environment)是微软开发的一款轻量级操作系统环境,用于在计算机上进行安装、部署和恢复Windows操作系统。它以精简的方式提供了一些基本的工具和驱动程序,用于进行系统维护、故障排除和系统部署。虚拟化技术在当前计算机环境中发挥着越来越重要的作用,而virtio是一种用于虚拟化环境的一组驱动程序。 在WinPE中使用virtio驱动程序可以提供更好的虚拟化性能和功能。virtio驱动程序在虚拟化环境中可以与主机系统进行更高效的通信,提供更好的网络和磁盘性能,减少对CPU和内存的使用。通过使用virtio驱动程序,WinPE可以充分利用虚拟机的优势,提高操作效率和性能。 使用virtio驱动程序可以带来多个好处。首先,它可以提供更快的网络连接,更高的数据传输速度和更低的延迟,这对于在WinPE中进行网络安装和配置非常重要。其次,virtio驱动程序还可以提供更好的磁盘性能,包括更高的传输速率和更低的读写延迟。这对于进行文件复制、备份和恢复操作非常有用。 总之,使用WinPE virtio可以显著提高虚拟化环境中的操作效率和性能。它可以带来更快的网络连接和更好的磁盘性能,从而提高系统部署、维护和恢复的效率。对于后续的Windows操作系统安装和配置工作,virtio驱动程序也是一个非常有价值的选择。 ### 回答2: WinPEWindows预安装环境(Windows Preinstallation Environment)的简称,它是一个独立的操作系统环境,用于进行Windows操作系统的安装、部署和维护等任务。而VirtIO是一种基于虚拟化技术的IO设备驱动模型,它旨在提供高性能和高效率的虚拟化IO体验。 当我们在WinPE环境中运行虚拟机时,通常需要安装虚拟机的IO设备驱动才能正常使用。而VirtIO提供的驱动则是专门为虚拟机设计的,可以提供与物理机相当的IO性能。 在WinPE环境下使用VirtIO驱动可以带来一些好处。首先,由于VirtIO驱动是专为虚拟机设计的,它与虚拟化平台紧密集成,可以充分发挥虚拟机的性能优势。其次,使用VirtIO驱动可以减少在WinPE环境中运行虚拟机的I/O延迟,提高虚拟机的响应速度和性能。此外,VirtIO驱动还可以提供更好的设备兼容性和可靠性,保证虚拟机在WinPE环境中的正常运行。 总之,WinPE VirtIO是指在WinPE环境中使用VirtIO驱动以提供高性能、高效率和可靠性的虚拟化IO体验。这是一种优化虚拟机运行的方式,可以提升虚拟机在WinPE环境下的性能和稳定性。 ### 回答3: WinPE是微软开发的一种轻量级的预安装环境,它通常用于在系统启动之前进行诊断、部署和恢复操作。而Virtio是一种虚拟化设备驱动技术,它提供了一套通用的接口,用于在虚拟机与物理主机之间进行高效的数据传输。 在WinPE中使用Virtio技术可以带来一些好处。首先,Virtio驱动可以提供更好的性能和稳定性,因为它们专门为虚拟化环境进行了优化。其次,使用Virtio驱动可以使WinPE能够与虚拟化平台更好地进行通信,实现更高效的数据传输和访问。 使用WinPEVirtio可以实现许多任务,比如部署操作系统、备份和恢复数据、进行病毒检测和修复、分区管理等。在这些任务中,Virtio驱动可以提供更快的磁盘和网络访问速度,从而加快操作的完成时间。 总之,WinPEVirtio的结合可以提升预安装环境的功能和性能,使其更适用于虚拟化环境。无论是在企业的系统部署还是个人的系统维护中,使用WinPE virtio都可以带来更好的用户体验和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值