USB Image Tool:Windows下的直接写盘利器 【开源硬件佳软介绍 #2】

简介: 这个问题,我们从磁盘结构讲起。磁盘内部所有的存储区域,必然分为分区表和数据区域两大块。而数据区域按分区表分区后,每个分区还被文件系统封装和管理[注B]:

前言:略谈各种开发板常用的“系统镜像”

树莓派(Raspberry Pi)的用户经常提出这样一个问题[注A]


为什么不能把.img镜像拷贝到SD卡中,而必须要用专门的刷卡软件?

这个问题,我们从磁盘结构讲起。磁盘内部所有的存储区域,必然分为分区表数据区域两大块。而数据区域按分区表分区后,每个分区还被文件系统封装和管理[注B]


  • 分区表占据磁盘最前端的少量存储区,存储了磁盘后边广大的数据区域如何分区的重要信息。
  • 数据区域按照分区表的规定,分割成互不影响的若干个区域。
  • 每个分区的内部,由文件系统封装并规定了文件的存储方法。读写文件全部都在文件系统这一层的约束下。


SD卡一般是全盘一个主分区的结构。但Raspberry Pi等Linux开发板要求SD卡上有自定义的分区结构(一般是一个小FAT32一个大Ext4)。要求用户自己分区这很麻烦(甚至不可能),所以系统分发往往采用磁盘镜像文件的方式。


磁盘镜像文件就是绕过上述所有的分层结构,直接从磁盘底层原始数据的第1个字节开始一个一个读取并制成.img文件。这样所备份的原始数据,自然也就包含了分区表、上层文件系统等所有复杂的信息。


安装系统时,只要用逆向的方法,仍然绕开磁盘的上层结构,把镜像文件的内容直接写入磁盘底层,就能得到一块和镜像制作者完全一致的SD卡。从这个意义上讲,传播.img文件其实和直接转借、传递、分享SD卡本身是完全等效的。


这个逆向的写入操作就叫直接写盘。如果只把.img文件拷贝到SD卡中,那只是在文件系统这一层折腾,而没有修改磁盘前面的分区表部分,得到的卡必然和分发者的原样不一致。这就是这个新手问题的答案

image.png

▲ 用图片说明直接写盘与拷贝文件的区别。


上:只拷贝文件得到的错误结果 中:直接写盘对磁盘的影响 下:直接写盘的结果(即镜像作者期待的磁盘原样)


警告:直接写盘是一项系统特权操作,错误使用可能导致意外抹除或覆盖磁盘数据。我们关心您的数据安全,确认了软件有防止错误的必要技术手段,也在本文中提供如何安全使用的提示。但仍然必须声明:软件和本文的作者均不对使用本软件可能产生的任何损害负责。[注C]


专门针对USB存储器的直接写盘工具USB Image Tool

对于Raspberry Pi等开发板,几乎所有的新手教程都推荐使用Win32DiskImager作为系统安装工具。但这个工具问题不少:


  1. 不支持中文目录名(文件或目录有中文,会出现123错误)
  2. 只使用盘符区分不同USB设备,用户需要自行核实,不方便。
  3. 浏览文件,记不住最后使用的目录,找常用的文件很麻烦。
  4. 不支持zip或gz格式的压缩档案。
  5. 必须先插好SD卡,再开软件。
  6. 其它小问题:界面风格简陋;MD5在XP下乱码等


所以我一直推荐在Windows环境下使用USB Image Tool做USB设备的直接写盘。

image.png


使用与特色

通常使用

左侧选定磁盘后,按Restore选择一个磁盘镜像写卡。按Backup读取卡的内容制作成磁盘镜像文件。

RestoreBackup命令能够记住上次使用的文件夹位置。

如果是先开启软件再插入磁盘,可能磁盘不会立即显示出来。这时请点击Rescan刷新左侧磁盘列表。


压缩支持

读卡和写卡都支持zip和gzip压缩的.img镜像。注意.imz并非一个专门的格式,其实只是仅含有一个.img的zip压缩包。

