现在的位置: 首页 > 综合 > 正文

在win下使用mkisofs

2013年07月30日 ⁄ 综合 ⁄ 共 2074字 ⁄ 字号 评论关闭

 ps:slax是一个非常不错的LiveCD,本文的内容其实就是来着对slax文件的分析的整理。由于一段时间比较忙活,直至现在才有闲暇更新blog,呵呵。

网上有很多制作ISO镜像文件的工具,但是对我来说mkisofs.exe更有吸引力。通过mkisofs.exe,我们可以自己制作ISO的镜像文件。需要注意的是,文中涉及了syslinux

1、下载必要的文件
地址1:http://www.student.tugraz.at/thomas.plank/index_en.html

a)下载:
1、Win32-Binaries(latest stable)
2、cygwin1.dll
b)或者下载:
1、Win32-Binaries(newest available)
2、cygwin1.dll
3、DLLS needed by mkisofs
只要下载a)或者b)其中任意一组即可,下载并解压文件。

2、构建相关文件

由于mkisofs.exe是用linux环境写成的,因此在win下使用该程序需要一些dll文件以提供个类似Linux的环境,cygwin1.dll为win提供了Linux API函数以便程序运行。当然你如果下载了新版本的mkisofs.exe(即下载了b)的文件),你可能还需要cygintl-8.dllcygiconv-2.dll
1、新建一个文件夹:winTools,然后从Win32-Binaries文件中拷贝出mkisofs.exe,将其放到winTools目录下。
2a)、如果是下载了Win32-Binaries(latest stable)和cygwin1.dll,那么把解压出来的cygwin1.dll也一起放置到winTools目录下。
2b)、如果是下载了mkisofs.exe的新版本,那么把cygwin1.dll、cygintl-8.dll和cygiconv-2.dll一起放置到winTools目录下。

3、编写配置文件
在winTools目录下新建文件config,然后添加以下内容:
-v
-J
-R
-D
-no-emul-boot
-boot-info-table
-boot-load-size 4
-b "boot/isolinux.bin"
-c "boot/isolinux.boot"

以下是基本选项的说明:
-v 执行时显示详细的信息
-J 使用Joliet格式的目录与文件名称
-D 即disable-deep-relocation,关闭目录层次处理
-no-emul-boot
-boot-info-table
-boot-load-size 4
-b 引导程序
-c 引导目录文件
-o 输出文件
-A 光盘的应用程序ID
-V 光盘的卷册集ID

4、编写makeiso脚本
新建make_iso.bat,并添加以下内容:
@ECHO OFF
REM ----------------------------------------------------
REM Batch file to create bootable ISO in Windows
REM usage: make_iso.bat c:\mimo.iso
REM ----------------------------------------------------
if "%1"=="" goto error1
cd MIMO
set CDLABEL=MIMO

..\winTools\mkisofs.exe @..\winTools\config -o "%1" -A "%CDLABEL%" -V "%CDLABEL%" .
echo.
echo New ISO should be created now.
goto theend

:error1
echo A parameter is required - target ISO file.
echo Example: %0 c:\target.iso
goto theend

:error2
echo Error creating the ISO file
goto theend

:theend
pause

ps:对于以上内容仅是一个例子,你可能需要修改config内容中的:
-b "boot/isolinux.bin"
-c "boot/isolinux.boot"
以上2行,以及make_iso.bat内容中的以下2行:
cd MIMO
set CDLABEL=MIMO

在运行脚本前,你需要确认你的相关文件目录是否正确,这里要求你建立MIMO/、MIMO/boot/ 2个目录。同时在boot/中需要有isolinux.bin文件。因为我们在make_iso.bat中指定了将MIMO文件夹打包成ISO文件。
ps:关于isolinux.bin文件,你可能需要从以下地址下载syslinux-3.82.zip

http://www.kernel.org/pub/linux/utils/boot/syslinux/

isolinux.bin可以从解压后的core/目录中拷出。

5、运行脚本

在命令窗口中输入以下内容:
make_iso.bat D:\mimo.iso
然后你就可以再D盘的根目录下看到mimo.iso了

抱歉!评论已关闭.