本期的《开源软件佳软介绍》,我们讨论直接写盘。

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

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

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

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

分区表占据磁盘最前端的少量存储区,存储了磁盘后边广大的数据区域如何分区的重要信息。

数据区域按照分区表的规定,分割成互不影响的若干个区域。

每个分区的内部,由文件系统封装并规定了文件的存储方法。读写文件全部都在文件系统这一层的约束下。

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

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

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

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

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

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

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

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

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

不支持中文目录名(文件或目录有中文,会出现123错误)

只使用盘符区分不同USB设备,用户需要自行核实,不方便。

浏览文件,记不住最后使用的目录,找常用的文件很麻烦。

不支持zip或gz格式的压缩档案。

必须先插好SD卡,再开软件。

其它小问题:界面风格简陋;MD5在XP下乱码等

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

使用与特色

通常使用

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

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

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

压缩支持

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

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

收藏夹

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

重置SD卡

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

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

安全性保证

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

以设备名称区别磁盘而不是盘符。可以直接看到读卡器、U盘的设备名称和磁盘容量。

默认只显示存储卡和U盘,不显示移动硬盘和本地磁盘。(Options中提供选项突破这一点)

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

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

其他

中文文件和路径名称没有问题。

一个软件窗口内,多个读卡器就可以并行读写,互不干扰,无需开多个窗口

自动请求管理员特权,不会出现软件正常启动但写入时才提示权限不足

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

对于Linux

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

遗憾

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

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

注解

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

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

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

《开源硬件佳软介绍》系列文章

《开源硬件佳软介绍》系列文章,介绍调试Raspberry Pi等开源硬件板卡,所用到的各种优秀软件。每周五更新,敬请期待!

上一篇:MobaXterm:“十项全能”的远程终端登录软件 【开源硬件佳软介绍 #1】

下一篇:待定中 :D

《USB Image Tool:Windows下的直接写盘利器》 http://segmentfault.com/a/1190000000492510

SegmentFault原创内容。部分内容使用了作者自己的旧创作。

转载使用请遵守本站相关声明。

本文作者与责任:沙渺

img写盘工具安装Linux,USB Image Tool:Windows下的直接写盘利器 【开源硬件佳软介绍 #2】...相关推荐

  1. U盘刻录linux系统后在windows下无法识别完整容量

    U盘刻录linux系统后在windows下无法识别完整容量 问题描述: 将linux系统刻录进U盘,会导致原本比如16G的U盘在windows上只能显示2m左右的容量. 这实际上是因为windows系 ...

  2. u盘修复linux系统,360u盘修复工具官方版u盘pe安装linux系统

    电脑配件质量不佳或损坏,是引起显示器黑屏故障的主要成因.如内存,显示卡,主板.CPU等出现问题肯定可能引起黑屏故障的出现.其故障表现为显示器灯呈橘黄色,此时可用替换法更换下显示卡,内存.CPU,主板等 ...

  3. 无人值守u盘安装linux,从U盘无人值守安装linux操作系统(纯实践笔记)

    作者:曲宝全 本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO大小来定),本文试验的操作系统是RHEL4.8-x86_64-AS-DVD.is ...

  4. 从U盘无人值守安装linux操作系统

    本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO大小来定),本文试验的操作系统是RHEL4.8-x86_64-AS-DVD.iso,这个ios ...

  5. u盘pe无人值守linux,从U盘无人值守安装linux操作系统(纯实践笔记

    本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO大小来定),本文试验的操作系统是RHEL4.8-x86_64-AS-DVD.iso,这个ios ...

  6. 使用U盘引导安装linux

    适合场景: 在现场的实施环境中经常会遇到服务器没有光驱的现象 , 这个时候如果有一个外置光驱 当然是最好,但是一时找不到外置光驱或者安装光盘损坏的情况下, U盘引导安装linux 系统的方法是一个不错 ...

  7. 无人值守u盘安装linux,U盘无人值守安装Linux操作系统

    本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO大小来定),本文试验的操作系统是RHEL4.8-x86_64-AS-DVD.iso,这个ios ...

  8. 如何用u盘引导linux,使用U盘引导安装linux

    适合场景: 在现场的实施环境中经常会遇到服务器没有光驱的现象 , 这个时候如果有一个外置光驱 当然是最好,但是一时找不到外置光驱或者安装光盘损坏的情况下, U盘引导安装linux 系统的方法是一个不错 ...

  9. windows装linux无u盘安装,u盘无人值守安装linux操作系统

    http://qubaoquan.blog.51cto.com/1246748/305623 本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO ...

  10. 【Linux】使用U盘自动化安装Linux(VMware虚拟机)

    文章目录 前言 一.准备 二.新建虚拟机 2.1 创建虚拟机 2.2 新增硬盘 2.3 系统启动项 三.加电运行 四.EFI方式 五.总结 前言 一.准备 基于之前的基础[Linux]Kickstar ...

最新文章

  1. 什么是textCNN? 能用来做什么?结构是什么?
  2. 【数论】排列组合学习笔记
  3. 微信企业号OAuth2.0授权-Java
  4. 【免费活动】解析腾讯云音视频通信三大核心网络技术实战与创新
  5. 【Java】JDBC连接MySQL驱动
  6. bzoj4195 noi2015 day1 t1
  7. 什么是Spring什么是SpringMVC?
  8. MyBatis学习(十)--MyBatis数据操作
  9. dell inspiron 只有一个飞行模式 没有wifi_【显示器推荐③】2K常规显示器|显示器|电脑|hdr|dell|hdmi...
  10. 颜色rgba、16进制、10进制互相装换
  11. 电脑桌面计算机软件不见了,电脑桌面图标不见了怎么恢复?
  12. LUP分解的C++实现
  13. 写给朋友们的Markdown教程,真的很好用,而且很简单
  14. Runloop与UITableView简单结合
  15. unity 烘焙模式——baked indirect/shadow mask/distance shadowmask/subtractive模式的区别
  16. 基于时空注意力的图卷积网络在路段级交通预测中的应用
  17. 如何获取主机名和当前登录用户名
  18. 机器学习面试题101~200
  19. Python计算等额本息贷款和等额本金贷款
  20. 让人意想不到的Python彩虹旋涡,美到窒息

热门文章

  1. 三对角、五对角追赶法求解线性方程组
  2. 【全网最详细】 树莓派控制ws2812b灯带 点亮教程
  3. 荣耀总裁赵明揭秘华为薪酬制度:不看资历,只看贡献
  4. Linux基础知识: SSH命令
  5. 室内设计——别墅设计方案(包含预览图jpg和.psd文件)
  6. 三十、在实践中培养和选拔干部(第1版)
  7. 汽车类自媒体怎么找素材?这几个办法很好用
  8. java bartender_BarTender Web Print Server可用的打印方法
  9. [excel]解决Excel和txt转换出现的“问题
  10. vue移动端实现word在线预览