physdiskwrite 是一个小型 windows 命令行工具。你可以使用该工具将 .img 格式的磁盘镜像文件写入物理磁盘。(注意:这回导致目标磁盘上绝大部分数据的丢失,请确认目标磁盘选择正确。)
通过本工具,你可以便捷的完成需要写入磁盘镜像的刷机等操作。
永久链接: http://blog.ryjer.com/posts/a1544267b5.html
1. 介绍
physdiskwrite 是一个小型 windows 命令行工具。你可以使用该工具将 .img 格式的磁盘镜像文件写入物理磁盘。
physdiskwrite 的一个特点是不依赖任何windows库,因而可以在Windows PE这样的精简版(残缺版) windows 中正常运行。例如 WePE、老毛桃等 windows PE 工具系统。
2. 下载
physdiskwrite 的下载官网是 m0n0wall - physdiskwrite,其隶属于 m0n0wall 项目(一个防火墙),原本是为了将 m0n0wall 防火墙安装到嵌入式设备中而编写的。打开下载页面后,其页面如下
点击红框内链接即可下载该命令行工具。你可能不知道什么是命令行,但这不影响接下来的使用,请放心
如果你访问不了这个网站,我还准备了 Bt下载方式(见下面链接)。不过这个网站一般不会出什么问题,建议大家还是尽量去官网下载
下载下来后是一个压缩包,文件名如下图
解压压缩包后打开文件夹,可见 physdiskwrite.exe
文件(如下图)。这就是我们要使用的工具本体(红框内所示)
把这个 physdiskwrite.exe
文件复制到 U盘等地方,就可以直接在 U盘或移动硬盘内打开使用了(必须是 windows 系统)
3. 使用说明
3.1 放入 phydiskwrite.exe 和镜像文件
这里使用 微PE 系统刷写 Openwrt 镜像为例介绍。
首先,将 phydiskwrite.exe
和你要写入的镜像文件 (我的是openwrt-x86-64-generic-squashfs-combined-efi.img
) 放入WePE U盘的数据分区。一般他的名字是 微PE工具箱
,也可能是别的名字。但特征是这给盘是 空的,安装完微PE 后打开这个盘,里面没有任何文件。
把两个文件放入这个盘内,结果如下图
3.2 使用 微PE 启动软路由
弹出 微PE U盘,插入软路由 USB 接口中。再将电源、鼠标、键盘、显示器(别忘了显示器,我们需要操作window PE 系统)设备连接好。
按下电源键开机,如果你软路由的内存固态硬盘已经安装过系统了,请进入BIOS 或 启动菜单,将U盘设定为第一启动项。
然后就会以U盘内的 window PE 系统启动了,启动之后桌面如下
3.3 清除目标磁盘分区
提示:这不是必要步骤,但不清理残余的目标磁盘分区则有可能导致刷写完的镜像无法正常工作。所以,这里还是建议删除目标磁盘上的所有分区。
打开上图红框标示的 分区工具 DiskGenius
,在左侧选中目标磁盘(这里是 Virtual Box 虚拟机内的截图),右键菜单选择 删除所有分区(A)
。
然后确认
确认后,会“模拟”清除所有分区。其结果应当如下图所示,绿框中应当显示为 空闲
到这里,都是模拟结果。你需要点击上图左上方红框所示的 保存更改
按钮,才能真正将模拟执行的结果保存。即真正删除所有分区。
点击 是
后,完成结果保存。退出 DiskGenius
区分磁盘
这里需要注意区分目标磁盘,可以使用卷标或容量来判断。磁盘名通常会与生成商相关,而内存固态的容量往往与U盘不同。如下图,目标磁盘有2GB,另一个磁盘有 4GB。如果这两个都相同的话,你需要根据磁盘下属的分区不同自行区分。
3.4 确认数据盘
打开 我的电脑
逐个盘号寻找。直到找到存放 phydiskwrite.exe
和 镜像的盘,记下盘号。比如,下面的数据盘就是 U:
盘。
3.5 写入镜像
首先,打开 命令提示符
。
打开开始菜单,菜单内通常会有 命令提示符
,比如下图所示
我们在 3.4 确认数据盘
中确认盘号是 **U:**。所以输入 u:
,这里不区分大小写。然后回车确认
输入 dir
命令查看文件夹,下图下方红框标识的两个就是 phydiskwrite
和镜像文件 openwrt-x86-64-generic-squashfs-combined-efi.img
接下来输入如下命令,开始进行写入。其中参数 -u
是为了解除 800MB 镜像大小限制
(提示:可以使用键盘左部的 Tab
按键自动补全命令)
1 | phydiskwrite.exe -u openwrt-x86-64-generic-squashfs-combined-efi.img |
然后会出现以下界面,让你选择磁盘。
我已经在上图上标注了 cyl tpc spt 的含义。cyl 代表柱面、tpc代表磁头、spt代表扇区。这里指的是虚拟磁盘而不是物理磁盘,你不必在意这些问题。一个扇区通常有 512B,所以 磁盘容量=柱面×磁头×扇区×512B。通常,磁盘的柱面数和扇区数都是差不多的,所以你可以简单地通过磁头数(tpc)来比较磁盘的大小进行选择。一般相对U盘来说内置磁盘数字是 0
。我这里都是内置磁盘,有所不同,输入 1
选择下面哪个 4GB 的目标磁盘。
然后,下面是提示确认。输入 y
表示确认(yes),然后回车确认
当上图中绿框内的 写入进度 结束,就写完了。(如下图)
然后,openwrt已经写入目标磁盘了。你可以关机拔掉 U盘,然后插上网线重启就开始运行软路由 openwrt 系统了