Linux发行版的U盘IMG文件是如何制作的
Linux发行版的通常有ISO光盘安装文件(刻录光盘用), USB安装的IMG文件等...
我们知道IMG可以通过 dd 命令从一个U盘创建, 不过这种情况下往往创建的文件与设备的实际数据一致(比如被删除的文件的实际数据也可能存在硬盘的数据区), 用这个方法无法创造一个'干净'的IMG文件.
那么, 各个Linux发行版是如何创建干净的IMG, 给成千上万的用户下载的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
记得不清楚,定性回答。
.IMG用得真是不多了。我记得目前的Fedora、Ubuntu等发行版,用的是一种叫做Bundled iso的混合格式ISO,文件内容中既有ISO CDFS的文件系统,又有可直接写入U盘使用的引导扇区。
这样做,CDFS和启动扇区肯定是可以单独构建的,组合到一起就可以。
.IMG也一样。以Raspbian为例,先构造出一个4G的空白文件(填零),然后把这个文件视作/dev/sdx一样的磁盘设备,让操作系统的构建命令都把那里当作一个文件系统写进去文件,一切就都搞定了。反正初始化时候填的0,最后的空白空间一定没问题。——这只是个想象,不过可行性100%无误。
dd只是最粗糙最底层的磁盘备份工具。.IMG文件的产生,未必非要通过dd备份得来的。甚至于dd作为系统的备份都太过于原始,不值得推荐。
以树莓派为例(不限于Raspbian),我现在备份都是在Linux环境下,插上卡一个
tar zcvf
,把Ext4文件系统的内容打个.tar.gz
包搞定还顺带压缩。我才懒得用dd或Win32DiskImager或USBImageTool,白白浪费时间空间,备份也费劲还原也费劲。