mkisofs命令常用选项介绍

2 篇文章 0 订阅
2 篇文章 0 订阅

看linux下关于mkisofs命令帮助文档的的时候,我是一头雾水。帮助文档里面关于mkisofs命令的很多东西我都不明白,到目前为止,我只知道用该命令制作linux系统映像文件,然后再用刻录软件做一个系统盘。

在介绍该命令之前,我先介绍普及一些知识,这也是我在百度上查找到的一些资料。我想对一些像我这样的初级人员了解这些知识还是有必要的。

ISO 9660文件系统是一个标准CD-ROM文件系统,几乎所有带有CD-ROM的计算机都可以从ISO 9660文件系统读取文件。此标准有不同的说明级别,一级,文件必须是8.3格式(文件名不得多于8个字符,后缀名不得多于3个字符),并且都得是大写字母。目录也不得多于8个字符。在二级和三级中,文件名可以达到32个字符.  

Joliet,由于在ISO 9660中有一些限制,如字符设置限制,文件名长度限制和目录树深度限制。这些规定阻碍了用户复制数据到可被不同计算机平台读取的CD-ROM。因此,一些操作系统出售商已经以几种方式扩展ISO 9660。Joliet就是ISO 9660的一个扩展,由Microsoft提出和实现。它以ISO 9660(1988)标准为基础。它是光盘(CD)上目录文件系统(包括文件名)的规范。它允许长文件名的长度长达64个字符(包括空格),但是文件名加它的完全路径总字符数不能超过120。以及在文件名中统一编码字符的使用(有时是国际化的需要)。

El Torito可开机光盘规格,是ISO 9660光盘规格的扩充,由IBM的Stan Merkin及凤凰科技(Phoenix Technologies)的Curtis Stevens所主导设计,发表于1994年11月。此规格设计让电脑可从光盘开机。现今的电脑BIOS,会在开机时根据El Torito规格,查找光盘上的开机代码。若该光盘具有开机代码,则BIOS会指配一个磁盘驱动器代号给该光盘驱动器。磁盘驱动器代号通常为80(模拟硬盘)或是00(模拟软盘)等。借由模拟成硬盘或软盘,可让旧式的操作系统由光盘开机。新式的操作系统则不需做模拟,只要有如ISOLINUX之类的开机引导程序(boot loader),即可由光盘开机。

Rock Ridge,针对类UNIX系统的 ISO-9660文件系统 ,支持文件名字母大小写、符号字符以及长文件名。其具体信息可参考http://en.wikipedia.org/wiki/Rock_Ridge

HFS,混合文件系统 (Hybrid File System),是苹果公司 (Apple)的MAC机所使用的光盘文件系统 ,不支持 DOS、Windows 9x/NT等其他操作系统 。或者分层文件系统(Hierarchical File System,HFS)是一种由苹果电脑开发,并使用在Mac OS上的文件系统。最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到。

 

mkisofs——创建一个混合的ISO 9660/JOLIET/HFS文件系统,该文件系统具备可选的Rock Ridge特性。

语法:

mkisofs [ options ] [ -o filename ] pathspec [ pathspec ... ]

mkisofs命令的选项太多了,下面只介绍linux下一些常用的选项,关于HFS的等选项可参考帮助文档。

