AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 791073
Accepted
Daniel
Daniel
Asked: 2025-02-15 02:12:05 +0800 CST2025-02-15 02:12:05 +0800 CST 2025-02-15 02:12:05 +0800 CST

无法在 Debian 测试中安装 CD/DVD(“无法打开 blockdev”),但它可以在 Windows 10 中运行

  • 772

我无法在驱动器中安装任何 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
debian
  • 2 2 个回答
  • 87 Views

2 个回答

  • Voted
  1. telcoM
    2025-02-15T04:50:24+08:002025-02-15T04:50:24+08:00

    您是否已/dev/pktcdvd/pktcdvd0在任何地方安装过?看起来驱动器中有一个可写入的 DVD-RW 介质,并且有人或某物(自动?)使用数据包写入接口安装了它,该接口接管了基本 CD/DVD 设备/dev/sr0并在数据包写入机制生效时对其施加了独占锁定。这还会锁定驱动器托盘/光盘弹出机制,因为如果您在系统写入光盘时意外弹出光盘,您可能会丢失数据。

    据我所知,数据包写入接口就像一个可选的额外层,如果您需要将文件逐步写入 CD-RW 或 DVD-RW 媒体上的 UDF 文件系统,则可以将其放置在常规 CD/DVD 设备的顶部。

    当数据包写入接口处于活动状态时,您应该使用/dev/pktcdvd/pktcdvd0设备来安装光盘,而不是常规的/dev/sr0。

    从您的lsblk输出中我可以看到您的设备major:minor的设备号分别是和。pktcdvd0252:0sr011:0

    如果/dev/pktcdvd/pktcdvd0当前未安装且 DVD 驱动器当前未处于活动状态(例如,由于在卸载之前写入了某些内容,因此在卸载后“关闭”磁盘),您可以断开数据包写入层并释放 DVD 驱动器以供常规使用:

    echo 252:0 | sudo tee /sys/class/pktcdvd/remove
    

    (或者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 数据包写入系统的使用非常有限并且逐渐被遗忘。我认为它已经有一段时间没有进行维护了,并且内核配置界面已经有一段时间有关于它的注释:

    CONFIG_CDROM_PKTCDVD

    注意:此驱动程序已弃用并将在不久的将来从内核中删除!

    如果pktcdvd子系统是作为内核模块构建的,则可以通过添加/etc/modprobe.d/disable-pktcdvd.conf以下内容的文件来禁用它:

    install pktcdvd /bin/false
    

    然后使用 卸载模块(如果当前已加载)sudo modprobe -r pktcdvd。请注意,如果模块当前正在使用中,则不会卸载,因此如果它处于“挂起”状态,您可能需要重新启动才能摆脱它。

    • 2
  2. Best Answer
    Daniel
    2025-02-18T03:27:28+08:002025-02-18T03:27:28+08:00

    我设法在 ChatGPT 的帮助下解决了这个问题:

    1. 防止内核自动加载模块

    $ echo "install pktcdvd /bin/false" | sudo tee /etc/modprobe.d/disable-pktcdvd.conf
    

    2.更新拦截模块列表

    $ sudo depmod -a
    

    3.重命名或删除 udev 规则

    $ sudo mv /lib/udev/rules.d/80-pktsetup.rules /lib/udev/rules.d/80-pktsetup.rules.disabled
    

    4. 重新加载 udev

    $ sudo udevadm control --reload-rules && sudo udevadm trigger
    

    5. 移除模块

    $ sudo rmmod pktcdvd
    

    期末考试

    6.确认pktcdvd未加载

    lsmod | grep pktcdvd
    

    如果模块仍然出现,请检查 udev 日志以查看是否有其他规则强制其加载:

    $ sudo journalctl -xe | grep pktcdvd
    

    如果没有出现,则问题已解决。继续下一步。

    7. 插入 DVD-RW,看看能否再次加载

    lsmod | grep pktcdvd
    

    它对我有用,DVD-RW 由文件浏览器自动安装。感谢@telcoM的帮助。

    • 0

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve