`

linux 下制作可启动 img/iso 文件

 
阅读更多
来源:http://hi.baidu.com/sxpspace/blog/item/840bbd0eda465ecd7bcbe183.html

总的来说,制作镜像文件有三种方法,cp, cat, dd 和其它专用工具。cp ,cat 和 dd都可以从设备复制文件来创建镜像。而 dd 命令更为强大,可以通过指定块大小,块多少来直接创建镜像。

IMG 文件:

因为cp, cat 只能从设备来制作镜像,但又没有专用工具来做 IMG 文件,故这里用 dd 命令来制作 IMG 文件。
1,制作
dd if=/dev/zero of=fdimage.img count=2880
or
dd if=/dev/zero of=fdimage.img bs=1024 count=1440

2,格式化
mkfs.msdos fdimage.img

3,修改
可以用下面的命令 mount 后,可直接修改
mount -o loop *.img /mnt

4,可启动
因为制作可启动镜像一定会用到虚拟机,推荐用 Virtualbox,先到网上下个 DOS 启动盘来引导。用 DOS 的 sys 命令传递系统。推荐使用 FreeDOS,属自由软件。也可用 dd 命令 来传递引导引导信息,并复制启动启动时所需文件来做启动盘。以 FreeDOS 为例,传递启动信息用以下命令,其中下载的启动盘为 balder10.img 文件

dd if=balder10.img of=fdimage.img bs=512 count=1 conv=notrunc

多系统用 grub4dos,

1),用 grub.exe 引导多系统

2),安装 grub 到MBR,用 grldr 来引导多系统。当然也可用同上面一样的办法用 dd 直接写入引导信息。

bootlace.com --floppy --chs 0x00

注:才发现用 dd 命令只能从逻辑扇区开始 copy,先前我想可否用 dd 来将 grldr.mbr 写入 u 盘,我用自己的 U 盘试了,结果不能打开了。因为我的 U 盘为 fat16 格式,逻辑扇区开始是OBR,接着是FAT表,结果把 FAT1 表给盖了,那时还没有想到还有 FAT2 呢,就格了,现在想起来郁闷啊,好多东西都没有了。

为什么软盘可以呢,因为它就没有前面的63个扇区,直接从逻辑0扇区开始的。

ISO 文件:

因为文件系统的关系,就不能用 dd 来直接做 ISO 镜像了(当然,它还是可以从设备制作 ISO 镜像)。 ISO 文件的制作有专用工具,

1,制作
mkisofs -r -o cdimage.iso /home/XXX/cddir

2,格式化
用mkiso制作的 iso 已有文件系统 iso9660

3,可启动
无论是引导单系统还是引导多系统都还是用 mkisofs 这个工具,只是加载到光盘的 boot loader 不一样而已。当然也可以将 DOS 的引导器 (也就是它的引导扇区) 或 windows 的引导器 ( XP 系统的是 ntldr ) 放入让光盘引导。下面只讨论 grub4dos 的使用

1),用 grub.exe 引导多系统
用 DOS 加载 grub.exe 引导多系统

2),将 grub 安装到光盘 MBR
在制作时可用下面的命令直接生成可启动镜像,其中 grldr, menu.lst 要放在 cddir 目录下,也就是在 cd 根目录。
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir


PS,下面给出 dd 命令和 mkisofs 参数说明

dd (convert and copy files)

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

dd 的主要选项:
指定数字的地方若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m

if=file
输入文件名,缺省为标准输入。

of=file
输出文件名,缺省为标准输出。

ibs=bytes
一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。

obs=bytes
一次写 bytes 个字节(即一个块大小为 bytes 个字节)。

bs=bytes
同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。

cbs=bytes
一次转换 bytes 个字节,即转换缓冲区大小。

skip=blocks
从输入文件开头跳过 blocks 个块后再开始复制。

seek=blocks
从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)

count=blocks
仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。

conv=conversion[,conversion...]
用指定的参数转换文件。

转换参数:

ascii 转换 EBCDIC 为 ASCII。

ebcdic 转换 ASCII 为 EBCDIC。

ibm 转换 ASCII 为 alternate EBCDIC.

block 把每一行转换为长度为 cbs 的记录,不足部分用空格填充。

unblock
使每一行的长度都为 cbs ,不足部分用空格填充。

lcase 把大写字符转换为小写字符。

ucase 把小写字符转换为大写字符。

swab 交换输入的每对字节。 Unlike the
Unix dd, this works when an odd number of
bytes are read. If the input file contains
an odd number of bytes, the last byte is
simply copied (since there is nothing to
swap it with).

noerror
出错时不停止。

notrunc
不截短输出文件。

sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

由于 dd 命令允许二进制方式读写,所以特别适合在原始物理设备上进行输入/输出。例如可以用下面的命令为软盘建立镜像文件:
dd if=/dev/fd0 of=disk.img bs=1440k
有趣的是,这个镜像文件能被 HD-Copy ,Winimage 等工具软件读出。再如把第一个硬盘的前 512 个字节存为一个文件:
dd if=/dev/hda of=disk.mbr bs=512 count=1


mkisofs (make iso file system)

功能说明:建立ISO 9660映像文件。

语  法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A<应用程序ID>][-abstract <摘要文件>][-b <开机映像文件>][-biblio ][-c<开机文件名称>][-C <盘区编号,磁区编号>][-copyright <版权信息文件>][-hide<目录或文件名>][-hide-joliet <文件或目录名>][-log-file <记录文件>][-m<目录或文件名>][-M <开机映像文件>][-o <映像文件>][-p<数据处理人>][-P <光盘发行人>][-sysid <系统ID >][-V <光盘ID>][-volset <卷册集ID>][-volset-size <光盘总数>][-volset-seqno<卷册序号>][-x <目录>][目录或文件]

补充说明:mkisofs可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。

参  数:
-a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
-A<应用程序ID>或-appid<应用程序ID> 指定光盘的应用程序ID。
-abstract<摘要文件> 指定摘要文件的文件名。
-b<开机映像文件>或-eltorito-boot<开机映像文件> 指定在制作可开机光盘时所需的开机映像文件。
-biblio 指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN。
-c<开机文件名称> 制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件。
-C<盘区编号,盘区编号> 将许多节区合成一个映像文件时,必须使用此参数。
-copyright<版权信息文件> 指定版权信息文件的文件名。
-d或-omit-period 省略文件后的句号。
-D或-disable-deep-relocation ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能。
-f或-follow-links 忽略符号连接。
-h 显示帮助。
-hide<目录或文件名> 使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏。
-hide-joliet<目录或文件名> 使指定的目录或文件在Joliet系统中隐藏。
-J或-joliet 使用Joliet格式的目录与文件名称。
-l或-full-iso9660-filenames 使用ISO 9660 32字符长度的文件名。
-L或-allow-leading-dots 允许文件名的第一个字符为句号。
-log-file<记录文件> 在执行过程中若有错误信息,预设会显示在屏幕上。
-m<目录或文件名>或-exclude<目录或文件名> 指定的目录或文件名将不会房入映像文件中。
-M<映像文件>或-prev-session<映像文件> 与指定的映像文件合并。
-N或-omit-version-number 省略ISO 9660文件中的版本信息。
-o<映像文件>或-output<映像文件> 指定映像文件的名称。
-p<数据处理人>或-preparer<数据处理人> 记录光盘的数据处理人。
-print-size 显示预估的文件系统大小。
-quiet 执行时不显示任何信息。
-r或-rational-rock 使用Rock Ridge Extensions,并开放全部文件的读取权限。
-R或-rock 使用Rock Ridge Extensions。
-sysid<系统ID> 指定光盘的系统ID。
-T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。
-v或-verbose 执行时显示详细的信息。
-V<光盘ID
分享到:
评论

相关推荐

    多重u盘启动盘制作工具Ventoy.rar

    Ventoy 是一款短小精悍优秀开源的新型多重u盘启动盘制作工具,有了Ventoy大家就无需反复地格式化U盘,只需要把ISO文件拷贝到U盘里面无需其它任何操作就可以启动了,无需参考ventoy使用教程大家可以一次性拷贝很多个...

    ventoy-1.0.53 windows版

    提出 "Ventoy Compatible" 概念,支持插件扩展,Linux vDisk(vhd/vdi/raw...) 启动解决方案,支持向运行环境中插入文件,动态替换ISO文件中的原始启动配置文件,高度可定制化的主题风格和菜单,启动过程中支持U盘...

    ventoy 1.0.64 windows版

    Ventoy是一个制作可启动U盘的开源工具。 有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个不同类型的镜像...

    ventoy-1.0.57 windows版

    提出 "Ventoy Compatible" 概念,支持插件扩展,Linux vDisk(vhd/vdi/raw...) 启动解决方案,支持向运行环境中插入文件,动态替换ISO文件中的原始启动配置文件,高度可定制化的主题风格和菜单,启动过程中支持U盘...

    本地硬盘ISO安装Linux系统

    采用本方法的主要原因需要安装双系统,但电脑无光驱或者U盘不识别,需要在现有系统中安装linux系统等.............. ... 接着按提示操作(具体可参考“制作U盘启动来安装Linux系统的具体方法”文件中相关步骤)

    ventoy-1.0.62 windows版

    提出 "Ventoy Compatible" 概念,支持插件扩展,Linux vDisk(vhd/vdi/raw...) 启动解决方案,支持向运行环境中插入文件,动态替换ISO文件中的原始启动配置文件,高度可定制化的主题风格和菜单,启动过程中支持U盘...

    ventoy-1.0.61 windwos版

    提出 "Ventoy Compatible" 概念,支持插件扩展,Linux vDisk(vhd/vdi/raw...) 启动解决方案,支持向运行环境中插入文件,动态替换ISO文件中的原始启动配置文件,高度可定制化的主题风格和菜单,启动过程中支持U盘...

    ventoy 1.0.79 windows版

    简单来说,Ventoy是一个制作可启动U盘的开源工具。 有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个...

    ventoy-1.0.32.zip

    简单来说,Ventoy是一个制作可启动U盘的开源工具。 有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个...

    ventoy-1.0.77

    Ventoy是一个制作可启动U盘的开源工具。 有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个不同类型的...

    rufus-2.18(U盘启动盘制作工具 支持win和linux),含教程.rar

    在功能上,用户可以通过rufus快速制作linux系统或者windows启动u盘,但是要注意的是在这之前你需要把重要资料备份到电脑中,因为格式化后什么都找不回来了。 【操作步骤】 1、下载操作系统的iso镜像文件。 2、把...

    ventoy-1.0.27-windows.zip

    Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个不同类型的镜像文件...

    PowerISO 5.8 DC 24.12.2014 Multilanguage (x86-x64) 内含注册机

    14、制作可启动光盘或镜像文件。 15、PowerISO使用方便,支持系统快捷菜单集成,拖放、以及剪贴版等常见操作。 PowerISO支持的光盘文件系统: 标准ISO-9660 Joliet ISO 扩展(CDs under Windows 95 and higher) Rock...

    Linux 安装助手工具 LiLi USB Creator 2.9.4 中文免费版.zip

    你可以快速创建一个可启动的u盘,通过特制版本的虚拟机可实现直接在windows下启动linux,无须安装也不需要设置。 支持大多数linux发行版 ubuntu, fedora, debian, damn small linux, puppy linux等等。 软件信息 ...

    拒绝光驱,最简单的U盘装系统工具,可直接刻录WinXP

    当您手中有N个Win8、Win7、Vista、XP、Linux、WinPE、Win98、Win2003、Win2008等等光盘ISO、IMG格式的镜像文件时,把光驱忘掉吧,现在有了这款工具,可以轻松把它们制作成启动U盘(移动硬盘和SD卡也可以)。...

    MAXDOS一键备份还原工具箱

    6, 支持引导自已制作dos img镜像,以及支持直接启动硬盘上的光盘iso镜像。 7, 全中文全自动化一键备份还原程序,可直接在windows上操作备份及还原。 8, 支持系统盘为ntfs分区,支持读取,修改,删除,复制或操作ntfs...

    unetbootin-windows-319.exe

    这是最新的制作USB启动盘的工具,版本是09年3月7号的。可以将自启动安装光盘...非常适用于安装Liux的任何一个版本 ,推荐用此软件做个U盘启动盘(下载一个liux系统的ISO文件),然后在BIOS中设置从U盘引导即可安装Linux.

    网管教程 从入门到精通软件篇.txt

    ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:...

    MaxDOS 5.6s U盘版

    很好用的U盘系统盘制作工具这次出的所谓MaxDOS 密码读取工具,其实只是读取了安装日志LOG里的设置值,并不是真正的MD5值被编译,本来不想保留这个东西的,但是如果不保留这个LOG文件的话,又无法完成自动卸载,怕有些人又...

Global site tag (gtag.js) - Google Analytics