选项:

  • -a  :可以把备份文件添加到映像文件中
  • -abstract FILE :指定摘要文件名
  • -biblio FILE :指定ISBN(International Standard Book Number)文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN.此参数会写入光盘的Primary Volume Descriptor的Biblio graphic File ID列
  • -A application_id:指定光盘的应用程序ID(长度为128个字符).应用程序ID会写入光盘Primary Volume Descriptor 的Application ID列
  • -allow-leading-dots or -ldots:允许ISO9660文件名称以.字符开头
  • -allow-lowercase:允许小写字母出现在ISO9660文件名中
  • -allow-multidot:允许多于一个.字符出现在文件名中,允许多扩展名(与iso9660格式标准相冲突)
  • -cache-inodes:允许有多个硬链接的文件在光盘中只出现一次
  • -no-cache-inodes:与上相反
  • -b eltorito_boot_image:指定制作可开机光盘时所需的开机映像文件
  • -eltorito-alt-boot:启动时指定启动参数
  • -G generic_boot_image:制作通用可开机光盘时指定通用开机映像文件
  • -hard-disk-boot  :启动映像为硬盘映像            
  • -no-emul-boot:指定启动映像为非模拟映像
  • -no-boot:标识启动映像不可启动
  • -boot-load-seg segment_address:指定加载映像时设置堆栈段地址
  • -boot-load-size:设置加载扇区数
  • -boot-info-table:启动的图像中显示信息
  • -C :将许多节区合成一个映像文件时,必须使用此参数。
  • -c boot_catalog:制作可开机光盘时,mkisofs会将开机映像文件中的-eltorito-catalog全部内容作成一个文件,指定文件名即可,mkisofs会生成文件的全部内容
  • -copyright FILE:指定版权信息的文件名
  • -d:省略文件后的句号
  • -D:ISO9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO9660兼容的格式,-D可以关闭此功能
  • -f:若遇到符号链接,默认会将此符号链接放入到映像文件内。-f可以把符号指向的文件而不是符号放入映像文件内,而不保留符号关连
  • -hide glob:指定的目录或文件在ISO9660或Rock Ridge Extensions的系统中隐藏
  • -hide-list file:指定一些列目录或文件在ISO9660或Rock Ridge Extensions的系统中隐藏的文件名
  • -hide-joliet glob:指定的目录或文件在Joliet格式系统中隐藏
  • -hide-joliet-list file:指定一些列目录或文件在Joliet格式系统中隐藏的文件名
  • -hide-joliet-trans-tbl  :    在Joliet格式系统中隐藏TRANS.TBL文件
  • -T or -translation-table   :建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上
  • -input-charset charset:指定文件名的输入字符集
  • -output-charset charset:指定文件名的输出字符集
  • -J:支持Joliet格式,使用Joliet格式的目录与文件名(可使用unicode储存中文档名)。要做Dos/windows下的光盘,用Joliet格式
  • -joliet-long:支持长文件名(Joliet格式)
  • -jcharset charset:设置字符集(Joliet格式)
  • -l:可使用ISO9660 32个字符长度的文件名。不过刻录出来的光盘可能无法在MS-DOS下正常读取
  • -L:允许文件名的第一个字符为句点(.),刻录出来的光盘可能无法在MS-DOS下读取
  • -log-file log_file:在执行过程中若有错误信息,默认会显示在屏幕上。使用此参数可将错误信息存在指定的文件中
  • -m glob:指定的目录或文件名将不会被放入到映像文件中
  • -exclude-list file:指定一系列目录或文件名将不会被放入到映像文件中的文件名
  • -M path or -M device or -dev device:与指定的映像文件合并.此参数必须与-C参数一起使用
  • -nobak or -no-bak:不将备份文件添加到映像文件中
  • -o filenames:指定生成映像文件的名称
  • -pad:填充生成的映像文件,使其生成的大小为32K的倍数
  • -no-pad:不用填充生成的映像文件,使其生成的大小为32K的倍数
  • -publisher 光盘的发行人:记录光盘的发行人(长度为128个字符),此参数会写入到光盘的Primary Volume Descriptor的Publisher ID列
  • -p 光盘的数据处理人:记录光盘的数据处理人(长度为128个字符) 此参数会写入到光盘的Primary Volume Descriptor的System ID列
  • -print-size:显示预计的文件系统大小。也就是指定的目录与文件刻录在光盘上的大小 。使用此参数可避免建立出太大的映像文件,而超出光盘实际的容量
  • -quiet:执行时不显示任何信息
  • -R or -r:使用Rock Ridge Extensions格式, 并开放全部文件的读取权限;如果你的iso目录深度(层数)大于7,一定要启用它;要做Unix/linux下的数据盘或开机启动盘,必须使用Rock Ridge Extensions格式(mkisofs -r ),这种格式可以保存文件的相关权限
  • -sysid ID:指定光盘的系统ID(长度为32位).系统ID会写入光盘Primary Volume Descriptor的System ID列
  • -no-iso-tranlate:如果你的iso里有非iso9660法定的例如包含'~', '-' and '#'等符号的文件名,一定要启用它
  • -V 卷标:记录光盘的卷标(长度为128位).此参数会写入光盘Primary Volume Descriptor的Volume ID列
  • -volset ID:记录光盘的卷册集识别码(长度为128位).此参数会写入光盘Primary Volume Descriptor的Volume Set ID列
  • -vodset-size 光盘张数:指定卷册集所包含的光盘张数(长度为4个位).此参数会写入光盘Primary Volume Descriptor的Volume Set Size列
  • -volset-seqno 卷册序号:指定光盘片在卷册集中的序号
  • -v :执行时显示详细信息
  • -x path:指定的目录不会放入生成的映像文件中

下面举几个例子:

制作linux启动光盘:

mkisofs -r -J -T -V "Custom RHEL4 Build" -o ../custom-RHEL4-dvd.iso  -b isolinux/isolinux.bin -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table .

制作一个通用的ISO镜像
mkisofs -a -l -J -L -r -o filename.iso dir

以上是我从网上搜索的一些资料,主要参考了http://www.linuxso.com/command/mkisofs.html并整理了一下,有些地方理解的不够准确,请大家多多指教。

 

 


 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值