mkisofs 命令制作光盘镜像
作用:建立
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
###############################################
#################################################
mkisofs(8)
程序作为
sysutils/cdrtools port
的一部分,
将生成
ISO 9660
文件系统,其中包含
UNIX?
命名空间中的文件名。最简单的用法是:
# mkisofs -o imagefile.iso /path/to/tree
这个命令将创建一个包含
ISO9660
文件系统的
imagefile.iso
文件,它是目录树
/path/to/tree
的一个副本。
在处理过程中,它将文件名称映射为标准的
ISO9660
文件系统的文件名,将排除那些不典型的
ISO
文件系统的文件。
有很多选项能够用来克服那些限制。特别的,
-R
选项能够启用
Rock Ridge
扩展一般的
UNIX
系统,
-J
选项能启用用于
Microsoft
系统的
Joliet
扩展,
-hfs
选项能用来创建用于
Mac OS?
系统的
HFS
文件系统。
RockRidge
格式是
ISO9660
格式的延伸,支持文件名字母的大小写、符号字符、长文件名以及超过
8
层的目录结构。
RockRidge
使
CD-ROM
能兼容
Unix
的文件系统,因此它在
Unix
系统上已经被广泛地使用。
对于那些即将要在
FreeBSD
系统中使用
CD
的人来说,
-U
选项能用来消除所有文件名的限制。当使用
-R
选项时,它会产生一个
文件系统映像,它与您从那儿启动
FreeBSD
树是一样的,虽然它在许多方面也违反了
ISO 9660
的标准。
最后一个常用的选项是
-b
。
它用来指定启动映像的位置,用以生成
“
El Torito
”
启动
CD
。
这个选项使用一个参数,
用以指定将写入
CD
的目录的根。默认情况下,
mkisofs(8)
会以常说的
“软盘模拟”
方式来创建
ISO
,
因此它希望引导映像文件的尺寸恰好是
1200
,
1440
或
2880 KB
。
某些引导加载器,
例如
FreeBSD
发行版磁盘,
并不使用模拟模式;这种情况下,
需要使用
-no-emul-boot
选项。
因此,
如果
/tmp/myboot
是一个包含了启动映像文件
/tmp/myboot/boot/cdboot
的可引导的
FreeBSD
系统,您就可以使用下面的命令生成
ISO 9660
文件系统映像
/tmp/bootable.iso
:
# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
完成这些工作之后,
如果您的内核中配置了
md
,就可以用下列命令来挂接文件系统了:
# mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
# mount -t cd9660 /dev/md0 /mnt
可以发现
/mnt
和
/tmp/myboot
是一样的。
还可以使用
mkisofs(8)
的其它选项来调整它的行为。特别是修改
ISO 9660
的划分格式,创建
Joliet
和
HFS
格式的磁盘。查看
mkisofs(8)
联机手册得到更多的帮助。
示
例
:
1)
建立映像文件
(
把目录
a
下的内容做成
iso
文件
)
$mkisofs -r -o a.iso a/
2)
建立映像文件
(
把目录
a
下的内容做成
iso
文件,并指定不把文件
b.txt
放到
iso
中
)
$mkisofs -m b.txt -r -o a.iso a/
3)
建立映像文件
(
把目录
a
下的内容做成
iso
文件,并指定不把目录
b
放到
iso
中
)
$mkisofs -x b -r -o a.iso a/
4)
建立映像文件
(
把目录
a
下的内容做成
iso
文件,并指定不把目录
b
放到
iso
中
,
并指定数据处理人为
Jack Chen)
$mkisofs -p "Jack Chen" -x b -r -o a.iso a/
5)
建立映像文件
(
把目录
a
下的内容做成
iso
文件
,
并指定共
4
张光盘,此为第
2
张
)
$mkisofs -volset-size 4 -volset-seqno 2 -r -o a.iso a/
6)
预计建立映像文件的容量大小
$mkisofs -print-size -r a/