积分 221 最后登录 2024-2-14 精华 0 阅读权限 30 主题 25 UID 2421129 帖子 253 PB币 145 威望 20 贡献 0 技术 14 活跃 884
UID 2421129 帖子 253 PB币 145 贡献 0 技术 14 活跃 884
本帖最后由 DKErric 于 2020-2-22 21:56 编辑
0. 前言
Windows 10X 专为双屏电脑设计,是新一代面向未来的操作系统,众所周知,微软已于2020年2月11日放出了 Windows 10X 的 SDK,同时提供的可在 Microsoft Emulator 虚拟机中运行的 Windows 10X 早期预览版本。
详情:https://docs.microsoft.com/en-us/dual-screen/windows/get-dev-tools
由于微软提供的 Windows 10X 预览版本下载链接必须在Microsoft Store完成下载,且只能通过虚拟机运行,本教程旨在教你将 Win10X 系统安装在实体硬件中,以获得更好的预览体验。
本文参考链接:https://osg.wiki/books/windows-10x/page/installing-windows-10x-%28emulator-image%29-on-real-hardware
英语好的同学可以直接去原网站浏览相关教程。
警告:由于 Windows 10X 尚处于早期开发阶段,各种功能开发并不完善、不稳定,强烈不建议 使用你的日常工作电脑进行安装,或将其作为日常工作使用。
1. 准备工作
1.1 硬件环境
支持 Hyper-V 功能的 CPU 显卡必须有 DCH 现代驱动可用 UEFI 主板,禁用 Secure Boot 启动硬盘大于128GB 最好是4K扇区容量的硬盘,后续会有转换步骤教程 一个容量32GB或以上的U盘
只要你的计算机不算太旧,以上要求达到不是太大问题,我使用的是我的戴尔笔记本 Latitude 5400。
1.2 软件环境
确认硬件环境没有问题后,我们来配置软件环境。建议使用另一台电脑来进行此操作,而不是你准备用于安装 Win10X 的电脑。
下载 Windows 10X 的 VHDX镜像:
https://pan.baidu.com/s/1FzgTzRPd0zvmcvlZI1AVeQ 提取码:ntm2
MD5: DF8A0320FC1B5C71A2A2C80B34603808
SHA1: 6AB3A703C410FF16B78E77F71C3D7F0B45C787D4
CRC32: 349D12FA
如果你想自行下载镜像文件,请参照以下步骤:
a. 首先你需要加入 Windows 预览体验计划,并将你的更新通道设置为“快(Fast)”,然后将你的 Windows 更新至最新版本,以确保你的系统版本大于 Build 19500。(我安装时系统版本为 Build 19564)
b. 将区域设置中的“国家或地区”更改为美国。
以上两步骤是为确保你可以从 Microsoft Store 中下载 Windows 10X Emulator Image。
c. 下载 Microsoft Emulator:https://aka.ms/emulator/app
d. 下载 Windows 10X Emulator Image:https://aka.ms/emulator/latest
下载完成后,你可以在以下的路径中找到 Windows 10X 的纯净镜像
C:\Program Files\WindowsApps\Microsoft.253890156C685_1.0.0.0_x64__8wekyb3d8bbwe\Content\Flash.vhdx
对于无权限访问 WindowsApps 的问题,请自行百度。
我们将得到的 VHDX 镜像拷贝的自己喜欢的路径,例如 X:\Win10X\Flash.vhdx
2. 制作适合你电脑的安装镜像
由于在 Windows 10X 系统中无法安装驱动程序,我们需要在这一步对安装镜像进行调整,将驱动程序文件添加其中。
2.1 挂载虚拟机镜像
我们在上一步已经得到了 Flash.vhdx 的镜像文件,接下来我们对它进行挂载以进行编辑。
打开 PowerShell(管理员),运行以下命令
Mount-VHD "X:\Win10X\Flash.vhdx" 复制代码
使用以下命令确认镜像是否正确挂载
Get-StoragePool -FriendlyName OSPool 复制代码
在正常情况下,你应该看到如下的结果
2.2 获取所需的 UpdateApp 相关文件
Win+R 运行 diskpart,并执行下列命令来挂载 MainOS
list volume
# 选择卷名为 MainOS 的卷,此处假设为11
select volume 11
assign letter=m
exit 复制代码 MainOS即被分配了 M 的盘符。
然后我们需要获取下列文件:
M:\Windows\Servicing
UpdateApp.exe CbsApi.dll CbsMsg.dll
M:\Windows\System32
CbsCore.dll DrvServicing.dll IUSpaces.dll (将该文件重命名为 IUSpaces_vb.dll,非常重要) UpdateAPI.dll cimfs.dll cmiadapter.dll cmiaisupport.dll cmintegrator.dll dpx.dll drvstore.dll msdelta.dll mspatcha.dll mspatchc.dll turbostack.dll
将这些文件放入自己喜欢的路径,例如 X:\Win10X\Tools
用管理员模式运行命令提示符,执行下列命令
cd /d X:\Win10X\Tools
updateapp getinstalledpackages 复制代码 看到如下的输出,则说明你的执行是正确的
UpdateApp - Update Application for Windows Mobile
[00:00:00] Loaded servicing stack from X:\wcos\tools with session name IUPackageInfoSession_EFIESP
[00:00:00] External storage staging directory is: (null)
[00:00:00] Closing session IUPackageInfoSession_EFIESP
[00:00:00] Loaded servicing stack from X:\wcos\tools with session name IUPackageInfoSession_MainOS
[00:00:00] External storage staging directory is: (null)
[00:00:01] Closing session IUPackageInfoSession_MainOS
164 packages:
Microsoft-OneCore-HyperV-Guest-UpdateOS-Package~31bf3856ad364e35~amd64~en-US~10.0.19563.1000, UpdateOS
Microsoft-OneCore-HyperV-Guest-UpdateOS-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, UpdateOS
Microsoft-OneCore-ServicingStack-UpdateOS-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-OneCore-ServicingStack-UpdateOS-UX-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-OneCoreUpdateOS-Product-Package~31bf3856ad364e35~amd64~en-US~10.0.19563.1000, updateos
Microsoft-OneCoreUpdateOS-Product-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-Windows-OneCoreUpdateOS-ImageCustomization-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-Composable-ModernPC-BootEnvironment-Core-CodeIntegrity-Sbcp-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, EFIESP
Microsoft-OneCore-BcdBootoption-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, EFIESP
[...]
getinstalledpackages completed successfully
command took 7 seconds 复制代码
2.3 注入显卡和网卡驱动
以 Intel HD Graphics 为例,下载 DCH 驱动并解压至 X:\Win10X\drivers\ 。
注意:必须下载 DCH 驱动。
打开 X:\Win10X\drivers\igfx_win10_100.7755\Graphics\iigd_dch.inf,我们需要在 INF 文件中获取“Provider”和“DriverVer”的信息(一般在文件开头),例如
Provider=%Intel%
DriverVer=01/09/2020,26.20.100.7755 复制代码
接下来我们需要找出 %Intel% 变量具体指什么,在该 INF 文件的 [Strings] 下继续查找,可以看到下列信息
Intel = "Intel Corporation" 复制代码
OK,现在我们得到了所需的信息,使用 UpdateApp 将 INF 安装到镜像文件的 BSP 分区
updateapp install "DriverPackage|X:\Win10X\drivers\igfx_win10_100.7755\Graphics\iigd_dch.inf|Intel_Corporation-iigd_dch.inf~amd64~26.20.100.7755~bsp|0" 复制代码 其中,Intel_Corporation 和 26.20.100.755 是我们通过 INF 获得的信息。此处的信息必须准确,否则你可能会遇到 c0880005 的错误。
继续使用上述方法插入网卡驱动。
记住以下的通用规则即可:
INF 文件名和 Provider 名称中的任何空格需要使用下划线“_”代替。 INF 文件名和 Provider 名称中的任何横杠需要使用下划线“_”代替。
注意:不要注入过多的驱动!有些驱动没有为 Windows 10X 优化,你可能在后续启动中遇到蓝屏。建议只安装显卡和网卡驱动即可。
到这里我们完成了镜像的改动,回到 PowerShell,输入下列命令卸载镜像即可
Dismount-VHD "X:\Win10X\Flash.vhdx" 复制代码
3. 制作安装U盘
3.1 获取必须文件
你需要获得一个 Windows 10 Build 19564 x64 的 ISO 镜像(或更高版本),可以使用UUPDump或者类似功能的软件。
https://uupdump.ml/
从 ISO 镜像中提取
boot\ efi\ sources\boot.wim bootmgr.efi
在后续的安装中仍需要使用到 Tools 文件夹,这里需要使用 Hex 编辑器对 Tools 文件夹中的 UpdateAPI.dll 和 UpdateApp.exe 进行编辑,将 X:\Windows 的 Unicode 字符替换为无用字符,例如 X:\Wbndows ,否则可能导致后续的安装失败。
这里我没有做测试,不确定不修改的话会有什么后果,但附上我修改好的文件。
UpdateAPI and UpdateApp.zip
(1.75 MB, 下载次数: 19)
此外你还需要一个 x64 EFI shell 以启动普通版 Windows 10(包括 PE 环境),下载地址如下:
https://github.com/tianocore/edk2/blob/UDK2018/ShellBinPkg/UefiShell/X64/Shell.efi?raw=true
这里要将提取的 EFI\boot\bootx64.efi 重命名为 EFI\boot\winx64.efi,然后将下载的 shell 重命名为 EFI\boot\bootx64.efi。
之后打开记事本,编辑如下内容并保存为 startup.nsh
dmpstore -d SecureBootPlatformID
fs0:\efi\boot\winx64.efi
fs1:\efi\boot\winx64.efi
fs2:\efi\boot\winx64.efi
fs3:\efi\boot\winx64.efi
fs4:\efi\boot\winx64.efi
fs5:\efi\boot\winx64.efi
fs6:\efi\boot\winx64.efi
fs7:\efi\boot\winx64.efi
fs8:\efi\boot\winx64.efi
fs9:\efi\boot\winx64.efi
fsA:\efi\boot\winx64.efi 复制代码 如果后续无法启动进入普通版 Windows 10 或 PE 环境,还需在 startup.nsh 添加以下内容(建议直接一起加上)
dmpstore -d -guid BA57E015-65B3-4C3C-B274-659192F699E3
dmpstore -d -guid 77FA9ABD-0359-4D32-BD60-28F4E78F784B
dmpstore -d -guid EAEC226F-C9A3-477A-A826-DDC716CDC0E3 复制代码
最后我们还需要下载 gdisk64.exe 和 ddrelease64.exe,放入 Tools 文件夹,下载地址如下:
http://www.rodsbooks.com/gdisk/download.html
http://www.chrysocome.net/download
3.2 制作安装U盘
插入U盘,Win+R 运行 diskpart,输入以下命令
list disk
# 此处假设你的U盘是磁盘2
select disk 2
clean
convert gpt
create partition primary size=5000
format fs=fat32 quick
assign letter=y
create partition primary
format fs=exfat quick
assign letter=z
exit 复制代码 注意:此步骤将清除U盘所有数据。
我们将得到 FAT32 格式的 Y 盘和 EXFAT 格式的 Z 盘。
将3.1步骤得到的所有文件放入 Y 盘,将2.3步骤得到的 Flash.vhdx 放入 Z 盘。安装U盘就做好了。
两个分区的根目录如下图所示。
4. 安装 Windows 10X
4.1 拷贝 VHDX 的内容
通过U盘启动至 PE 环境,你会看到类似于 Windows 10 的安装界面,不需要按下一步,直接按Shift+F10唤出命令提示符。
然后我们需要通过以下命令来确认我们的安装U盘的盘符和内容。
C:
dir
D:
dir
E:
dir
F:
dir
[...] 复制代码
这里假设 Boot 文件夹所在分区为 D: ,Flash.vhdx 文件所在分区为 E: 。
在命令提示符内打开 diskpart,输入以下命令来加载 VHDX
select vdisk file=E:\flash.vhdx
attach vdisk readonly
# 虽然提示成功,需要等待1-5分钟不等使挂载完成
list disk 复制代码 如果显示如下图所示代表挂载完成
接下来,我们需要找出一个大小为2048MB、可用为2048MB的磁盘,上图的例子中为磁盘4,用这个数字减去1得到3,记录为 ID1。
然后确定我们要安装系统的目标磁盘,假设我们要将Win10X安装到磁盘0,将0记录为 ID2。
注意:请确定磁盘0是你的目标磁盘,后续操作将清除该磁盘上的所有数据。
在 diskpart 中继续输入以下命令
select disk 0
clean
convert mbr
exit 复制代码 此处disk 0即你所记录的 ID2。
回到命令提示符中继续操作,输入以下命令将VHDX内容拷贝到你的磁盘中
D:\Tools\ddrelease64 if=\\.\physicaldrive3 of=\\.\physicaldrive0 bs=8M --progress 复制代码 此处3用你的 ID1 替换,0 用你的 ID2 替换。
当进度完成,数字显示为131072M,拷贝完成。
4.2 重建 GPT(对于 512 Byte 扇区容量的磁盘)
如果你使用的不是4K磁盘,那么恭喜你,你还要继续操作以重建 GPT。
在命令提示符中继续输入
> D:\tools\gdisk64 -l \\.\physicaldrive3
[..]
Number Start (sector) End (sector) Size Code Name
1 512 8703 32.0 MiB EF00 BS_EFIESP
2 8704 33554426 128.0 GiB 4202 OSPool 复制代码 记住上面的所有内容(Start、End、Code、Name),由于4K/512=8,所以我们要将这些数字都乘以8,以上的例子中得到4096、69624、69632等数字。
然后对目标分区创建新的 GPT,此过程中所有的确认操作(Y/N)请选择Y
E:\tools\gdisk64 \\.\physicaldrive0
x
z
E:\tools\gdisk64 \\.\physicaldrive0
n
1
4096
69631
EF00
n
2
69632
268435415
4202
c
1
BS_EFIESP
c
2
OSPool
p
# 此步骤核对一下和 physicaldrive3 的 Code、Name是否一致,数字是否乘以了8
w 复制代码 至此完成所有步骤,关闭所有窗口后系统自动重启,建议仍然使用U盘进入 PE 环境,并使用 diskpart 的 list disk 命令确认你的目标磁盘分区与 VHDX 一致。
最后,探索你的 Windows 10X吧~Enjoy
展开阅读全文​
6
查看全部评分