阻止多区段 CD 的第一个区段的特殊文件

阻止多区段 CD 的第一个区段的特殊文件

我有一张多区段 CD。第一个部分是 CD 音轨,第二个部分是 SVCD qv“CD Extra”和“Blue book”。当在 CD 播放器上播放时,(直到最近)可以听到音轨;当在适当的视频播放器上播放时,SVCD(直到最近)都会播放。该描述中的两个“直到最近”突出了我的问题——磁盘开始退化,我需要从中提取数据。我执行此任务的首选是GNU地址救援。但是,ddrescue 与设备特殊文件交互,而不是与已安装的卷交互。 (所以“会话=Xmount“对于各种光学介质文件系统的选项是无用的。)为了方便起见,假设这/dev/sr0是设备特殊文件,无益地仅代表光盘上的最后一个会话(从cdrom.cioctl 的描述中可以看出CDROMMULTISESSION)。有没有办法到

  • 发出 IOCTL 来/dev/sr0更改它绑定到的会话,
  • 调用mknod将以某种方式将生成的设备文件绑定到特定会话,或者
  • 为多会话磁盘的每个会话创建一组块特殊设备(类似于 sda1、sda2、...、sdan对于固定磁盘上的分区)?

(为了奖励积分,是否有一个用于多会话磁盘的标准容器,允许组合提取的 ISO,以便将整个介质呈现给 WINE、dosemu 和/或 VM 软件?这对于我拥有的另一张多会话 CD 来说会很方便 -会话 1 是一个仅 Win98SE(我的意思是,只是,WINE、WinMe 和后续 Windows 都无法运行此二进制文件)程序,它使用会话 2 中的音轨。我的最后一台仍然可以运行 Win98SE 的机器很好,但这不会永远持续下去——当它失败时,我需要能够以有效的格式将多会话磁盘呈现给虚拟机。也许有一种偷偷摸摸的方法可以滥用loop这一目的。)

相关内容