Contents
  1. 1. cat x.iso > /dev/sdX 启动原理
    1. 1.1. 前言
    2. 1.2. 原理分析
    3. 1.3. 参考文献

cat x.iso > /dev/sdX 启动原理


前言


之前在U盘装系统的时,“刻录”U盘常用命令cat xx.iso > /dev/sdX(其实用dd也可以),xx.iso为要“刻录”的系统,sdX为U盘在系统中的设备文件名。执行命令后,U盘变为一个自带引导,包含iso内内容的操作系统安装盘。个人觉得能自带引导比较神奇,于是有了本文。

原理分析


ISO是一种文件系统格式,其他的如ext4、ntfs、fat。ISO格式可以作为一种镜像文件,文件系统自身可带引导功能。cat/dd命令只是将文件系统镜像拷贝到U盘设备上。

ISO文件自身的引导,可由特殊工具创建的,比如说isohybrid,可将引导程序写入镜像文件前几个扇区,iso9660标准一般不会使用开始的几个用来引导的扇区,使iso镜像可以有引导功能。这也解释通了光盘为什么可以引导(光盘自身是ISO格式)。任何设备在Linux中都被抽象为文件,cat xx.iso > /dev/sdX将ISO中的内容输出重定向到设备上,从而完成了拷贝。在这个过程中,cat对iso文件没有任何处理,仅仅是数据拷贝。

同理,也可以创建一个ext4格式的文件镜像然后cat ext4file > sdX 完成对sdX硬盘的格式化和数据写入。

参考文献


Contents
  1. 1. cat x.iso > /dev/sdX 启动原理
    1. 1.1. 前言
    2. 1.2. 原理分析
    3. 1.3. 参考文献