功能說明:建立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兩個基本參數
[root@mail home]# ls
clamav guan guant iei simscan yu
[root@mail home]# mkisofs -o test.iso -v /home/guan /home/guant
可以后跟多個目錄做source
將linux光盤生成iso文件
別忘了-r,否則做成的盤大寫都變成小寫,而且所有文件的權限都變成r_x
[root@mm guan]# ls /mnt/cdrom/
autorun RELEASE-NOTES-bn.html
README-zh_TW.html RELEASE-NOTES-U1-gu.html
RedHat RELEASE-NOTES-U1-hi.html
[root@mm guan]# mkiso -o linux-dev-redhat-as4r4.iso -v -r /mnt/cdrom
iso文件的檢驗最簡單---------直接mount即可,相當於windows下的虛擬光驅
[root@mail home]# mount /home/test.iso /mnt/disk1
mount: /home/test.iso is not a block device (maybe try `-o loop'?)
[root@mail home]# mount -o loop /home/test.iso /mnt/disk1
[root@mail 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