今年春节回家期间,我需要将家里的一台安装了Debian Stretch的ZaReason笔记本电脑更换为Windows 10系统,好让爸妈从老台式机上的XP系统升级到新的平台上来。回家前,小仙女已在微软官网帮我买好了正版软件,我也利用微软提供的Media Creation Tool创建了安装U盘。然而,等拿回家后安装的时候才发现,安装密码无效。联系客服后得知,我购买的是Windows 10家庭版,而安装U盘的版本则是家庭中文版。前者支持多种界面语言,而后者仅支持中文。由于Media Creation Tool不能在XP上运行,可家里除了安装XP系统的台式机就是我的Linux笔记本,并且微软客服也仅提供傻瓜式的初级指导而对于Linux平台用户不予考虑,因此只能自己从Linux上制作Windows 10的安装U盘了。
经过搜索,有些文章介绍了如何使用dd
命令将操作系统的iso镜像文件直接拷贝到U盘分区。也有文章提到,需要手动编写grub.cfg
文件,才能够实现从U盘引导系统。但这些方法都比较麻烦,而且我之前也没有经过测试,不知道究竟能否成功。最后在这里发现,Linux下有一个图形界面工具WoeUSB
用来做这个事情,而不需要手动运行那些底层的命令。因此,我便参考该文的介绍按步就班,成功地安装了新系统。具体步骤如下。
-
使用
apt-get
安装WoeUSB
依赖的软件包:sudo apt-get install devscripts equivs gdebi-core
其中,
devscripts
包含了一堆方便维护与管理Debian软件包的脚本。equivs
用于创建最小Debian软件包,即只包含软件包依赖关系信息而没有实际的软件。gdebi-core
用于对本地deb软件包解决依赖性问题并自动安装相关的包。
-
使用
git
下载WoeUSB
:git clone https://github.com/slacka/WoeUSB.git
-
进入下载的
WoeUSB
文件夹并执行setup-development-environment.bash
:cd WoeUSB ./setup-development-environment.bash
-
使用
mk-build-deps
命令创建描述依赖关系的deb包:mk-build-deps
执行后,会在当前目录下生成
woeusb-build-deps_3.2.12_all.deb
。 -
使用
gdebi
命令安装woeusb-build-deps_3.2.12_all.deb
:sudo gdebi woeusb-build-deps_3.2.12_all.deb
安装的过程中会自动下载依赖的软件包
libwxbase3.0-dev
、libwxgtk3.0-dev
、wx-common
、wx3.0-headers
。 -
执行命令
dpkg-buildpackage
生成WoeUSB
的Debian二进制包:dpkg-buildpackage -uc -b
运行过程中,会对源码进行编译。其中,
-uc
选项表示不对.buildinfo
与.changes
文件作签名。-b
选项表示进行二进制编译。
运行结束后,会在上一层目录生成如下文件:
woeusb_3.2.12_amd64.buildinfo
woeusb_3.2.12_amd64.changes
woeusb_3.2.12_amd64.deb
woeusb-dbgsym_3.2.12_amd64.deb
-
使用
gdebi
命令安装上述两个deb包:sudo gdebi woeusb_3.2.12_amd64.deb woeusb-dbgsym_3.2.12_amd64.deb
至此,
WoeUSB
软件已经编译成功并安装完毕。 -
插入容量至少为8GB的空白U盘,启动
woeusbgui
。如下图所示,在打开的窗口中选择已下载好的Windows 10镜象文件,并选中与U盘对应的目标设备。之后点击“Install”,等待直至启动盘制作完成。 -
从U盘启动,安装Windows 10,大功告成。