Blu-Ray

使用 growisofs 的 -Z 標誌而不是 -M 寫入 BD-R 光碟的第二個會話。可以使第一個會話可見嗎?

  • March 19, 2017

在 Ubuntu Linux 上,我使用 growisofs 將文件寫入 BD-R,如下:

growisofs -Z /dev/sr0 -R -J -f -graft-points ...

然後我想添加更多文件,但沒有引起足夠的注意,我再次使用 -Z 選項執行了 growisofs,而不是切換到 -M。現在,當我掛載光碟時,我只能看到第二次刻錄的文件。有什麼我可以再次寫入光碟以使兩組文件都可見的東西(就好像我第二次正確使用了 -M 一樣)?

我仍然擁有所有原始源文件,所以我可以簡單地刻錄一張新光碟並正確地進行 - 即我不需要獲取數據以防止失去。我只是希望有一種方法可以不浪費光碟,因為所有數據都在那裡刻錄。

這是 dvd+rw-mediainfo 查詢輸出:

INQUIRY:                [PIONEER ][BD-RW   BDR-209D][1.31]
GET [CURRENT] CONFIGURATION:
Mounted Media:         41h, BD-R SRM+POW
Media ID:              VERBAT/IMe
Current Write Speed:   12.0x4495=53940KB/s
Write Speed #0:        12.0x4495=53940KB/s
Write Speed #1:        10.0x4495=44950KB/s
Write Speed #2:        8.0x4495=35960KB/s
Write Speed #3:        6.0x4495=26970KB/s
Write Speed #4:        4.0x4495=17980KB/s
Write Speed #5:        2.0x4495=8990KB/s
Speed Descriptor#0:    00/12088319 R@12.0x4495=53940KB/s W@12.0x4495=53940KB/s
Speed Descriptor#1:    00/12088319 R@10.0x4495=44950KB/s W@10.0x4495=44950KB/s
Speed Descriptor#2:    00/12088319 R@8.0x4495=35960KB/s W@8.0x4495=35960KB/s
Speed Descriptor#3:    00/12088319 R@6.0x4495=26970KB/s W@6.0x4495=26970KB/s
Speed Descriptor#4:    00/12088319 R@4.0x4495=17980KB/s W@4.0x4495=17980KB/s
Speed Descriptor#5:    00/12088319 R@2.0x4495=8990KB/s W@2.0x4495=8990KB/s
POW RESOURCES INFORMATION:
Remaining Replacements:16843296
Remaining Map Entries: 0
Remaining Updates:     0
READ DISC INFORMATION:
Disc status:           appendable
Number of Sessions:    1
State of Last Session: incomplete
"Next" Track:          1
Number of Tracks:      2
READ TRACK INFORMATION[#1]:
Track State:           partial incremental
Track Start Address:   0*2KB
Free Blocks:           0*2KB
Track Size:            10564928*2KB
READ TRACK INFORMATION[#2]:
Track State:           incomplete incremental
Track Start Address:   10564928*2KB
Next Writable Address: 11867264*2KB
Free Blocks:           221056*2KB
Track Size:            1523392*2KB
FABRICATED TOC:
Track#1  :             14@0
Track#AA :             14@12088320
Multi-session Info:    #1@0
READ CAPACITY:          12088320*2048=24756879360

讀取磁軌#1(105649282KB)的磁軌大小為第一次刻錄的正確大小;磁軌大小減去空閒塊大小 (15233922KB - 221056*2KB) 是第二次刻錄的正確大小。

在不隱藏第二個會話的文件的情況下,幾乎沒有機會使第一個會話中的文件可訪問。

現在有兩個 ISO 9660 文件系統樹。每個只包含其會話的文件。超級塊指向較新的樹,因為它在 Pseudo-Overwrite 格式化的 BD-R 上被覆蓋。

通過字節級操作,您可以使超級塊指向較舊的樹,但您將看不到較新的文件。

使用 -M,growisofs 將讓 mkisofs(或兼容的替換程序)讀取舊目錄樹並用新文件擴展它。然後它將被寫入介質上的剩餘空間並由偽覆蓋超級塊指向。

我不知道有一個 ISO 9660 生產程序會讀取兩棵樹,合併它們,並將結果作為第三個會話寫入而不寫入數據文件。但只有這樣的操作才能使結果適合剩餘的 440 MiB 可用空間。

在已經編寫的 BD-R 上接受 -Z 似乎是 growisofs 中的一個錯誤。

引用自:https://unix.stackexchange.com/questions/352364