UDF 在 Linux 下格式化 BD-RE-媒体类型“bdr”未知?

UDF 在 Linux 下格式化 BD-RE-媒体类型“bdr”未知?

这是在 Ubuntu 20.04.1、Pioneer BDR-XS07、50 GB BD-RE(测试了来自不同供应商的多张光盘)上进行的。

使用 UDF 版本 2.50 格式化光盘的方法如下:
$ sudo mkudffs --utf8 --blocksize=2048 --media-type=bdr --udfrev=0x0250 --lvid=Backup2 --vid=Backup2 /dev/sr0

但安装它却不行(Unable to mount volume backup: Gio.IOErrorEnum: Error mounting /dev/sr0 at /media/cts/backup: wrong fs type, bad option, bad superblock on /dev/sr0, missing codepage or helper program, or other error)。

将光盘格式化为“硬盘”媒体类型也可以:
$ sudo mkudffs --utf8 --blocksize=2048 --media-type=hd --udfrev=0x0201 --lvid=Backup2 --vid=Backup2 /dev/sr0 并且随后安装和写入成功。

有一件事让我印象深刻,这是问题的理论原因:
使用错误的媒体类型会导致 UDF 块/区域布局不同:

$ sudo mkudffs --utf8 --blocksize=2048 --media-type=hd --udfrev=0x0201 --lvid=Backup2 --vid=Backup2 /dev/sr0
filename=/dev/sr0
label=Backup2
uuid=600c858ed35ee0c9
blocksize=2048
blocks=23652352
udfrev=2.01
start=0, blocks=16, type=ERASE 
start=16, blocks=4, type=VRS 
start=20, blocks=76, type=ERASE 
start=96, blocks=16, type=MVDS 
start=112, blocks=16, type=ERASE 
start=128, blocks=4, type=LVID 
start=132, blocks=124, type=ERASE 
start=256, blocks=1, type=ANCHOR 
start=257, blocks=23651832, type=PSPACE 
start=23652089, blocks=6, type=ERASE 
start=23652095, blocks=1, type=ANCHOR 
start=23652096, blocks=96, type=ERASE 
start=23652192, blocks=16, type=RVDS 
start=23652208, blocks=143, type=ERASE 
start=23652351, blocks=1, type=ANCHOR 
$

对比

$ sudo mkudffs --utf8 --blocksize=2048 --media-type=bdr --udfrev=0x0250 --lvid=Backup2 --vid=Backup2 /dev/sr0
filename=/dev/sr0
label=Backup2
uuid=600c854ca5a22d78
blocksize=2048
blocks=23652352
udfrev=2.50
vatblock=319
start=0, blocks=16, type=RESERVED 
start=16, blocks=4, type=VRS 
start=20, blocks=76, type=USPACE 
start=96, blocks=16, type=MVDS 
start=112, blocks=16, type=USPACE 
start=128, blocks=1, type=LVID 
start=129, blocks=95, type=USPACE 
start=224, blocks=16, type=RVDS 
start=240, blocks=16, type=USPACE 
start=256, blocks=1, type=ANCHOR g
start=257, blocks=31, type=USPACE 
start=288, blocks=23651776, type=PSPACE 
start=23652064, blocks=31, type=USPACE 
start=23652095, blocks=1, type=ANCHOR 
start=23652096, blocks=256, type=USPACE 
$

所以我认为我没有从 BD-RE 中获得最佳的性能/可靠性/缺陷管理?

在 Linux 下使用 UDF 文件系统格式化 BD-RE 以进行数据包写入的正确方法是什么?

答案1

我也遇到了这个老问题,这次我解决了它。我记得我曾对 Windows 和 macOS 支持在 0x0250 版本上写入这一事实感到不满。Linux 则不支持。

尽管我知道,但我的旧文档显示明确请求 0x250。

看看你的输出。一个图像的版本号是 2.50,另一个是 2.01。后者将支持写入操作,前者将出现错误消息或只能读取。

这个过程其实很简单(你需要):

  1. 格式化媒体一次用于缺陷管理。
dvd+rw-format '/dev/sr0' ;
  1. 将 UDFFS 放在上面:
mkudffs --utf8 \
        --blocksize=2048 \
        --media-type=dvdrw \
        --udfrev=0x0201 \
        --lvid=Backup2 \
        --vid=Backup2 \
        '/dev/sr0' ;

毕竟,BluRay 是 DVD。

  1. 挂载 paket 设备:
mount -t udf -o rw,noatime,async \
'/dev/sr0' '/data/filesystem/disc/'

如果您预计会出现断电或系统崩溃的情况,您可能想使用sync而不是async

相关内容