USB Image Tool实际上也可以正确识别.zip的压缩包。(虽然没有提供这个选项。需要先选择All files (*.*)以便能够选中.zip文件。)

image.png


收藏夹

USB Image Tool提供了Favorites标签页,可以收藏一些常用的镜像文件一键刷写,无需寻找。

image.png


重置SD卡

USB Image Tool提供了Reset功能,可以把磁盘的分区表部分全部写成0x00

这个功能用来把为树莓派等系统重新分区过(在电脑上看到容量缩小成几十MB)的卡恢复原状。重置SD卡后,拔出并重新插入,Windows就会发现分区表被全部清空,而提示用户格式化磁盘,恢复磁盘全部空间分配为一个FAT32分区的原始结构。


安全性保证

USB Image Tool的安全保证主要是两点:

  • 以设备名称区别磁盘而不是盘符。可以直接看到读卡器、U盘的设备名称和磁盘容量。
  • 默认只显示存储卡和U盘,不显示移动硬盘和本地磁盘。(Options中提供选项突破这一点)

使用软件提供的机制,简单检查就可以避免刷写错误。

但我们仍然建议您:使用直接写盘工具时,请最好保证计算机上只连入了1个需要写入的USB存储设备。(防止数据灾难,戒之慎之)


其他

  1. 中文文件和路径名称没有问题。
  2. 一个软件窗口内,多个读卡器就可以并行读写,互不干扰,无需开多个窗口
  3. 自动请求管理员特权,不会出现软件正常启动但写入时才提示权限不足

推荐给在Windows下开发Raspberry Pi等Linux开发板的用户使用。


对于Linux

Linux下使用dd命令或SUSE Image Writer图形化工具直接写盘。


遗憾

USB Image Tool是免费软件(Freeware)而非开源软件。会不会将来有人会促成作者将此软件开源,或干脆做出一个开源的等效工具呢?

项目主页与下载:http://www.alexpage.de/usb-image-tool/

注:Windows XP下运行需要.net Framework 2.0


注解

[注A] 其实是三个问题,另一个是“为什么不能直接使用台式机的Linux操作系统安装盘?”。这个问题的答案是:系统架构不同(台机=x86,开发板=ARM/MIPS),造成位于系统最最底层的机器指令层都不通用,上层的就全都更不用说了。

[注B] 这是个简略的说法。

[注C] 软件的免责条款,由许可协议中的AS IS条款规定。文章的免责条款,由CC知识共享许可协议规定。

相关文章
|
Linux 虚拟化 Windows
嵌入式Linux开发环境搭建之五---VMware tool实现Linux与windows文件共享
嵌入式Linux开发环境搭建之五---VMware tool实现Linux与windows文件共享
156 0
嵌入式Linux开发环境搭建之五---VMware tool实现Linux与windows文件共享
|
Windows
微软提供Windows USB/DVD Download Tool:刻录WINDOWS安装系统到U盘
微软提供Windows USB/DVD Download Tool:刻录WINDOWS安装系统到U盘
183 0
|
Windows
微软提供Windows USB/DVD Download Tool:刻录WINDOWS安装系统到U盘
微软提供Windows USB/DVD Download Tool:刻录WINDOWS安装系统到U盘
227 0
|
Windows 数据安全/隐私保护 移动开发
Windows 10 操作系统下利用USB无限网卡创建虚拟WirelessNetwork 类的封装【二】
根据前面的一个内容对功能和合理性上做了扩充和优化。 代码如下: using System; using System.Collections.
822 0
|
数据安全/隐私保护 Windows C#
Windows 10 操作系统下利用USB无限网卡创建虚拟WirelessNetwork 类的封装
最近因为公司的业务要求,在没有网络的情况下,没有路由器支持的情况下,需要组建一个小局域网,可以同时支持多个终端的相互之间的通信,这里的解决方案如下。
804 0
|
1月前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
1月前
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
|
1月前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
87 3