分享
 
 
 

在 Linux 上烧录 CD

王朝system·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Linux 为创建 CD 提供了功能强大且灵活的工具。您可以创建在几乎任何平台上都可读的盘,还可以创建 .iso 文件以供下载和分发。

在任何平台上从命令行烧录 CD 都是一件令人费解且烦躁的事情,Linux 当然也不例外。不过,由于在各平台上所用到的命令和术语都十分相似,因此学习一下如何在 Linux 上刻录 CD 还是十分有用的。许多 Linux 软件都是通过 .iso 映像分发的,因此假如您知道如何烧录 CD,就可以下载 .iso 来创建您自己的安装盘。

Linux 和 Windows 都有可录 CD 的程序可用,但 Linux 版本比起 Windows 版本来功能更强大通用性也更好。在本文中,我们将研究 Linux CD 刻录命令中的两个主力:mkisofs 和 cdrecord。mkisofs 创建预先录制的映像,来生成 ISO9660/JOLIET/HFS 混合文件系统。它同时创建和填充文件系统。与其它数据存储介质(如硬盘驱动器和软盘驱动器)不同,CD 上的文件系统并不是先创建后填充数据的。CD-R 只有一次机会:首先格式化将会创建一个带有空文件系统的盘。cdrecord 命令在橙皮书(Orange Book) CD-R/RW 上刻录数据,这差不多就是其全部工作了。

由于采用了诸如 CD 刻录之类的新兴技术,最好使用这些程序的较新版本。mkisofs 和 cdrecord 的版本都应该至少已经达到了 1.10。cdrecord 的最新版本 V2.0 已经被重命名为 cdrtools。要查明机器上所安装的版本,请输入:

$ cdrecord --version

$ mkisofs --version

对于那些刚接触可刻录 CD 的人而言,在我们继续之前,有几样东西是值得先了解一下的:

CD-R:可刻录 CD(CD-Recordable)。它们是 WORM(写一次,读多次,Write Once, Read Many)。

CD-RW:可重写 CD(CD-Rewritable)。它们是 WMRM(写多次,读多次,Write Many, Read Many)。

CD-R 的使用很广泛,在任何 CD-ROM 驱动器上都应该可读。

CD-RW 在所有现代驱动器上都应该可读。驱动器必须是"多格式读取的(multiread)",以便能够读取 CD-R 和 CD-RW 盘。较老的驱动器会出问题。扔掉那个 4 倍速的旧驱动器,买个新的;用不着发火。

商用 CD 不是用激光烧录成的,而是压制而成的。

哪一种 CD-R/RW 驱动器最好呢?随便请教普通的硬件评论员,让他们给您一些建议。

下面是与文件格式有关的一些术语:

黄皮书(Yellow Book):数据 CD 的物理格式

橙皮书:可刻录 CD 的物理格式:

第一部分:CD-MO(磁-光,Magneto-Optical)

第二部分:CD-WO(写一次,Write-Once;包括 PhotoCD 的"混合"规范)

第三部分:CD-RW(可重写,Re-writable)

ISO-9660:旧的文件布局标准,它只答应 8.3 格式的文件名

Rock Ridge:是对 ISO-9660 的扩展,它答应长文件名和 UNIX 样式的符号链接;保留了所有文件属性,如所有权和许可权。在 Windows 系统上读盘时,不会显示 UNIX 文件的属性。

Joliet:Microsoft 对 ISO 9660 文件系统的扩展,它答应在文件名中使用 Unicode 字符,同样也答应长文件名。为了与 MS-DOS 兼容,它还创建截断的文件名(这些看起来怪怪的样子:FILENA~1.TXT)。它答应文件名长达 64 个字符(包括空格),Windows 95 或更高版本以及运行 Joliet 卷访问(Joliet Volume Access)扩展的 Macintosh 计算机都可以读取它。Macs 不会读取长度超过 31 个字符的 Joliet 文件名。

El Torito:可引导 CD-ROM(Bootable CD-ROM)格式规范

HFS(分层文件系统,Hierarchical File System):Macintosh 使用的本机文件系统

多段刻录(Multisession):答应多次添加文件,而不是只答应在单个段中添加文件。要使盘可读,就必须"关闭"段。但是,这却导致不能向盘中添加更多文件。多段刻录将单个段链接起来,然后更新盘的目录,使得它好象一个目录一样。

CD-UDF(通用盘格式,Universal Disk Format):业界标准递增包写文件系统(incremental packet-writing filesystem)

对 UDF 的一点简单说明:UDF 意味着能够直接将文件放入盘。

目前,这是在软件级别上完成的。读取该盘需要用来创建该盘的软件。计划将 UDF 添加到 Linux 内核(可能是 2.6)。要实现这一点,CD 驱动器需要具有 CD-MRW 电路("CD Mount Rainier ReWrite";不要问我他们为什么取这么个名字),因此它将是新型驱动器的一项功能。当这一点得到实现时,向 CD-R/RW 中复制文件将和向软盘中复制文件一样轻易,而且这些盘将普遍可读。而且,它还被吹捧为古老的 3.5" 软盘的另一种替代品。我们将拭目以待。(请参阅参考资料以获取到更多有关 Mount Rainier 的信息的链接。)

