|
竟然能把本地磁盘格式化了。
窗体控件正在初始化。禁用所有控件。
<三分区>单选按钮事件:制作时会将USB磁盘分成3个分区:fbinst启动分区 + 个人数据分区 + EFI隐藏分区。
<全新安装>单选按钮事件:全新制作模式会删除选择驱动器的所有分区!一定要提前备份好数据,否则由此造成的一切后果自负!
<指定个人数据分区格式>下拉框事件:当前选定为NTFS格式。特点:可靠性高,最大单一文件受最大分割容量限制。(注意:NTFS对FAT和HPFS作了若干改进,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。)
<刷新>按钮事件:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /list /usb /out:C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\myusbdisk.log
分析myusbdisk.log。
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /list:11 /out:C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\myusbdisk11part.log
分析myusbdisk11part.log。
得到驱动器编号:11,盘符:-:*:*:(盘符倒序显示,-:代表未分配空间,*:代表已分配空间但未分配盘符)
添加驱动器信息到下拉框。
解冻全部控件。
<制作>按钮事件:冻结全部控件。
已确认待制作磁盘编号:1
当前系统信息:Windows 10 Pro 19045 x64
检测到H:\win_pe\天意PE2023.4.13精简版\win11pe.iso文件,获取ISO文件大小:445.09MB 获取H:\win_pe\天意PE2023.4.13精简版\ty.fba文件大小:414.18MB
<三分区_全新安装>模式开始:
{
给个人数据分区执行强制分配盘符动作以解除占用:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /setletter:0 /letter:*
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /setletter:0 /letter:auto
二次确认磁盘1的分区信息:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /list:1 /out:C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\myusbdisk1part.log
得到了磁盘1所在的个人数据区盘符:G:和磁盘格式:NTFS
还原磁盘为普通模式(删除fbinst引导记录),清除磁盘所有数据:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\fbplus.exe" G: format --force --raw --fat32 --align
删除磁盘所有分区,U盘所有数据丢失,请提前备份磁盘数据:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /del:all
在左端未分配空间中新建914767.82MB大小的NTFS格式数据区,并设置卷标为tydata,激活分区,4K对齐,自动分配盘符,并在左端留下425.18M未分配空间用于UD区:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /cre /pri /size:914767.82 /offset:425.18 /fs:ntfs /act /align /label:tydata /letter:auto
创建并格式化右端的EFI区,520MB,格式FAT16,4K对齐,不设置隐藏属性,设置卷标为myefi:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /cre /pri /size:520 /offset:915194 /fs:fat16 /align /label:myefi
把左边分出的424.18MB空间非强格成UD区,指定UD主分区为8MB,剩下的自动作为UD扩展空间:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\fbplus.exe" G: format --fat32 --primary 8M --align
现在磁盘设备上的三分区已经形成:fbinst启动分区 + 个人数据分区 + EFI隐藏分区
开始把"H:\win_pe\天意PE2023.4.13精简版\ty.fba"文件写入UD区:
[运行]cmd.exe /c ""C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\fbplus.exe" G: load "H:\win_pe\天意PE2023.4.13精简版\ty.fba""
检测到H:\win_pe\天意PE2023.4.13精简版\win11pe.iso:
检测到当前OS为Windows 8/8.1/10,开始挂载ISO镜像:
[运行]cmd.exe /c powershell.exe "Mount-DiskImage -ImagePath "H:\win_pe\天意PE2023.4.13精简版\win11pe.iso" -StorageType ISO"
获取挂载ISO镜像盘符:
[运行]cmd.exe /c powershell.exe "Get-DiskImage -ImagePath "H:\win_pe\天意PE2023.4.13精简版\win11pe.iso" | Get-Volume"
没有找到M:\version.txt,程序判定为挂载ISO失败!只能解压H:\win_pe\天意PE2023.4.13精简版\win11pe.iso,这需要一些时间,请耐心等待:
[运行]"C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\7z64\7z.exe" x "H:\win_pe\天意PE2023.4.13精简版\win11pe.iso" -y -aos -o"C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\myiso"
解压成功。
导入资源到隐藏区,这需要一些时间,请耐心等待:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /whide:1 /src:C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\myiso
开始卸载ISO镜像:
[运行]cmd.exe /c powershell.exe Dismount-DiskImage -ImagePath "H:\win_pe\天意PE2023.4.13精简版\win11pe.iso"
强制取消U盘低端分区隐藏属性,强制设置高端EFI区ID为0xEF:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PECMD64.EXE" PART -admin 1#1 0x7
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PECMD64.EXE" PART -admin 1#2 0xEF
解冻全部控件。
给个人数据分区执行强制分配盘符动作以解除占用:
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /setletter:0 /letter:*
[运行]cmd.exe /c "C:\Users\Canal\AppData\Local\Temp\9ac81372d70d4a3296c9634eda885525\PartAssist\PartAssist.exe" /hd:1 /setletter:0 /letter:auto
解冻全部控件。
<三分区_全新安装>模式结束。
}
解冻全部控件。 |
|