我无法在驱动器中安装任何 CD 或 DVD。但是,我有双启动的 Windows 10,并且可以在 Windows 中读取任何 CD/DVD,没有任何问题。
在此图中,“DVD-RW 备份”是 DVD-RW 标签。英文标题消息:无法安装 DVD-RW 备份(或“无法安装”或“无法安装”等)。
- 操作系统:Debian GNU/Linux trixie/sid
- 内核:6.12.12-amd64 x86_64
- 设备:ATAPI iHAS122 W
错误:
$ sudo mount /dev/sr0 /mnt
mount: /mnt: fsconfig system call failed: /dev/sr0: Can't open blockdev.
dmesg(1) may have more information after failed mount system call.
$ sudo mount /dev/sr0/pktcdvd0 /mnt
mount: /mnt: fsconfig system call failed: /dev/sr0/pktcdvd0: Can't lookup blockdev.
dmesg(1) may have more information after failed mount system call.
以下是一些命令的输出:
$ sudo blkid /dev/sr0
/dev/sr0: UUID="67587414000011bf" LABEL="DVD-RW backup" BLOCK_SIZE="2048" TYPE="udf"
$ lsblk
sr0 11:0 1 2,3G 0 rom
└─pktcdvd0 252:0 1 2,3G 0 disk
$ lsdvd
libdvdread: DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdread: DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
Can't open main ifo!
$ sudo dmesg | grep sr0
[ 5.239165] sr 1:0:0:0: [sr0] scsi3-mmc drive: 94x/62x writer dvd-ram cd/rw xa/form2 cdda tray
[ 5.297610] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 90.583896] block (null): writer mapped to sr0
$ cdrwtool -i -d /dev/sr0
using device /dev/sr0
256KB internal buffer
setting write speed to 12x
DISC INFO:
erasable : Yes
border = 3
Disc status = 2
number of first track = 1
number of sessions = 1
number of tracks = 1
status of last track = 1
uru = 1
did_v = 0
dbc_v = 0
disc type = 0
disc_id = 0
lead_in = 00:00:00 (0)
lead_out = 00:00:00 (0)
OPC entries = 0
TRACK INFO:
Track 1
track_number = 1
session_number = 1
damage = 0
copy = 0
track_mode = 4
Rt = 0
blank = 0
packet = 1
fp = 1
data_mode = 1
lra_v = 0
nwa_v = 0
track_start = 0
next_writable = 0
last_recorded = 0
free_blocks = 0
packet_size = 16
track_size = 1227456 (2454912KB)
can't unlock door
以下是 udevram 的输出:
$ udevadm info -n /dev/sr0
P: /devices/pci0000:00/0000:00:02.1/0000:04:00.1/ata2/host1/target1:0:0/1:0:0:0/block/sr0
M: sr0
R: 0
J: b11:0
U: block
T: disk
D: b 11:0
N: sr0
L: -100
S: disk/by-label/DVD-RW\x20backup
S: disk/by-uuid/67587414000011bf
S: disk/by-id/ata-ATAPI_iHAS122_W_3522540_207325501228
S: disk/by-path/pci-0000:04:00.1-ata-2.0
S: disk/by-path/pci-0000:04:00.1-ata-2
S: disk/by-diskseq/8
S: cdrom
Q: 8
E: DEVPATH=/devices/pci0000:00/0000:00:02.1/0000:04:00.1/ata2/host1/target1:0:0/1:0:0:0/block/sr0
E: DEVNAME=/dev/sr0
E: DEVTYPE=disk
E: DISKSEQ=8
E: MAJOR=11
E: MINOR=0
E: SUBSYSTEM=block
E: USEC_INITIALIZED=5297510
E: ID_CDROM=1
E: SYSTEMD_MOUNT_DEVICE_BOUND=1
E: ID_CDROM_CD_R=1
E: ID_CDROM_CD_RW=1
E: ID_CDROM_DVD=1
P: /devices/pci0000:00/0000:00:02.1/0000:04:00.1/ata2/host1/target1:0:0/1:0:0:0/block/sr0
M: sr0
R: 0
J: b11:0
U: block
T: disk
D: b 11:0
N: sr0
L: -100
S: disk/by-label/DVD-RW\x20backup
S: disk/by-uuid/67587414000011bf
S: disk/by-id/ata-ATAPI_iHAS122_W_3522540_207325501228
S: disk/by-path/pci-0000:04:00.1-ata-2.0
S: disk/by-path/pci-0000:04:00.1-ata-2
S: disk/by-diskseq/8
S: cdrom
Q: 8
E: DEVPATH=/devices/pci0000:00/0000:00:02.1/0000:04:00.1/ata2/host1/target1:0:0/1:0:0:0/block/sr0
E: DEVNAME=/dev/sr0
E: DEVTYPE=disk
E: DISKSEQ=8
E: MAJOR=11
E: MINOR=0
E: SUBSYSTEM=block
E: USEC_INITIALIZED=5297510
E: ID_CDROM=1
E: SYSTEMD_MOUNT_DEVICE_BOUND=1
E: ID_CDROM_CD_R=1
E: ID_CDROM_CD_RW=1
E: ID_CDROM_DVD=1
E: ID_CDROM_DVD_R=1
E: ID_CDROM_DVD_RAM=1
E: ID_CDROM_MRW=1
E: ID_CDROM_MRW_W=1
E: ID_CDROM_DVD_PLUS_R_DL=1
E: ID_CDROM_DVD_PLUS_R=1
E: ID_CDROM_DVD_PLUS_RW=1
E: ID_CDROM_DVD_R_DL_JR=1
E: ID_CDROM_DVD_R_DL_SEQ=1
E: ID_CDROM_DVD_RW_SEQ=1
E: ID_CDROM_DVD_RW_RO=1
E: ID_CDROM_CD=1
E: ID_CDROM_RW_REMOVABLE=1
E: ID_CDROM_DVD_RW=1
E: ID_CDROM_DVD_R_DL=1
E: ID_CDROM_MEDIA=1
E: ID_CDROM_MEDIA_DVD_RW_RO=1
E: ID_CDROM_MEDIA_DVD_RW=1
E: ID_CDROM_MEDIA_STATE=complete
E: ID_CDROM_MEDIA_SESSION_COUNT=1
E: ID_CDROM_MEDIA_TRACK_COUNT=1
E: ID_CDROM_MEDIA_TRACK_COUNT_DATA=1
E: ID_ATA=1
E: ID_TYPE=cd
E: ID_BUS=ata
E: ID_MODEL=ATAPI_iHAS122_W
E: ID_MODEL_ENC=ATAPI\x20\x20\x20iHAS122\x20\x20\x20W\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
E: ID_REVISION=PL06
E: ID_SERIAL=ATAPI_iHAS122_W_3522540_207325501228
E: ID_SERIAL_SHORT=3522540_207325501228
E: ID_ATA_FEATURE_SET_PM=1
E: ID_ATA_FEATURE_SET_PM_ENABLED=1
E: ID_ATA_SATA=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN1=1
E: ID_ATA_PERIPHERAL_DEVICE_TYPE=5
E: ID_PATH=pci-0000:04:00.1-ata-2.0
E: ID_PATH_TAG=pci-0000_04_00_1-ata-2_0
E: ID_PATH_ATA_COMPAT=pci-0000:04:00.1-ata-2
E: ID_FS_VOLUME_ID=DVD-RW\x20backup
E: ID_FS_UUID=67587414000011bf
E: ID_FS_UUID_ENC=67587414000011bf
E: ID_FS_VOLUME_SET_ID=67587414000011BF
E: ID_FS_APPLICATION_ID=genisoimage
E: ID_FS_LABEL=DVD-RW_backup
E: ID_FS_LABEL_ENC=DVD-RW\x20backup
E: ID_FS_LOGICAL_VOLUME_ID=DVD-RW\x20backup
E: ID_FS_VERSION=1.02
E: ID_FS_BLOCKSIZE=2048
E: ID_FS_TYPE=udf
E: ID_FS_USAGE=filesystem
E: ID_FOR_SEAT=block-pci-0000_04_00_1-ata-2_0
E: DEVLINKS=/dev/disk/by-label/DVD-RW\x20backup /dev/disk/by-uuid/67587414000011bf /dev/disk/by-id/ata-ATAPI_iHAS122_W_3522540_207325501228 /dev/disk/by-path/pci-0000:04:00.1-ata-2.0 /dev/disk/by-path/pci-0000:>
E: TAGS=:systemd:uaccess:seat:
E: CURRENT_TAGS=:systemd:uaccess:seat:
2025 年 2 月 15 日版
问题似乎出在 RW 介质上。最近它又开始正常工作了:我可以读取德语课程的商业 CD、DVD-R 上录制的电影、从商店购买的音频 CD 等。但是当我插入 CD 或 DVD-RW 时,pktcdvd0
会出现可怕的问题。
我做了一个测试,我使用 growisofs 将 ISO 刻录到 DVD-RW。它成功了,刻录没有问题。但是,刻录后,它没有自动弹出 DVD,并且无法读取刻录的 DVD,显示上面报告的相同错误。我无法读取任何其他媒体:音频 CD、德语课程等。该命令eject /dev/sr0
不起作用,但驱动器弹出按钮始终有效。我不得不重置 PC,然后我才能读取其他媒体。
$ sudo cat /sys/kernel/debug/pktcdvd/pktcdvd0/info
Writer pktcdvd0 mapped to sr0:
Settings:
packet size: 0kB
write type: Packet
packet type: Variable
link loss: 0
track mode: 0
block mode: Unknown
Statistics:
packets started: 0
packets ended: 0
written: 0kB
read gather: 0kB
read: 0kB
Misc:
reference count: 2
flags: 0x0
read speed: 0kB/s
write speed: 0kB/s
start offset: 0
mode page offset: 0
Queue state:
bios queued: 0
bios pending: 0
current sector: 0x0
state: i:0 ow:0 rw:0 ww:0 rec:0 fin:0
write congestion marks: off=9000 on=10000
此外,插入 CD/DVD-RW 后,它pktcdvd0
永远不会消失(即使弹出 midia 后也是如此)。如果我想再次使用 CD 刻录机,则需要重新启动 PC。
在此示例中,DVD-RW 已被弹出:
$ lsblk
sr0 11:0 1 2,3G 0 rom
└─pktcdvd0 252:0 1 2,3G 0 disk
$ sudo pktsetup -s
0 : 252:0 -> 11:0
$ sudo pktsetup -d 252:0
pktsetup: Error: Can't tear down packet device '252:0': Device or resource busy
2025 年 2 月 16 日版
发现同样的问题:
- Linux Mint 论坛:DVD+RW 无法弹出或安装的问题
- Linux.org:无法挂载或弹出 DVD+RW
您是否已
/dev/pktcdvd/pktcdvd0
在任何地方安装过?看起来驱动器中有一个可写入的 DVD-RW 介质,并且有人或某物(自动?)使用数据包写入接口安装了它,该接口接管了基本 CD/DVD 设备/dev/sr0
并在数据包写入机制生效时对其施加了独占锁定。这还会锁定驱动器托盘/光盘弹出机制,因为如果您在系统写入光盘时意外弹出光盘,您可能会丢失数据。据我所知,数据包写入接口就像一个可选的额外层,如果您需要将文件逐步写入 CD-RW 或 DVD-RW 媒体上的 UDF 文件系统,则可以将其放置在常规 CD/DVD 设备的顶部。
当数据包写入接口处于活动状态时,您应该使用
/dev/pktcdvd/pktcdvd0
设备来安装光盘,而不是常规的/dev/sr0
。从您的
lsblk
输出中我可以看到您的设备major:minor
的设备号分别是和。pktcdvd0
252:0
sr0
11:0
如果
/dev/pktcdvd/pktcdvd0
当前未安装且 DVD 驱动器当前未处于活动状态(例如,由于在卸载之前写入了某些内容,因此在卸载后“关闭”磁盘),您可以断开数据包写入层并释放 DVD 驱动器以供常规使用:(或者
echo 252:0 > /sys/class/pktcdvd/remove
如果你已经以 root 身份运行)断开数据包写入层后,您应该能够使用
eject /dev/sr0
驱动器本身上的物理弹出按钮弹出光盘。如果想了解更多信息,请参阅内核源文档: https://mjmwired.net/kernel/Documentation/cdrom/packet-writing.rst和https://mjmwired.net/kernel/Documentation/ABI/testing/sysfs-class-pktcdvd
当 USB 2.0 推出并且 USB 连接的存储设备开始变得无处不在时,我认为 CD/DVD 数据包写入系统的使用非常有限并且逐渐被遗忘。我认为它已经有一段时间没有进行维护了,并且内核配置界面已经有一段时间有关于它的注释:
如果
pktcdvd
子系统是作为内核模块构建的,则可以通过添加/etc/modprobe.d/disable-pktcdvd.conf
以下内容的文件来禁用它:然后使用 卸载模块(如果当前已加载)
sudo modprobe -r pktcdvd
。请注意,如果模块当前正在使用中,则不会卸载,因此如果它处于“挂起”状态,您可能需要重新启动才能摆脱它。我设法在 ChatGPT 的帮助下解决了这个问题:
1. 防止内核自动加载模块
2.更新拦截模块列表
3.重命名或删除 udev 规则
4. 重新加载 udev
5. 移除模块
期末考试
6.确认pktcdvd未加载
如果模块仍然出现,请检查 udev 日志以查看是否有其他规则强制其加载:
如果没有出现,则问题已解决。继续下一步。
7. 插入 DVD-RW,看看能否再次加载
它对我有用,DVD-RW 由文件浏览器自动安装。感谢@telcoM的帮助。