U盘 fat32,硬盘 gpt 分区, UEFI 引导, 方式安装纯净win10
原由:
- mac 格式化只支持 fat32 ,exfat;BIOS 又不支持 exfat 引导
- 1809的64位有个文件挺大的,fat32已经无法写进去了,然后我试过ntfs和exfat,均无法在BIOS里引导启动。一般的 UEFI 固件是不能识别 FAT32 格式以外的格式,除非主板厂商添加了 NTFS 的驱动模块。
- 而你说的那个文件是 install.wim ,Windows 的映像,官方 MediaCreationTool 制作的是 ESD(高压缩) 格式的 install.esd 不会超过 4GB 。
- wimlib-imagex 分割 install.wim
- 需要bios支持uefi同时硬盘使用gpt, 需要用gdisk 命令 转换分区表(而且是无损的哦)
解决方法 windows 系统下
如果你不是使用非常规版本,还是尽量使用 MediaCreationTool 制作 ISO
其实如果愿意花点时间,可以用 dism 把 install.wim 里面的版本映像导出来重新封装成 ESD ,可以做到比官方制作的更小
1.把install.win 制作的是 ESD(高压缩) 格式的 install.esd
DISM /Export-Image /SourceImageFile:X:\install.wim /SourceIndex:1 /DestinationImageFile:Y/install.esd /compress:recovery /CheckIntegrity
2 dism /Split-Image 分割两个文件
Dism /Split-Image /ImageFile:E:\sources\install.wim /SWMFile:D:\images\install.swm /FileSize:2000
方法1: UEFI 方式,win10 文件写入u盘, 支持UEFI+ GPT 引导
diskutil eraseDisk <format> <name> [APM|MBR|GPT] MountPoint|DiskIdentifier|DeviceNode
//格式化优盘
diskutil eraseDisk MS-DOS "WINDOWS10" MBR disk2
// 查看 install 大小
ls -lh /Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim
// install.wim 小于 4g
rsync -avh --progress /Volumes/CCCOMA_X64FRE_EN-US_DV9/ /Volumes/WINDOWS10
// install.wim 大于 4g 时 先复制其他的
rsync -avh --progress --exclude=sources/install.wim /Volumes/CCCOMA_X64FRE_EN-US_DV9/ /Volumes/WINDOWS10
Download wimlib and use it to split install.wim
// 安装 wimlib
brew install wimlib
//分割 install.wim, 并写入U盘里
wimlib-imagex split /Volumes/CCCOMA_X64FRE_EN-US_DV9/sources/install.wim /Volumes/WINDOWS10/sources/install.swm 3800
方法2: iso镜像写入U盘, 支持MBR 引导
//将U盘unmount(将N替换为挂载路径):
diskutil unmountDisk /dev/disk[N]
//rdisk 中加入r可以让写入速度加快
sudo dd if=/Users/wei/Downloads/Win10_20H2_English_x64.iso of=/dev/rdisk2 bs=1m
gdisk mbr 和 gpt 互相转换
gdisk /dev/sd[x]
MBR to GPT
Enter w to write GPT partition on disk.
Press y to confirm your choice.
GPT to MBR
Enter r to enter in recovery and transformation options.
Enter g to convert GPT to MBR partition.
文件系统与引导关系,参考
物理机-mbr-legacy路径:需要采用mbr分区表的硬盘
#不建议用混合mbr&gpt硬盘,因为不同操作系统的处理方式不一样
*把安装镜像解压到该硬盘ntfs/fat32格式的主分区上
*写入相应mbr和pbr//这里我忘了具体应该写入什么了
*重启选择该硬盘启动
*如果以上过程覆盖了grub的mbr,那么你需要把grub的mbr写回来,并运行一次grub的自动配置脚本,或重新安装grub
物理机-gpt-uefi路径:需要bios支持uefi同时硬盘使用gpt
*把安装镜像解压到fat32分区
*用windows 10的bootmgfw.efi替换镜像中的bootmgfw.efi
*用你喜欢的任何方式让你可以在之后的引导bootmgfw.efi。包括但不限于使用grub的自动配置脚本,修改grub.cfg,使用uefi shell,使用efibootmgr,使用grub的命令行模式。
#个人建议使用uefi shell。
*重启并打开csm
*引导bootmgfw.efi
*完成后,在esp中用grubx64.efi替换bootx64.efi,删除镜像所在分区,并运行grub的自动配置脚本,或重新安装grub
qemu-kvm-gpt-uefi路径:建议双硬盘
#以这种方法安装之后,系统同样可以直接在物理机上启动
*修改镜像,替换bootmgfw.efi(用windows 10的)
*准备硬盘
*将该硬盘初始化为gpt,建立fat32格式的esp,并复制uefi shell
*下载ovmf的bios固件二进制
*准备qemu配置:启用kvm,以ovmf为bios,挂载该硬盘和光盘镜像,从硬盘启动:建议尽可能开启iommu并passthrough硬件。
*以该配置启动qemu并安装
*按照物理机硬件安装驱动程序。有些在此时无法安装的驱动可以在以物理机方式启动后安装。
*关闭qemu,在物理机上为windows建立引导,例如运行grub的自动配置脚本
qemu-kvm-mbr-legacy路径:建议双硬盘
#同上
*准备硬盘
*初始化为mbr
*准备qemu配置:挂载硬盘和镜像,从镜像启动,尽可能passthrough
*完成安装
*安装驱动程序注:qemu可以挂载你linux所在的硬盘,但是这可能导致你linux所在硬盘的损坏,并且安装完成后你需要重新安装/修复grub