linux mkisofs(genisoimage)命令用法
Posted konglingbin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux mkisofs(genisoimage)命令用法相关的知识,希望对你有一定的参考价值。
功能说明:建立ISO 9660映像文件。
常用命令:genisoimage -o imagename.iso file
语 法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A ][-abstract ][-b ][-biblio ][-c ][-C ][-copyright ][-hide ][-hide-joliet ][-log-file ][-m ][-M ][-o ][-p ][-P ][-sysid ][-V ][-volset ][-volset-size ][-volset-seqno ][-x ][目录或文件]
补充说明:mkisofs可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。
参 数:
-a或–all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
-A或-appid 指定光盘的应用程序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。
-T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。
-v或-verbose 执行时显示详细的信息。
-V或-volid 指定光盘的卷册集ID。
-volset-size 指定卷册集所包含的光盘张数。
-volset-seqno 指定光盘片在卷册集中的编号。
-x 指定的目录将不会放入映像文件中。
-z 建立通透性压缩文件的SUSP记录,此记录目前只在Alpha机器上的Linux有效。
mkisofs用来将指定的目录与文件做成iso 9660格式的映像文件。mkisofs也提供了对于一些扩展的支持选项,
下面将详细介绍。
mkisofs命令可以制作整个光盘的影像文件。命令如下:
mkisofs -r - o my_img.iso /dev/cdrom
参数说明:
-r :启用 rock ridge 扩展一般的 unix 系统。
-o:指定映像文件的名称。
mkisofs 命令还可以把硬盘上一个目录的文件转换为光盘影像文件:
# mkisofs -o imagefile.iso /path/to/tree
这个命令将创建一个包含 iso9660 文件系统的 imagefile.iso 文件,它是目录树 /path/to/tree 的一个 副本。 在处理过程中,它将文件名称映射为标准的 iso9660 文件系统的文件名,将排除那些不典型的 iso 文件系统的文件。应用实例:
把/tmp/netspeed_applet-0.14 目录的所有文件制作为: my_img.iso ,使用命令:
mkisofs -o my_img.iso /tmp/netspeed_applet-0.14 ,图1是命令执行界面。
图1 使用mkisofs命令制作iso文件
mkisofs命令的详细使用方法可以查看其手册页:man mkisofs 。
制作linux启动光盘:
制作一个通用的ISO镜像
mkisofs -a -l -J -L -r -o filename.iso dir
扩展资料一: 在GRUB中,可以利用 stage2_eltorito 来制作启动光盘:
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
stage2_eltorito和menu.lst应该放在光盘的/boot/grub目录里。
在GRUB4DOS中,可以利用 grldr 来制作启动光盘。制作方法有两种:
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o bootable.iso iso_root
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grldr.iso iso_root
grldr和menu.lst应该放在光盘的根目录里。
第一种方法告诉 Bios,希望它能够装入整个 GRLDR 文件到内存。装入内存后,BIOS 还应该正确设置堆栈,使得不至于把堆栈设置到 GRLDR 的程序体内,造成冲突。一般情况下,BIOS 做到这一点很容易,因为它可以设置堆栈指针为装入的起始地址。但也不排除存在 BUGGY BIOS 的可能性。
有些 BIOS 不完全符合可启动的 CDROM 规范,比如 VirtualPC 的就是的。这类 BIOS 只是装入了一部分 GRLDR 扇区到内存,典型的可能只装入了一个扇区(2048 字节的大扇区)到内存。不过我们的代码已经替这些 BUGGY BIOS 打了补丁。只要这些 BIOS 能够设置正确的堆栈,不至于和装入内存中的 GRLDR 扇区数据产生冲突就 OK 了。
也就是说,上述第一种制作光盘的方法,应该没有多大问题了。这种方法很有可能适应于所有的 BIOS。
第二种方法本身就只要求 BIOS 装入一个 CDROM 扇区到内存(等同于 4 个 512 字节的小扇区)。这种方法是最保守的,没有理由会失败了。微软的 win2000 启动光盘就是这么做的,isolinux 和 stage2_eltorito 也都是这么做的。如果这种方法失败了,那么 win2000,isolinux 和 stage2_eltorito 应该都会失败的。
对于第二种方法,我们不需要 -boot-info-table 这个参数。但是允许你用这个参数(用了和没用是一样的,我们的引导代码将忽略由这个参数所传递的数据结构)。
对于第一种方法也一样,不需要 -boot-info-table 这个参数,同时也是允许你用这个参数(用了和没用是一样的,我们的引导代码将忽略由这个参数所传递的数据结构)。
这样,stage2_eltorito 就可以完全用 grldr 来代替了。
扩展资料二:
实例分析:
mkisofs -r -T -J -V "make iso " -b /isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -v -o myiso.iso ./myCD
这个实例是用来制作一个安装盘。每一项的功能可以根据上面的选项得知。
其是 -no-emul-boot:Boot image is ‘no emulation‘ image即非模拟模式启动
-boot-load-size:Set numbers of load sectors 即设置载入部分的数量
-boot-info-table:Patch boot image with info table 在启动的图像中显示信息
制作一个通用的ISO镜像
mkisofs -a -l -J -L -r -o filename.iso /directory
这样就能做出一个在windows和linux(或者其他UNIX)上面都能使用的ISO镜像了。
-a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
-l或-full-iso9660-filenames 使用ISO 9660 32字符长度的文件名
-L或-allow-leading-dots 允许文件名的第一个字符为句号。
-J或-joliet 使用Joliet格式的目录与文件名称。
-r或-rational-rock 使用Rock Ridge Extensions,并开放全部文件的读取权限。
-o<映像文件>或-output<映像文件> 指定映像文件的名称。
扩展资料三
要做 Unix/Linux 下的数据盘或者开机启动盘,必须使用 Unix Rock Ridge 格式(mkisofs -r), 这种格式可以保存文件相关的权限
要所DOS/WIN下的光盘,用Joliet格式(-J)
最简单的光盘生成ISO-----------只有-o –v两个基本参数
最简单的光盘生成ISO-----------只有-o –v两个基本参数
[[email protected] home]# ls
clamav guan guant iei simscan yu
[[email protected] home]# mkisofs -o test.iso -v /home/guan /home/guant
可以后跟多个目录做source
将linux光盘生成iso文件
别忘了-r,否则做成的盘大写都变成小写,而且所有文件的权限都变成r_x
[[email protected] guan]# ls /mnt/cdrom/
autorun RELEASE-NOTES-bn.html
README-zh_TW.html RELEASE-NOTES-U1-gu.html
RedHat RELEASE-NOTES-U1-hi.html
[[email protected] guan]# mkiso -o linux-dev-redhat-as4r4.iso -v -r /mnt/cdrom
iso文件的检验最简单---------直接mount即可,相当于windows下的虚拟光驱
[[email protected] home]# mount /home/test.iso /mnt/disk1
mount: /home/test.iso is not a block device (maybe try `-o loop‘?)
[[email protected] home]# mount -o loop /home/test.iso /mnt/disk1
[[email protected] home]# ls /mnt/disk1
4_root_l _bash_lo _bashrc fggggggg.txt huawei.txt _kde network.txt
_bash_hi _bash_pr del.txt _gtkrc ifcfg_et linux_2_.bz2 newiei sdfsdf.txt
制作linux启动光盘
mkisofs -r -J -T -V "Custom RHEL4 Build" -o /home/guan/custom-RHEL4-dvd.iso
-b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table .
-r -J: -rational-rock -joliet
-b:启动image
-c:cat文件
-no-emul-boot
-boot-load-size 4: Set numbers of load sectors
-boot-info-table:Patch boot image with info table
以上是关于linux mkisofs(genisoimage)命令用法的主要内容,如果未能解决你的问题,请参考以下文章