CD Burning (简体中文)

From ArchWiki
Jump to: navigation, search

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: This page should be redirected to "zh-hans:Optical disc drive",like its English veision (Discuss in Talk:CD Burning (简体中文)#)

摘自 Wikipedia:

In computing, an optical disc drive (ODD) is a disk drive that uses laser light or electromagnetic waves within or near the visible light spectrum as part of the process of reading or writing data to or from optical discs. Some drives can only read from discs, but recent drives are commonly both readers and recorders, also called burners or writers. Compact discs, DVDs, and Blu-ray discs are common types of optical media which can be read and recorded by such drives. Optical drive is the generic name; drives are usually described as "CD" "DVD", or "Blu-ray", followed by "drive", "writer", etc.


Warning: 光驱的质量和光碟本身差异很大。一般来说,低速烧录更可靠,也是推荐的做法。如果你的光碟有什么意想不到的情况,试试用你的刻录机能支持的最低速度进行烧录。

光驱烧录的步骤包括创建或获取一个映像并将其写入一个光学介质。这个映像原则上可以使任何数据文件。如果你想挂载目标介质的话,其通常是一个有ISO 9660文件系统的映像文件。 音频和多媒体CD通常由一个 .bin 文件烧录而成,并由一个 .toc 文件或 .cue 文件控制目标轨道排布。


如果你想使用有GUI的程序的话,请阅读 #用GUI程序烧录CD/DVD/BD.

列在这里的程序都是基于命令行的。他们是大多数免费光碟操作(CD, DVD和BD)GUI程序使用的后端。GUI用户可能会在故障处理或写烧录脚本时碰到它们。


可用的创建ISO 9660映像的程序有:

一般选择 mkisofs


  • cdrdao 来自于 cdrdao (仅支持CD,仅支持TOC/CUE/BIN)
  • cdrecord 来自于 cdrtools
  • cdrskin 来自于 libburn
  • growisofs 来自于m dvd+rw-tools (仅支持DVD和BD)
  • xorrisoxorrecord 来自于 libisoburn

CD一般选择 cdrecordgrowisofs 用于DVD和蓝光碟。要向CD写入TOC/CUE/BIN文件的话,安装 cdrdao

免费光碟操作(CD, DVD和BD)GUI程序依赖于上面至少一个包。

xorrisofs 支持在此文章中展示的 mkisofs 选项。

cdrskin 支持展示的 cdrecord 选项;xorrecord 也支持不涉及音频CD的选项。

Making an ISO image from existing files on hard disk


创建一个ISO映像最简单的方法是把需要的文件复制进一个目录,例如: ./for_iso

再用 mkisofs 生成映像文件:

$ mkisofs -V "ARCHIVE_2013_07_27" -J -r -o isoimage.iso ./for_iso



指定文件系统的名字。ISO 9660标准规定了32个字符的长度限制,其也适用于:"A"到"Z","0"到"9"和"_"。这个卷标会在介质自动挂载时显示。
启用 Joliet 拓展,其会分配特殊空间用于存储Unicode文件名(每个文件最多64个UTF-16 字符)。
启用 Wikipedia:Rock Ridge 拓展,其会向映像添加POSIX文件系统语义,包括255个字符的文件名支持Unix风格文件权限。


也可以让 mkisofs 从不同的路径收集文件和目录。

$ mkisofs -V "BACKUP_2013_07_27" -J -r -o backup_2013_07_27.iso \
  -graft-points \
  /photos=/home/user/photos \
  /mail=/home/user/mail \
Enables the recognition of pathspecs which consist of a target address in the ISO file system (e.g. /photos) and a source address on hard disk (e.g. /home/user/photos). 两者都用"="分隔。

So this example puts the disk directory /home/user/photos, /home/user/mail and /home/user/holidays/photos, respectively in the ISO image as /photos, /mail and /photos/holidays.

mkisofsxorrisofs 接受相同的选项。For secure backups, consider using xorrisofs with option --for_backup, which records eventual ACLs and stores an MD5 checksum for each data file.

了解更多有关ISO 9660程序选项的信息,请查看man手册:


如果你想浏览一个ISO映像里面的文件的话可以将其挂载。 挂载ISO映像,我们可以:

# mount -t iso9660 -o ro,loop /path/to/file.iso /mount-point


# umount /mount-point

对于无root权限进行挂载,请参阅 Mounting images as user


转换一个 img/ccd 映像,你可以使用 ccd2iso

$ ccd2iso ~/image.img ~/image.iso


假设你的录制设备名为 /dev/sr0


$ cdrecord dev=/dev/sr0 -checkdrive

这会报告设备的 Vendor_infoIdentification 字段。

如果找不到任何设备,检查是否存在任何 /dev/sr* 并且它们是否向你和你的组提供任何读/写 (wr-) 权限 。 如果没有任何 /dev/sr* 存在,尝试手动 加载 sr_mod 模块。


如果你想获取介质的名字/标签,使用 dd

$ dd if=/dev/sr0 bs=1 skip=32808 count=32



使用来自 util-linuxisosize 来获取需要读取的块数目:

$ blocks=$(isosize -d 2048 /dev/sr0)


$ echo "That would be $(expr $blocks / 512) MB"
That would be 589 MB


$ dd if=/dev/sr0 of=isoimage.iso bs=2048 count=$blocks status=progress

没有决定大小的话就忽略 count=$blocks。你可能会得到比需要的更多的数据。The resulting file will nevertheless be mountable. It should still fit onto a medium of the same type as the medium from which the image was copied.




$ cdrecord -v dev=/dev/sr0 blank=fast

blank有两个选项: blank=fastblank=full。full和完全写入持续的时间一样长。It overwrites the payload data on the CD. Nevertheless this should not be considered as securely making those data unreadable. For that purpose, several full write runs with random data are advised.


$ cdrskin -v dev=/dev/sr0 blank=fast
$ xorriso -outdev /dev/sr0 -blank as_needed

擦除DVD-RW使用来自 dvd+rw-toolsdvd+rw-format

$ dvd+rw-format -blank=fast /dev/sr0


$ cdrecord -v dev=/dev/sr0 blank=fast
$ cdrskin -v dev=/dev/sr0 blank=deformat_sequential_quickest
$ xorriso -outdev /dev/sr0 -blank deformat_quickest

Such fastly blanked DVD-RW are not suitable for multi-session and cannot take input streams of unpredicted length. For that purpose one has to use one of:

$ cdrecord -v dev=/dev/sr0 blank=all
$ dvd+rw-format -blank=full /dev/sr0
$ cdrskin -v dev=/dev/sr0 blank=as_needed
$ xorriso -outdev /dev/sr0 -blank as_needed

其它的介质类型不是只能写入一次(CD-R, DVD-R, DVD+R, BD-R)就是可以在不需要擦除的情况下重写(DVD-RAM, DVD+RW, BD-RE)。


Formatted DVD-RW media can be overwritten without previous erasure. So consider to apply once in their life time

$ dvd+rw-format -force /dev/sr0
$ cdrskin -v dev=/dev/sr0 blank=format_if_needed
$ xorriso -outdev /dev/sr0 -format as_needed

Unlike DVD-RAM, DVD+RW, and BD-RE, formatted DVD-RW cannot be used as (slow) hard disk directly, but rather need the mediation of driver pktcdvd. See man pktsetup.


BD-RE第一次使用需要被格式化。当烧录程序检测到未格式化状态时这会自动完成。Nevertheless the size of the payload area can be influenced by expert versions of the format commands shown above for DVD-RW.

格式化或未格式化BD-R都能被使用。Unformatted they are written with full nominal speed and offer maximum storage capacity. Formatted they get checkread during write operations and bad blocks get replaced by blocks from the Spare Area. This reduces write speed to a half or less of nominal speed. The default sized Spare Area reduces the storage capacity by 768 MiB.

growisofs formats BD-R by default. The others do not. growisofs can be kept from formatting. cdrskin and xorriso can write with full nominal speed on formatted BD-RE or BD-R:

 $ growisofs -use-the-force-luke=spare:none ...growisofs.or.mkisofs.options...
 $ cdrskin stream_recording=on ...cdrecord.options...
 $ xorriso -stream_recording on ...xorriso.commands...


要把已准备好的ISO映像文件 isoimage.iso 烧录到光盘介质,对于CD:

$ cdrecord -v -sao dev=/dev/sr0 isoimage.iso


$ growisofs -dvd-compat -Z /dev/sr0=isoimage.iso
  • 确保介质在写入时未被挂载。如果介质有可读的文件系统,挂载会自动进行。在最好的情况下,这会阻止烧录程序使用烧录设备。最坏的情况下,读操作会导致误写。所以有疑问的话,直接:
    # umount /dev/sr0
  • growisofs 对于空白的BD-R介质有一个 小bug。在烧录完成时它会发出一条错误信息。一些程序像 k3b 会直接认为整个烧录过程失败。为了防止这样,要么
    • format the blank BD-R by dvd+rw-format /dev/sr0 before submitting it to growisofs
    • 在用 growisofs 之前用 dvd+rw-format /dev/sr0 格式化空白BD-R
    • 要么使用 growisofs-use-the-force-luke=spare:none 选项




$ md5sum isoimage.iso
 e5643e18e05f5646046bb2e4236986d8 isoimage.iso

然后计算介质中ISO文件系统的MD5校验和: 虽然有的介质类型存储了和被提交给烧录程序的完全一样数量的数据,但其它的会在被读取时附加尾随的垃圾。所以你应该ISO映像文件读取的大小。

$ blocks=$(expr $(du -b isoimage.iso | awk '{print $1}') / 2048)
$ dd if=/dev/sr0 bs=2048 count=$blocks | md5sum
 43992+0 records in
 43992+0 records out
 90095616 bytes (90 MB) copied, 0.359539 s, 251 MB/s
 e5643e18e05f5646046bb2e4236986d8  -

Both runs should yield the same MD5 checksum (here: e5643e18e05f5646046bb2e4236986d8). If they do not, you will probably also get an I/O error message from the dd run. dmesg might then tell about SCSI errors and block numbers, if you are interested.

ISO 9660和即时烧录

It is not necessary to store an emerging ISO file system on hard disk before writing it to optical media. Only very old CD drives at very old computers could suffer failed burns due to empty drive buffer.

If you omit option -o from mkisofs then it writes the ISO image to standard output. This can be piped into the standard input of burn programs.

$ mkisofs -V "ARCHIVE_2013_07_27" -J -r ./for_iso | \
  cdrecord -v dev=/dev/sr0 -waiti -

这里其实不需要选项 -waiti。It prevents cdrecord from writing to the medium before mkisofs starts its output. This would allow mkisofs to read the medium without disturbing an already started burn run. See next section about multi-session.

On DVD and BD, you may let growisofs operate mkisofs for you and burn its output on-the-fly

$ growisofs -Z /dev/sr0 -V "ARCHIVE_2013_07_27" -r -J ./for_iso


ISO 9660 multi-session means that a medium with readable file system is still writable at its first unused block address, and that a new ISO directory tree gets written to this unused part. The new tree is accompanied by the content blocks of newly added or overwritten data files. The blocks of data files, which shall stay as in the old ISO tree, will not be written again.

Linux and many other operating systems will mount the directory tree in the last session on the medium. This youngest tree will normally show the files of the older sessions, too.

Multi-session by cdrecord

如果cdrecord的选项 -multi 被使用了,CD-R和CD-RW会保持可写(又称为“可附加”)

$ cdrecord -v -multi dev=/dev/sr0 isoimage.iso

Then the medium can be inquired for the parameters of the next session

$ m=$(cdrecord dev=/dev/sr0 -msinfo)

By help of these parameters and of the readable medium in the drive you can produce the add-on ISO session

$ mkisofs -M /dev/sr0 -C "$m" \
   -V "ARCHIVE_2013_07_28" -J -r -o session2.iso ./more_for_iso

Finally append the session to the medium and keep it appendable again

$ cdrecord -v -multi dev=/dev/sr0 session2.iso

Programs cdrskin and xorrecord do this too with DVD-R, DVD+R, BD-R and unformatted DVD-RW. Program cdrecord does multi-session with at least DVD-R and DVD-RW. They all do with CD-R and CD-RW, of course.

Most re-usable media types do not record a session history that would be recognizable for a mounting kernel. But with ISO 9660 it is possible to achieve the multi-session effect even on those media.

growisofs and xorriso can do this and hide most of the complexity.

Multi-session by growisofs

By default, growisofs uses mkisofs as a backend for creating ISO images forwards most of its program arguments to . See above examples of mkisofs. It bans option -o and deprecates option -C. By default it uses the mkisofs. You may specify to use one of the others compatible backend program by setting environment variable MKISOFS:

$ export MKISOFS="xorrisofs"

The wish to begin with a new ISO file system on the optical medium is expressed by option -Z

$ growisofs -Z /dev/sr0 -V "ARCHIVE_2013_07_27" -r -J ./for_iso

The wish to append more files as new session to an existing ISO file system is expressed by option -M

$ growisofs -M /dev/sr0 -V "ARCHIVE_2013_07_28" -r -J ./more_for_iso

For details see the growisofs manual and the manuals of mkisofs and xorrisofs.

Multi-session by xorriso

xorriso learns the wish to begin with a new ISO file system from the blank state of the medium. So it is appropriate to blank it if it contains data. The command -blank as_needed applies to all kinds of re-usable media and even to ISO images in data files on hard disk. It does not cause error if applied to a blank write-once medium.

$ xorriso -outdev /dev/sr0 -blank as_needed \
          -volid "ARCHIVE_2013_07_27" -joliet on -add ./for_iso --

On non-blank writable media xorriso appends the newly given disk files if command -dev is used rather than -outdev. Of course, no command -blank should be given here

$ xorriso -dev /dev/sr0 \
          -volid "ARCHIVE_2013_07_28" -joliet on -add ./more_for_iso --

For details see the manual page and especially its examples


正常情况下BD-RE和已格式化的BD-R会在启用缺陷管理时写入。 This feature reads the written blocks while they are still stored in the drive buffer. In case of poor read quality the blocks get written again or redirected to the Spare Area where the data get stored in replacement blocks.

This checkreading reduces write speed to at most half of the nominal speed of drive and BD medium. Sometimes it is even worse. Heavy use of the Spare Area causes long delays during read operations. So Defect Management is not always desirable.

cdrecord does not format BD-R. It has no means to prevent Defect Management on BD-RE media, though.

growisofs formats BD-R by default. The Defect Management can be prevented by option -use-the-force-luke=spare:none. It has no means to prevent Defect Management on BD-RE media, though.

cdrskin, xorriso and xorrecord do not format BD-R by default. They do with cdrskin blank=format_if_needed, resp. xorriso -format as_needed, resp. xorrecord blank=format_overwrite. These three programs can disable Defect Management with BD-RE and already formatted BD-R by cdrskin stream_recording=on, resp. xorriso -stream_recording on, resp. xorrecord stream_recording=on.


创建你的音频轨道并保存为未压缩、16位、立体声的WAV文件。要把MP3转为WAV,确保已安装 lamecd 进入有MP3文件的目录,运行:

$ for i in *.mp3; do lame --decode "$i" "$(basename "$i" .mp3)".wav; done

为了确保烧录用LAME转换的WAV文件时不报错,试试用 mpg123 编码:

$ for i in *.mp3; do mpg123 --rate 44100 --stereo --buffer 3072 --resync -w $(basename $i .mp3).wav $i; done

将音频文件命名为可以让它们在以字母顺序排列时变成想要的轨道顺序的样子,比如 01.wav02.wav03.wav,等等。用下面的命令来模拟将WAV文件烧录为音频CD:

$ cdrecord -dummy -v -pad speed=1 dev=/dev/sr0 -dao -swab *.wav

如果一切顺利,你可以去掉 dummy 来真正烧录。

MPlayer 来测试新的音频CD:

$ mplayer cdda://



$ cdrdao write --device /dev/sr0 image.cue

TOC/CUE/BIN for mixed-mode disks

ISO images only store a single data track. If you want to create an image of a mixed-mode disk (data track with multiple audio tracks) then you need to make a TOC/BIN pair:

$ cdrdao read-cd --read-raw --datafile image.bin --driver generic-mmc:0x20000 --device /dev/cdrom image.toc

Some software only likes CUE/BIN pair, you can make a CUE sheet with toc2cue (part of cdrdao):

$ toc2cue image.toc image.cue

Burn backend problems

If you're experiencing problems, you may ask for advise at mailing list, or try to write to the one of support mail addresses if some are listed near the end of the program's man page.

Tell the command lines you tried, the medium type (e.g. CD-R, DVD+RW, ...), and the symptoms of failure (program messages, disappointed user expectation, ...). You will possibly get asked to obtain the newest release or development version of the affected program and to make test runs. But the answer might as well be, that your drive dislikes the particular medium.



另请参阅 Wikipedia:Comparison of disc authoring software.

  • AcetoneISO — 一体化ISO工具(支持BIN,MDF,NRG,IMG,DAA,DMG,CDI,B5I,BWI,PDI和ISO)。 || acetoneiso2
  • BashBurn — Lightweight terminal based menu frontend for CD/DVD burning tools. || bashburn
  • Brasero — GNOME桌面的光碟烧录程序,被设计得尽可能简单易用。gnome-extra的一部分。 || brasero
  • cdwcdrecordmkisofsgrowisofsdvd+rw-mediainfodvd+rw-formatxorriso的前端。 || cdwAUR
  • GnomeBaker — Full featured CD/DVD burning application for the GNOME desktop. || gnomebakerAUR
  • Graveman — GTK-based CD/DVD burning application. It requires configuration to point to correct devices. || gravemanAUR || isomasterAUR
  • K3b — Feature-rich and easy to handle CD burning and ripping application based on KDElibs. || k3b
  • X-CD-Roast — Lightweight cdrtools front-end for CD and DVD writing. || xcdroastAUR[broken link: archived in aur-mirror]
  • Xfburn — Simple front-end to the libburnia libraries with support for CD/DVD(-RW), ISO images, and BurnFree. || xfburn
  • xorriso-tcltk — Graphical front-end to ISO and CD/DVD/BD burn tool xorriso || libisoburn



音频CD回放需要 libcdio



此外,你必须安装播放器软件。比较出名的播放器有 MPlayerxineVLC。参阅 video playersMPlayer 的详细说明。


Ripping is the process of copying audio or video content to a hard disk, typically from removable media or media streams.


  • Abcde — Comprehensive command-line tool for ripping audio CDs. || abcde
  • Asunder — GTK+-based CD ripping program. || asunder
  • cdparanoia — Compact Disc Digital Audio (CDDA) Digital Audio Extraction (DAE) tool. || cdparanoia
  • Goobox — CD player and ripper for GNOME. || goobox
  • Grip — Fast and light CD ripper within the GNOME project that resembles Audiograbber. || grip[broken link: package not found].
  • K3b — Feature-rich and easy to handle CD/DVD burning and ripping application based on KDElibs. || k3b
  • morituri — CD ripper aiming for accuracy over speed. Uses cdparanoia, MusicBrainz, AccurateRip. || morituri-gitAUR
  • ripperX — GTK+ program to rip CD audio tracks and encode them to the Ogg, MP3, or FLAC formats. || ripperx
  • ripright — Minimal CD ripper modeled on autorip. || riprightAUR
  • ripit — Command-line ripper that supports MusicBrainz, freeddb and various codecs. || ripitAUR
  • rubyripper — Audiodisk ripper that tries to deliver a secure rip through multiple rippings of the same track and corrections of any differences. || rubyripper
  • shnsplit — Splits .wav and .flac files according to a CUE sheet and encodes the resulting pieces. A useful companion to ABCDE. || shntool || sound-juicer
  • soundKonverter — Front-end to various audio converters. || soundkonverter


Often, the process of ripping a DVD can be broken down into two subtasks:

  1. Data extraction — Copying the audio and/or video data to a hard disk,
  2. Transcoding — Converting the extracted data into a suitable format.

Some utilities perform both tasks, whilst others focus on one aspect or the other:

  • Avidemux — Multithreaded video transcoder, which offers both a graphical and command-line interface with many preset configurations. Influenced by Handbrake. || avidemux-qt-gitAUR
  • dvd-vr — Tool which easily converts VRO files extracted from a DVD-VR and splits them in regular VOB files. || dvd-vrAUR[broken link: archived in aur-mirror]
  • dvdbackup — Tool for pure data extraction which does not transcode. It is useful for creating exact copies of encrypted DVDs in conjunction with libdvdcss or for decrypting video for other utilities unable to read encrypted DVDs. || dvdbackup
  • FFmpeg — Complete and free Internet live audio and video broadcasting solution for Linux/Unix, capable to do a direct rip in any format (audio/video) from a DVD-Video ISO image, just select the input as the ISO image and proceed with the desired options. It also allows to downmixing, shrinking, spliting, selecting streams among other features. || See article
  • HandBrake — Multithreaded video transcoder, which offers both a graphical and command-line interface with many preset configurations. || handbrake
  • Hybrid — Multi platform Qt based frontend for a bunch of other tools which can convert nearly every input to x264/Xvid/VP8 + ac3/ogg/mp3/aac/flac inside an mp4/m2ts/mkv/webm/mov/avi container, a Blu-ray or an AVCHD structure. || hybrid-encoderAUR
  • MEncoder — Free command line video decoding, encoding and filtering tool released under the GNU GPL. It is a close sibling to MPlayer and can convert all the formats that MPlayer understands into a variety of compressed and uncompressed formats using different codecs. Wrapper programs like h264encAUR and undvdAUR[broken link: archived in aur-mirror] can provide an assistive interface. Many GUI frontends are available. || mencoder
  • Transcode — Video/DVD ripper and encoder with the CLI. || transcode




The dvd::rip preferences are mostly well-documented/self-explanatory. If you need help with something, see

抓取 DVD 只需选择需要的编码格式,设置标题并点击 "Rip" 按钮。


Brasero fails to normalize audio CD

If you try to burn it may stop at the first step called Normalization.

As a workaround you can disable the normalization plugin using the Edit > Plugins menu

VLC: Error "... could not open the disc /dev/dvd"


vlc dvdread could not open the disc "/dev/dvd"

it may be because there is no device node /dev/dvd on your system. Udev no longer creates /dev/dvd and instead uses /dev/sr0. To fix this, edit the VLC configuration file (~/.config/vlc/vlcrc):

# DVD device (string)



# eject -x 12 /dev/dvd


# hdparm -E12 /dev/dvd



Playback does not work with new computer (new DVD-Drive)

If playback does not work and you have a new computer (new DVD-Drive) the reason might be that the region code is not set. You can read and set the region code with the regionsetAUR package.

None of the above programs are able to rip/encode a DVD to my hard disk!

Make sure the region of your DVD reader is set correctly; otherwise, you will get loads of inexplicable CSS-related errors. Use the regionsetAUR package to do so.

GUI program log indicates problems with backend program

If you use a GUI program and experience problems which the program's log blames on some backend program, then try to reproduce the problem by the logged backend program arguments. Whether you succeed with reproducing or not, you may report the logged lines and your own findings to the places mentioned in #Burn backend problems section.

Special case: medium error / write error

Here are some typical messages about the drive disliking the medium. This can only be solved by using a different drive or a different medium. A different program will hardly help.

Brasero with backend growisofs:

BraseroGrowisofs stderr: :-[ WRITE@LBA=0h failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error

Brasero with backend libburn:

BraseroLibburn Libburn reported an error SCSI error on write(16976,16): [3 0C 00] Write error


如果你的新DVD设备已被检测到但不能挂载光盘,检查你的BIOS是否使用了 AHCI 并将模块添加到内核映像。

编辑 /etc/mkinitcpio.conf 并将 ahci 添加到 MODULES 变量(更多信息参阅 mkinitcpio):



# mkinitcpio -p linux

BD-R DL 50GB errors on trying to burn second layer

Using growisofs from dvd+rw-tools for burning 50GB BD-R DL discs might result in a fatal error and damaged media, such as:

$ growisofs -Z /dev/sr0 -J -R -V "label" files
Executing 'mkisofs -J -R -V label files | builtin_dd of=/dev/sr0 obs=32k seek=0'
I: -input-charset not specified, using utf-8 (detected in locale settings)
  0.03% done, estimate finish Fri Jan 29 19:50:36 2016
  0.05% done, estimate finish Fri Jan 29 19:50:36 2016
  0.08% done, estimate finish Fri Jan 29 19:50:36 2016
/dev/sr0: pre-formatting blank BD-R for 49.8GB...
/dev/sr0: "Current Write Speed" is 8.2x4390KBps.
  0.11% done, estimate finish Sat Jan 30 03:29:13 2016
  0.13% done, estimate finish Sat Jan 30 02:10:01 2016
 63.20% done, estimate finish Fri Jan 29 20:43:45 2016
:-[ WRITE@LBA=b6d820h failed with SK=3h/WRITE ERROR]: Input/output error
:-( write failed: Input/output error
/dev/sr0: flushing cache
/dev/sr0: closing track
/dev/sr0: closing session
:-[ CLOSE SESSION failed with SK=5h/INVALID FIELD IN CDB]: Input/output error
/dev/sr0: reloading tray

This happened at the 25GB boundary when starting to write the second layer. Using cdrecord from cdrtools works with no problems. Tested with a 'HL-DT-ST BD-RE WH16NS40' LG burner, and Verbatim BD-R DL 6x discs (#96911). FS#47797

Disc tray autocloses

If after ejecting a cd, either by using the eject command, or pushing the drive button, the drive disc tray autocloses before being able to remove the disc, try the following command:

# sysctl -w dev.cdrom.autoclose=0


dev.cdrom.autoclose = 0