Debian/刻录机
Debian | Debian安装 | Debian使用 | Debian系统升级 | Debian常见问题 |
ATAPI/IDE 接口的刻录机是时下非常流行的配件,它是极好的系统备份工具,特别是对于那些单个文件容量一般
概述[ ]
首先需要说明的是,在向刻录机发送数据过程中,任何数据中断都有可能对光盘造成无法挽回的损坏。 尽管现在大部分新的刻录机支持运行时缓冲区保护(Buffer Underrun protection),并且该功能默认是打开的。 所以应选购缓冲区尽可能大的刻录机。如果资金充裕,就别再考虑 ATAPI/IDE 型的,买台 SCSI 型的没错。如果可以连接 IDE 接口,就使用 PCI 总线(例如,在主板上)而别用 ISA 总线(SB16 声卡使用的就是它)。
当刻录机连接到 IDE,驱动它的通常是 IDE-SCSI 驱动而非旧式的 IDE CD 驱动,所以,需要激活 SCSI 通用驱动。有两种方法激活它,假设系统使用的是较新版本的内核.
对于 Linux 2.6 的内核,你应该使用 IDE 驱动并直接使用 /dev/hdx 这些设备名称来访问。这种方式你可以使用 DMA。
modules + lilo[ ]
如果使用的是 Debian 原装内核,将下面的内容添加到 /etc/lilo.conf,如果有多个选项,列出时要将它们用空格分隔开:
append="hdx=ide-scsi ignore=hdx"
在此,刻录机使用 ide-scsi 驱动访问,hdx 就代表它,其中 x 代表下列任何一种设备:
- hda 接第一个 IDE 接口作主盘
- hdb 接第一个 IDE 接口作从盘
- hdc 接第二个 IDE 接口作主盘
- hdd 接第二个 IDE 接口作从盘
- hde ... hdh 接扩展 IDE 接口或 ATA66/100 IDE 接口
完成上述配置工作后以 root 身份运行下列命令激活设备
# lilo # shutdown -h now
重编译内核[ ]
Debian 用 make-kpkg 创建新内核,使用 make-kpkg 时加上新的 --append_to_version 参数可创建多重内核镜像。 m ake menuconfig 后执行下列步骤:
- bzImage
- 包含 IDE CD driver(不是必须的,但这样更简单)
- 将 ide-scsi 和 sg 编译进内核,或编译成模块
配置步骤[ ]
下列步骤可让系统在启动时激活内核对刻录机的支持:
# echo ide-scsi >>/etc/modules # echo sg >>/etc/modules # cd /dev; ln -sf scd0 cdrom
手工激活可以这样做:
# modprobe ide-scsi # modprobe sg
重启以后,用下列方法检查安装情况:
$ dmesg|less # apt-get install wodim # wodim -scanbus
wodim 是非常著名的 cdrecord 程序的一个分支, Sarge 和以前的版本集成的是 cdrecord 程序。 如果使用 Sarge 和以前的版本,请用 cdrecord 代替 wodim。
[Per Warren Dodge]如果机器上同时有 CD-ROM 和 CD-R/RW,这时 ide-scsi 和 ide-cd 可能会产生冲突,请试试在 /etc/modutils/aliases 中加上下面的内容,然后运行 update-modules 并重启系统。
pre-install ide-scsi modprobe ide-cd
上述指令指示系统在加载 ide-scsi 前先加载 IDE 驱动。IDE 驱动 ide-cd 接管所有 ATAPI CD-ROM――对指明忽略的设备除外。剩下的设备才由 ide-scsi 来管理。
光盘镜像文件(可引导光盘)[ ]
将 target-directory/ 下的文件制作成光盘镜像文件 cd-image.raw(可引导系统、Joliet TRANS.TBL-enabled 格式的光盘;如果不需要引导系统功能,可去掉 -b 和 -c 选项),在第一个软驱中插入启动软盘然后执行:
# dd if=/dev/fd0 target-directory/boot.img # mkisofs -r -V volume_id -b boot.img -c bootcatalog -J -T \ -o cd-image.raw target_directory/
一个有趣的黑客尝试是制作一盘 DOS 引导光盘。如果上述的 boot.img 文件中包含了通用 DOS 引导软盘镜像,光盘就可以象插在软驱(A:)中的 DOS 软盘一样引导 DOS 系统。如果再加上 freeDOS 就更有趣。
想检查该光盘镜像文件,可以在回送设备(loop device)上加载它。
# mount -t iso9660 -o ro,loop cd-image.raw /cdrom # cd /cdrom # mc # umount /cdrom
刻录光盘(R,R/W)[ ]
首先进行设备测试(假设是双倍数刻录)
# nice --10 wodim -dummy speed=2 dev=0,0 disk.img
如果测试通过,执行下面的命令刻录 CD-R
# nice --10 wodim -v -eject speed=2 dev=0,0 disk.img
或执行下面命令刻录 CD-RW
# nice --10 wodim -v -eject blank=fast speed=2 dev=0,0 disk.img
某些型号的 CD-RW 刻录机用下面的命令更好
# nice --10 wodim -v blank=all speed=2 dev=0,0 disk.img
接下来执行
# nice --10 wodim -v -eject speed=2 dev=0,0 disk.img
分两步做是必要,这可以防止在刻录时遇到数据空白产生 SCSI 超时错误。nice参数可时也要做一些调整。
制作光盘镜像文件[ ]
某些 CD-R 和商业光盘在数据末尾追加了空白扇区(junk sectors),使用 dd 无法拷贝这些光盘。 wodim 软件包中有一个 readom 命令( cdrecord 软件包中有替代的 readcd 命令),用它可以将任何光盘内容拷贝成镜像文件。对于数据盘,先挂载,运行 df 查看它的实际大小,再将显示的数字(in blocks, = 1024 bytes)除以 2 得到实际光盘扇区数(2048 bytes),带参数运行 readom 用该硬盘镜像文件烧制 CD-R/RW。
# readom dev=target,lun,scsibusno # select function 11
其中,大部分情况下命令行中三个参数都为 0。有时 readom 给出的扇区数会偏多!此时使用前面用挂载镜像的方法得出的大小值来对上述参数赋值效果更好。
应该提醒的是,如果你对 CD-ROM 使用 dd 的话,会有不少问题。第一次执行 dd 时可能会产生错误信息并丢失光盘镜像末端的一些数据。再次执行 dd 时,如果没有指定镜像的大小的话,在一些系统上会产生一个过大光盘镜像,其末端都是垃圾。只有第二次运行 dd 时,使用正确的镜像大小并在看到错误信息之后不弹出光盘,才能避免这些问题。例如,假设用 df 得到镜像的大小为 46301184 blocks,则执行两次下面的命令可以得到正确的镜像:
# dd if=/dev/cdrom of=cd.img bs=2048 count=$((46301184/2))
参考来源[ ]
http://www.debian.org/doc/manuals/debian-reference/ch-tune.zh-cn.html#s-init-hints
Debian使用手册导航 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|