[小技巧] 打造属于 Dell XPS 13 (9350) 的专属 Windows 7 iso 镜像
MacBook Air 13, Dell XPS 13 和 Thinkpad X1 Carbon 都是轻薄笔记本中设计优秀的典范,受到很多用户追捧。
不过对于 Windows 阵营的笔记本,最近有个坏的传言:Intel 7 系列 CPU 只支持 Windows 10 系统,不支持 Windows 7 和 Windows 8。为了确认这个消息的真伪,笔者特意调查了一下各厂商的驱动下载支持页面。Intel 官网的最新驱动仍然支持各种操作系统,但是部分笔记本厂商已经开始不提供 Windows 7 的整套系统驱动程序了,比如 Dell 最新推出的 XPS 9360 系列就是如此。
所以对于台式机用户来说,跟进 7 系列平台问题可能不大;但是对于笔记本用户来说,就比较麻烦了。于是笔者趁今年双 11 期间赶紧入手了一台 6 系列的 XPS 13 (9350)。XPS 9350 系列的驱动支持那真的是相当体贴,除了 Windows 7 / 8.1 / 10 甚至还提供了 Ubuntu 14.04 需要的所有驱动;而 9360 系列的驱动支持列表里只有孤零零的一个 Windows 10。想要入手的同学一定要抓紧,现在库存已经不多了。
虽然 XPS 9350 系列支持 Windows 7,但是安装起来并不容易。如果按照普通的流程把 Windows 7 MDSN iso 写入到 U 盘里,然后引导安装,首先会因为缺少 NVME 驱动发生找不到硬盘的情况;而在解决这一问题后,则又会因为缺少 USB 3.0 XHCI 驱动出现“缺少所需的 CD/DVD 驱动器设备驱动程序”的问题。在这两个问题都解决之后,进入系统后又有一大堆带问号的未知设备需要安装驱动,整个过程真的是相当麻烦。
为了解决以上问题,让重装系统一劳永逸,本文教你来打造一个属于 Dell XPS 13 (9350) 的专属 Windows 7 iso 镜像。
制作这个 iso 镜像的标准是:只添加绝对必要的、如果不安装会在设备管理器中产生未知设备的驱动,不添加任何其它组件。
1. 备份 Windows 10
Dell XPS 9350 通常已经预装了 Windows 10。在重装系统前,强烈建议首先进行以下步骤:
- 获取属于自己的服务标签和快速服务代码
- 使用一个支持 NVME 的 Windows 10 PE 对整个 SSD 硬盘进行备份
预装的 Windows 10 系统桌面上应该有个 Dell 服务应用,打开后即可获取本机的“服务标签”和“快速服务代码”。其中的服务标签可以用于在 Dell 驱动下载页面下载适用于自己的驱动程序,快速服务代码则可以用于联系 Dell 人工客服。
另外就是使用 Ghost 备份整个硬盘,方便今后装回 Windows 10。目前网上有部分 Windows 10 PE 是可以支持 XPS 的,但也有很多不支持,无法识别 SSD。多尝试几次,通常就可以找到一个合适的 PE,这里就不做特别的推荐了。
2. 准备相关文件
首先准备以下文件和工具:
- Windows 7 / 8.1 /10 工作系统,确保系统可以运行 Dism 命令
- Windows 7 iso 镜像 (cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso - MD5 6625B122837B7F6F38997E23B3EB30CC)
- 7-zip - 用于解压 ISO 镜像和 EXE 安装包
- UltraISO 9.6.1 或更高版本 - 用于编辑 ISO 镜像
- Rufus 2.11 或更高版本 (http://rufus.akeo.ie/) - 用于将编辑完成的 iso 镜像写入 U 盘 (写入步骤不建议使用 UltraISO)
- NVME 驱动程序 (https://downloadmirror.intel.com/25165/eng/f6flpy-x64.zip)
- USB3.0 XHCI 驱动程序 (https://downloadcenter.intel.com/download/22824/USB-3-0-Driver-Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-8-9-100-Series-and-C220-C610-Chipset-Family)
- USB3.1 XHCI 驱动程序 (Chipset_Driver_6Y1X2_WN32_15.2.30.280_A01.EXE)
- Intel 100 系列芯片组驱动 (9350_Chipset_Driver_P1X3X_WN32_10.1.1.13_A01.EXE)
- Intel HD Graphics 驱动 (9350_Video_Driver_99V3H_WN32_20.19.15.4483_A06.EXE)
- Intel MEI 驱动 (Chipset_Driver_MX1JJ_WN32_11.0.0.1162_A01.EXE)
- Dell 1820A Wifi/蓝牙驱动 (9350_Network_Driver_7XRRV_WN32_1.400.87.0_A01.EXE)
- Dell Wlan Switch 驱动 (9350_Network_Driver_N2W2C_WN32_1.0.0.4_A00.EXE)
- Dell 传感器驱动 (9350_Chipset_Driver_2T0W9_WN32_8.1.10605.221_A01.EXE)
- Dell 读卡器驱动 (Chipset_Driver_MDR6D_WN32_10.0.10586.21289_A03.EXE)
- Realtek 声卡驱动 (Audio_Driver_876VV_WN32_6.0.1.7917_A06.EXE)
- Synaptic 触摸板驱动 (9350_Input_Driver_377D1_WN32_19.0.27.6_A01.EXE)
- 内核模式驱动程序框架 (kmdf) 1.11 (https://www.microsoft.com/en-us/download/details.aspx?id=38423)
在 C 盘新建一个临时目录 (如 C:\Temp),在这个目录下新建三个文件夹,分别叫:
- boot
- install
- mount
用 7-zip 打开原版 Windows 7 iso 镜像,把 sources 目录下的 boot.wim 和 install.wim 两个文件解压到这个目录下,然后把所有的驱动程序都放到这个目录下。准备完成后的目录状态如图所示:

3. 解压驱动程序
这里我们所说的驱动程序是 cat, inf, sys 等系统可以直接识别的驱动程序文件,而不是 exe 安装包。
3.1 解压 NVME 驱动程序
解压 f6flpy-x64.zip 将得到的 6 个文件同时放到 boot\nvme 和 install\nvme 两个目录下。
3.2 解压 USB3.0 XHCI 驱动程序
解压 Intel(R)_USB_3.0_eXtensible_Host_Controller_Driver_4.0.6.60.zip 将 Drivers 目录同时放到 boot\usb3 和 install\usb3 两个目录下。
3.3 解压 Intel 100 系列芯片组驱动程序
首先用 7-zip 解压 9350_Chipset_Driver_P1X3X_WN32_10.1.1.13_A01.EXE 可以得到 SetupChipset.exe。然而尝试用 7-zip 进一步解压的时候问题出现了:直接解压只能得到一些看起来很奇怪的文件 u0, u1, … 后来我在这个 exe 的帮助文档里看到了真正的使用方法:

按照说明,打开 cmd,进入 C:\Temp,然后运行
SetupChipset.exe -extract install\chipset
3.4 解压 Intel HD Graphics 驱动程序
解压 9350_Video_Driver_99V3H_WN32_20.19.15.4483_A06.EXE 将 Graphics 和 DisplayAudio 两个目录解压到 install/graphics 目录下,然后删除 DisplayAudio\8.20 目录。
3.5 解压 Intel MEI 驱动程序
解压 Chipset_Driver_MX1JJ_WN32_11.0.0.1162_A01.EXE 得到 SetupME.exe,然后按照和 3.3 节相同的方法:
SetupME.exe -extract install\mei
解压得到 11 个 msi 安装包:

然后我们再进一步使用 7-zip 解压 ME_MEI_Drivers_x64.msi,将其中 drivers.cab 中的 HECI 目录解压到 install\mei 目录下,最后删除所有的 msi 安装包文件。
3.6 解压 Dell 1820A Wifi/蓝牙驱动程序
解压 9350_Network_Driver_7XRRV_WN32_1.400.87.0_A01.EXE 将 drivers\production\Windows7-x64 目录下的所有文件解压到 install\wireless 目录下。
3.7 解压 Dell Wlan Switch 驱动程序
解压 9350_Network_Driver_N2W2C_WIN32_1.0.0.4_A00.EXE 将 drivers\production\Windows7-x64 目录下的所有文件解压到 install\wlanswitch 目录下。
3.8 解压 Dell 传感器驱动程序
解压 9350_Chipset_Driver_2T0W9_WN32_8.1.10605.221_A01.EXE 将 drivers\production\Windows7-x64 下的四个目录解压到 install\sensor 目录下。
3.9 解压 Dell 读卡器驱动程序
解压 Chipset_Driver_MDR6D_WN32_10.0.10586.21289_A03.EXE 将 Install\DrvBin64 目录下的所有文件解压到 install\cardreader 目录下。
3.10 准备内核模式驱动程序框架
Intel MEI 驱动程序依赖于该补丁。把 kmdf-1.11-Win-6.1-x64.msu 文件复制到 install 目录即可。
3.11 解压 USB3.1 XHCI 驱动程序
至此我们已经完成了所有必要驱动程序的准备工作。注:这里的必要指的是在 Windows 7 设备管理器里没有未知设备。但是还有一些有用的驱动程序未安装,却没有在设备管理器中显示问号。其中一个就是 USB 3.1 驱动程序,其准备工作如下:
首先解压 ChipsetDriver_6Y1X2_WIN32_15.2.30.280_A01.EXE,可以得到 setup.exe。接下来把系统 UAC 设置调节至“不降低桌面亮度”,然后运行 setup.exe,在弹出 UAC 确认对话框的时候暂停,此时打开对应 msi 文件的目录 (类似于 C:\Users\xxx\AppData\Local\Temp\xxxxxxxx.xxx\Intel),将 USB 3.1 (x64) 下的两个目录复制到 install\usb31 目录下。
3.12 删除不需要的 x86 驱动程序
重新检查一下 boot, install 目录下的各文件,如果发现既有 x86 目录,又有 x64 目录,就把 x86 目录删除,这样下个步骤中的命令会执行得更快一些。
4. 更新 boot.wim, install.wim 和 iso 镜像
首先将杀毒软件升级到最新版,然后临时关闭杀毒软件。如果还是遇到“无法安装驱动程序包”(Access is denied) 的错误,建议将整个目录 C:\Temp 拷贝的另一个 Windows 8.1 / 10 系统然后继续。
以管理员权限打开 cmd,进入到 C:\Temp,然后运行以下命令:
dism /mount-wim /wimfile:boot.wim /index:1 /mountdir:mount
dism /image:mount /add-driver:boot /recurse
dism /unmount-wim /mountdir:mount /commit dism /mount-wim /wimfile:boot.wim /index:2 /mountdir:mount
dism /image:mount /add-driver:boot /recurse
dism /unmount-wim /mountdir:mount /commit
接下来运行以下命令:
dism /mount-wim /wimfile:install.wim /index:1 /mountdir:mount
dism /image:mount /add-driver:install /recurse
dism /image:mount /add-package /packagepath:install
dism /unmount-wim /mountdir:mount /commit dism /mount-wim /wimfile:install.wim /index:2 /mountdir:mount
dism /image:mount /add-driver:install /recurse
dism /image:mount /add-package /packagepath:install
dism /unmount-wim /mountdir:mount /commit dism /mount-wim /wimfile:install.wim /index:3 /mountdir:mount
dism /image:mount /add-driver:install /recurse
dism /image:mount /add-package /packagepath:install
dism /unmount-wim /mountdir:mount /commit dism /mount-wim /wimfile:install.wim /index:4 /mountdir:mount
dism /image:mount /add-driver:install /recurse
dism /image:mount /add-package /packagepath:install
dism /unmount-wim /mountdir:mount /commit
然后打开 UltraISO,用编辑过的 boot.wim 和 install.wim 替换 iso 中原来的文件并保存,将新的 iso 文件命名为 cn_windows_7_ultimate_with_sp1_x64_dvd_618537_xps9350.iso。
注:install.wim 中的 4 个 index 分别为 Windows 7 Home Basic / Home Premium / Business / Ultimate,可以根据实际需要进行调整。
5. 将 ISO 镜像写入到 U 盘
最后运行 Rufus 将新创建的 iso 文件写入到 U 盘 (2.0 / 3.0 的 U 盘都可以哦)。

6. 编辑 BIOS 设置,启动并安装系统
开机进入 BIOS,禁用 Secure Boot,启用 Legacy Option Roms,随后重启时按 F12 即可在 UEFI 模式下开始安装系统。
尽管我们已经集成了 USB 3.0 驱动程序,但是很有可能还是会弹出“缺少所需的 CD / DVD 驱动器设备驱动程序 (A required CD/DVD drive device driver is missing)”的错误。

此时可以点击“浏览”,然后定位到 X:\Windows\System32\DriverStore\FileRepository\iusb3xhc.inf 目录,点击确定。在安装完 USB 3.0 驱动后,就可开始安装了。
注意:很多 Windows 7 的激活工具与 GPT 分区表不兼容。为了保险起见建议把分区修改为 MBR。修改分区表格式可以通过 diskpart 工具完成,这里就不赘述了。
安装完成后,系统会自动把 DPI 调节至 125% 的合适值。这时打开任务管理器,可以看到已经没有未知设备了:

由于集成了 USB 3.1 驱动程序,此时 USB 3.1 的 U 盘也是可以使用的。
7. 安装其它组件
还有一些设备的基本功能是可以使用的,但是如果安装官方驱动能够获得一些增强功能。同时这些驱动程序直接集成到 iso 文件中又比较麻烦。所以最后就决定在系统安装完成之后再安装。
7.1 安装 .Net Framework 4.6.2
非常多的程序,包括 Synaptic 驱动程序的控制面板都依赖于新版的 .Net Framework,而 Windows 7 本身只集成了 .Net Framework 3.5。所以这里先从微软官网下载对应的安装程序,然后执行安装。
7.2 安装 Synaptic 触摸板驱动程序
直接双击安装 9350_Input_Driver_377D1_WIN32_19.0.27.6_A01.EXE。安装后可支持多点触摸, Chrome 等浏览器可以支持双指页面缩放。另外还有很多其它的附加特性哦。
7.3 安装 Realtek High Definition Audio 驱动程序
直接双击安装 Audio_Driver_876VV_WIN32_6.0.1.7917_A06.EXE。安装完成后,可以使用 Maxx Audio 的各种附加功能。

8. 性能简单评测
终于把系统装完了,而且也解决了今后重装系统步骤繁琐的问题。赶紧把生成的 iso 文件 cn_windows_7_ultimate_with_sp1_x64_dvd_618537_xps9350.iso 保存起来,然后跑个分放松一下。

上面是 Windows 7 自带的评分。

Dell XPS 9350 自带的 SSD 读取和顺序性能较强,综合下来大概和 SATA 3.0 接口的 850 PRO 持平。

Future Mark 公司把 DirectX 9.0 时代一些已经过时的评测软件 (从 3DMark99 到 3DMark06) 都放到了自家网站上供网友免费使用,网址是 http://www.futuremark.com/benchmarks/legacy。
上面是 XPS13-9350 (Intel i5-6560U) 在默认配置下的跑分。分数上大概落后前两年的主流移动显示卡 GTX 850M 25% 左右,落后 Radeon R7 M370 约 10%。现在已经很少有游戏还使用 DirectX 9 了,以上对比数据仅供娱乐。
2016-12-02 更新 (关于 Windows 7 激活的注意事项)
目前 Windows 7 的激活方法有 3 种:硬刷 BIOS,软刷 BIOS,VOL KMS。
- 硬刷 BIOS 有一定风险性,不建议普通用户使用
- 软刷 BIOS 比较安全,但是很多工具只支持 Legacy BIOS,不支持 UEFI (或者 UEFI 模式下只支持 GPT 分区)
- KMS 方法同样比较安全,但是要求安装 VOL 版本的 Windows 7 Professional (cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_677816.iso, SHA1 647B26479A3A46C078F5B1364A89003A31F4AADA)
所以上文中提到的安装 Windows 7 Ultimate 并且使用 MBR 分区的方式是不可取的,请注意。
2016-12-13 更新 (在 Intel NUC 6i7KYK 上安装 Windows 7)
How to Install Windows 7 on Intel Skull Canyon 6i7KYK
想用正统的方法,通过修改原版 Windows 7 iso 来安装 Windows 7 有些麻烦,其中遇到的一些问题在 XPS 上是可以解决的,但是在 Intel NUC 上却怎么试都不行。
这里我们只能通过 WinPE / WinNTSetup 来安装 Windows 7,要点如下:
- 准备一个可以识别 NUC 的 Nvme 固态硬盘的 WinPE 系统
- 如果 WinPE 里面没有集成 WinNTSetup,手动下载并且拷贝到启动 U 盘中
- 准备 USB 3.0 驱动程序
- 准备 100 系列芯片组驱动程序
- 准备系统补丁 kmdf-1.11-Win-6.1-x64.msu
- 准备系统补丁 umdf-1.11-Win-6.1-x64.msu
- 准备系统补丁 Windows6.1-KB2990941-v3-x64.msu
- 准备系统补丁 Windows6.1-KB3087873-v2-x64.msu
- 按照和上文中相同的方法,编辑 install.wim 添加以上 6 项驱动程序 / 补丁并保存
- 最后,使用 WinPE 引导系统,并且使用 WinNTSetup 将 install.wim 安装到 NUC 的硬盘上

[小技巧] 打造属于 Dell XPS 13 (9350) 的专属 Windows 7 iso 镜像的更多相关文章
- Dell xps 13 9350待机时总是关机的处理方法
现象: 年初买的dell xps13 9350,最近可能是由于win10做了一些更新,每次睡眠就自动关机了,重启很多次,修改电源选项都没用, 原因分析: 在网上搜了一下,有人发现xps15 9350也 ...
- DELL XPS 13 9350 装Win7系统(坑爹)
0.记一次悲惨的装机记录 1.为什么这么难装呢? 因为这个NB本身是为Win10设计的,所以官网没有Win7驱动,系统设置各种不兼容 2.希望你能看到本文最后 因为你看到最后,你就不会给这个逗比装Wi ...
- 在Dell XPS 13安装WIN10和ubuntu双系统
新入了Dell的XPS 13超级本,之所以买这个本子,就是看中它轻便且续航持久.这款本子也是为数不多的能够和苹果的13'' mac book air一较高下的本子.在重量上,占地面积和综合性价比上,还 ...
- Dell XPS 13 9306安装 macOS 10.12.6
一直在考虑买一个手上的本,轻薄,办公方便.个人很喜欢mac 下的那些软件,尤其是keynote.就锁定在Macbook Pro上,但是又觉得没有什么玩头,后来一直找,觉得xps也很符合要求,就开始调查 ...
- 玩转Windows服务系列——Windows服务小技巧
伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程 ...
- 玩转Windows服务系列——Windows服务小技巧
原文:玩转Windows服务系列——Windows服务小技巧 伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服 ...
- Windows服务小技巧
Windows服务小技巧 阅读目录 开始 将Windows服务转变为控制台程序 注册服务为自动启动服务 注册服务时设置服务的依赖关系 添加自定义命令行参数 自定义命令行参数演示 系列链接 伴随着研究W ...
- 13个非常实用的JavaScript小技巧
使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用 ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
随机推荐
- iOS开发之info.pist文件和.pch文件
iOS开发之info.pist文件和.pch文件 如果你是iOS开发初学者,不用过多的关注项目中各个文件的作用.因为iOS开发的学习路线起点不在这里,这些文件只会给你学习带来困扰. 打开一个项目,我们 ...
- CSS 布局Float 【0】
float是 css 样式的定位属性.我们在印刷排版中,文本可以按照需要围绕图片.一般把这种方式称为“文本环绕”.在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图 ...
- WPF命令
WPF的命令是经常使用的,在MVVM中,RelayCommand更是用得非常多,但是命令的本质究竟是什么,有了事件为什么还要命令,命令与事件的区别是什么呢?MVVM里面是如何包装命令的呢?命令为什么能 ...
- protocol buffer VS 2013编译出错
protocol buffer 在VS2013编译会出现以下错误. 解决办法 把宏加上, 问题解决. 注: 该错误只出现在Debug版本.
- grails通过findBy或findBy查找的结果集进行排序
原文:http://grails.org/doc/2.3.x/ref/Domain%20Classes/list.html list Purpose Lists instances of the do ...
- HTML5 canvas生成图片马赛克特效插件
HTML5 canvas生成图片马赛克特效插件 简要教程 这是一款使用html5 canvas来将图片制作成马赛克效果的js插件.该插件的灵感来自于美国肖像画家Chuck Close.已经有人使用这个 ...
- memcache 数据库信息存储到数据库减少IO 操作
在实际应用中,通常会把数据库查询的结果集保存到 memcached 中,下次访问时直接从 memcached 中获取,而不再做数据库查询操作,这样可以在很大程度上减轻数据库的负担.通常会 将 SQL ...
- Python几种创建list的方法的效率对比
我们用 生成一个0到((1万倍n)-1)的list做例子 首先这种方式复杂度为平方级 ''' def test1(n): lst = [] for i in range(n*10000): lst = ...
- [Struts2学习笔记] -- 简单的类型转换
接下来学习一下Struts2简单的类型转换,Struts2基于ognl.jar实现了简单类型的数据转换.比如jsp页面中的form值与字段值的转换,下面写一个例子. 1.创建一个jsp页面,编写一个f ...
- PIL Image 转成 wx.Image、wx.Bitmap
import wx from PIL import Image def ConvertToWxImage(): pilImage = Image.open('1.png') image = wx.Em ...