Linux SCSI 仿真冒险

假如可以的话,请使用 IDE/ATAPI 或 SCSI CD 刻录机。并口接口是一种会给您添麻烦的棘手玩意儿,而 USB 驱动器则很慢。在 Linux 中它们都得不到很好的支持(虽然对于较新的 USB 2.0 驱动器,您的运气可能会好一些)。

IDE/ATAPI 驱动器最为常见,但使用起来却需要做些调整。那么,假如 cdrecord 显示没有配置任何驱动器,会发生什么事情呢?要想检查是否配置有驱动器,请输入以下命令:

$ cdrecord -scanbus

假如命令显示了 CD-RW 驱动器(请参阅后面的烧录盘),那么您可以跳过这一节的大部分,尽管您可能还是都想浏览一下这些内容,以便有所了解。

Linux 使用 SCSI 仿真子系统,因此 IDE/ATAPI CD 刻录机需要兼容性驱动程序。假如同一台 PC 上既有 CD-ROM 也有 CD-R/RW,那么二者都需要 ide-scsi 伪设备驱动程序来支持盘的复制。在 CD-ROM 上使用 SCSI 仿真没有什么不利之处;它同样能工作;只是名称会改变。驱动器的名称将会随 Linux 的具体分发版而有所不同,其名称可以是 /dev/cdrom0、/dev/hdc 或 /dev/scd0(要获得 IDE/ATAPI 设备名列表,请参阅表 1)。

表 1. IDE/ATAPI 设备名

名称

设备

hda

IDE 总线/连接器 0 主设备

hdb

IDE 总线/连接器 0 从属设备

hdc

IDE 总线/连接器 1 主设备

hdd

IDE 总线/连接器 1 从属设备

要找到系统上的驱动器,请输入:

$ dmesg grep '^hd.:'

hda: IBM-DTLA-305020, ATA DISK drive

hdb: TOSHIBA DVD-ROM SD-M1202, ATAPI CD/DVD-ROM drive

hdc: LITE-ON LTR-24102B, ATAPI CD/DVD-ROM drive

hda: 40188960 sectors (20577 MB) w/380KiB Cache, CHS=2501/255/63, UDMA(66)

大多数现代 Linux 都包含了已编译进内核的 SCSI 仿真:

$ locate ide-scsi.o

/lib/modules/2.4.19/kernel/drivers/scsi/ide-scsi.o

假如您的系统不是这样的,那么您就必须将它编译到您的内核中。对于这篇篇幅有限的文章来说,那是一个过大的主题,因此请参阅参考资料(当您知道如何做时,您会发现它并不难)。

您需要编辑两个文本文件来配置系统,让它使用 ide-scsi 驱动程序。第一个是 /etc/modules.conf(在 Debian 中是 /etc/modules)。我的系统有一个 CD-ROM 和一个 CD-R/RW 驱动器,设备分别是 hdb 和 hdc。使用适合于您系统的值,将这两行添加到 /etc/modules.conf(或 /etc/modules):

ide-cd ignore=\"hdb hdc\"

ide-scsi

缺省情况下,IDE 子系统将所有的 ATA 设备声明为它自己的设备,因此 ignore 这一行使得 SCSI 子系统既能抓取 CD-R/RW 也能抓取 CD-ROM。

接下来,为您的引导装载程序(GRUB 或 LILO)编辑配置文件。对于 LILO 用户,请将下面两行添加到 lilo.conf 的末尾:

append="hdb=ide-scsi"

append="hdc=ide-scsi"

对于 GRUB 用户,请将下面这行添加到 /etc/grub.conf(或者 Debian 中的 /boot/grub/menu.lst)中 kernel 这行的末尾:

hdb=scsi hdc=scsi

现在重新引导,并验证它是否已装入:

$ lsmod

这条命令将返回一个长列表;请查找 ide-scsi。

创建 .iso 文件

一旦选择了您想复制的文件,对 CD 进行刻录就只有两步:用 mkisofs 创建 .iso,然后用 cdrecord 将这些文件烧录进盘中。使用以下命令来创建 .iso 文件:

$ mkisofs -o test.iso -Jrv -V test_disk /home/carla/

在上面的示例中:

-o 为新的 .iso 映像文件命名(test.iso)

-J 为了与 Windows 兼容而使用 Joliet 命名记录

-r 为了与 UNIX/Linux 兼容而使用 Rock Ridge 命名约定,它使所有文件都公共可读

-v 设置具体模式,以便在创建映像时获得运行注释

-V 提供了卷标识(test_disk);该标识就是出现在 Windows 资源治理器中的盘名

列表中的最后一项是选择要打包到 .iso 中的文件(都在 /home/carla/ 中)

现在,挂装 .iso 来进行验证;我喜欢创建一个测试目录:

$ mkdir /test_iso

$ mount -t iso9660 -o ro,loop=/dev/loop0 test.iso /test_iso

查看目录的内容;所有的文件都应该在那里,并且都可读。

否则,就是映像坏掉了,假如您将它烧录到盘上,那么您最终将得到一个刻录失败的光盘。

烧录盘

将映像写到盘中再简单不过了。首先,找到 CD-R/RW

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有