Hazx小屋 Hazx小屋

Windows系统添加VirtIO驱动(Windows ISO安装镜像添加驱动)

in 服务器相关,PC 相关 阅读: 24908 文章转载请注明来源!

  为什么要在ISO镜像里添加驱动?而不是在进系统以后装驱动?一切都是形势所迫。如果你也是爱折腾的人,那么这也会成为一个有用的方案之一。
  最近,因为在给公司研究部署OpenStack,在制作初始镜像(也就是使用ISO进行全新安装)的时候,发现Windows自带的驱动不支持KVM的硬盘控制器,导致找不到硬盘而无法安装,于是解决方案便是将VirtIO的驱动集成进Windows的ISO安装镜像。顺着这个思路,我尝试了我熟悉的WDS方案(一个Windows部署方案,支持将驱动导入WIM,并可将WIM导出),发现VirtIO的驱动是未签名的,无法使用WDS集成驱动...(微软要求X64驱动必须签名才可使用。“强制禁用驱动签名”也只是针对系统,对WDS服务无效。)
  于是,便折腾出了另一套方案,使用微软的WAIK工具包解包WIM、强制上驱动..(支持导入未签名驱动)


  这里,我只介绍X64系统环境下向Windows ISO镜像中添加VirtIO驱动,如果你是想添加其他驱动,或者是X86(32位)系统环境,请在学习本篇笔记后自行举一反三。(这并不难 ←_←
  本篇笔记仅适用于Windows Vista及更高版本、Windows Server 2008及更高版本系统ISO镜像。
  不要一出问题就找我问这问那,请先仔细检查自己的每一步操作!求助不要评论,直接发邮件。

需要下载准备的一些东西

  Windows微软原版ISO镜像 可以在这里下载到→msdn.itellyou.cn
  UltraISO 非常好用的一款ISO镜像软件,收费软件,且很便宜,买正版还是用盗版请自行决定。【中文官网
  Windows AIK工具包微软官网下载】【百度网盘(f8dd)】(先在cmd里执行dism,如果提示不是内部或外部命令,再下载工具包。如果有其他提示,说明系统已自带工具,无需下载安装。)
  VirtIO驱动 QEMU-KVM所使用虚拟硬件的Windows驱动。【外网下载】【百度网盘(fkkb)】

安装WAIK工具包

  1.先验证一下系统是否自带了工具包。完整版(原版)Windows10已集成工具。先在cmd中执行dism,如果提示不是内部或外部命令,再安装,否则跳过这一部分,直接到下面准备WIM镜像文件的部分。
  2.使用UltraISO挂载WindowsAIK的ISO镜像到虚拟光驱。(或者使用你电脑上任意一款压缩软件解压整个ISO镜像)
  3.运行wAIKAMD64安装工具包。

准备WIM映像文件

  1.使用UltraISO挂载Windows ISO镜像到虚拟光驱。(或者使用你电脑上任意一款压缩软件打开ISO镜像)
  2.在sources文件夹下复制出(或使用压缩软件提取出)boot.wiminstall.wim两个文件。
   boot.wim是引导进入的安装环境,它缺少驱动时会在选择安装分区步骤时提示找不到硬盘、需要加载驱动等;install.wim是系统映像,最终安装的系统文件都在这里面,给它添加驱动,安好系统就不用再手工打驱动了。一次性添加好驱动这对于同配置硬件环境批量安装系统的工程来讲能节省大量时间和精力。

添加驱动

  1.在D盘(或其他位置)新建一个文件夹mnt
  2.使用UltraISO挂载VirtIO驱动ISO镜像到虚拟光驱。
   这里我们一般只需要3个驱动:BalloonNetKVMviostor。你也可以直接使用你电脑上任意一款压缩软件直接解压出这三个文件夹。然后进入目录看一看,按你的ISO镜像中系统的版本信息确定驱动的路径。例如,我的ISO是WindowsServer2012R2 64位,那么驱动就是2k12r2\amd64\这个目录下面的。
  3.以管理员身份运行cmd或PowerShell,并进入Windows AIK工具包中Dism的所在目录,我的是C:\Program Files\Windows AIK\Tools\amd64\Servicing(如果系统已自带dism工具,则无需进入任何目录)
  4.查看wim映像信息:

dism /get-wiminfo /wimfile:D:\install.wim

   列出的信息便是这个ISO镜像所包含的所有系统版本。其中的“索引”便是我们下面要用到的版本编号。
  5.挂载wim镜像:

dism /mount-wim /wimfile:D:\install.wim /index:1 /mountdir:D:\mnt

   这里的“index”就是上一步中看到的索引编号。
  6.挂载完毕后,添加驱动:

dism /image:D:\mnt /add-driver /driver:F:\viostor\2k12R2\amd64\viostor.inf /forceunsigned

   其他两个或者更多驱动都是执行这个命令来添加驱动。驱动指定到inf配置文件。最后的/forceunsigned只有确定是未签名的驱动时才用的参数,微软认证的、签名的驱动不需要加这个参数。VirtIO的X64驱动几乎都是未签名的。
  7.添加完驱动,查看一下驱动情况:

dism /image:D:\mnt /get-drivers

  8.确定驱动已经添加后,卸载并保存wim映像:

dism /unmount-wim /mountdir:D:\mnt /commit

  9.重复4~8步骤,为boot.wim添加驱动。
   install.wim中的多个系统版本,你可以选择性添加驱动。但boot.wim中的所有版本建议都添加驱动。

封装新的ISO镜像

  1.使用UltraISO打开原Windows ISO安装盘镜像。
   注意,这里可就不能使用压缩软件了,否则会丢失ISO的引导数据。
  2.在sources文件夹下,删除boot.wiminstall.wim
  3.将添加好驱动的boot.wiminstall.wim拖到sources下。
  4.点击【文件】→【另存为】,保存出一个新ISO镜像即可。

文章二维码

扫描二维码,在手机上阅读!

windowsISOVirtIO驱动wim
最后由Hazx修改于2018-06-11 17:40
博客系统已萌萌哒运行了
© 2024 Hazx. Theme by 泽泽社长.
前篇 后篇
雷姆
拉姆