Segunda sessão gravada no disco BD-R usando o sinalizador -Z de growisofs em vez de -M. A primeira sessão pode ser visível?

3

No Ubuntu Linux, escrevi arquivos para um BD-R usando growisofs, por:

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

Então eu queria adicionar mais arquivos, mas eu não estava prestando atenção suficiente, eu corri o growisofs com a opção -Z novamente ao invés de trocar para -M. Agora, quando eu montei o disco, só vejo os arquivos da segunda gravação. Há algo que eu possa escrever novamente no disco para tornar os dois conjuntos de arquivos visíveis (como se eu tivesse usado corretamente -M a segunda vez)?

Ainda tenho todos os arquivos originais, para poder simplesmente gravar um novo disco e fazê-lo corretamente, ou seja, não preciso dos dados para evitar perdas. Eu apenas esperava que houvesse uma maneira de não desperdiçar o disco, já que todos os dados são gravados lá.

Aqui está a saída da consulta 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 [email protected]=53940KB/s [email protected]=53940KB/s
 Speed Descriptor#1:    00/12088319 [email protected]=44950KB/s [email protected]=44950KB/s
 Speed Descriptor#2:    00/12088319 [email protected]=35960KB/s [email protected]=35960KB/s
 Speed Descriptor#3:    00/12088319 [email protected]=26970KB/s [email protected]=26970KB/s
 Speed Descriptor#4:    00/12088319 [email protected]=17980KB/s [email protected]=17980KB/s
 Speed Descriptor#5:    00/12088319 [email protected]=8990KB/s [email protected]=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

O tamanho da faixa da faixa de leitura # 1 (10564928 * 2KB) é o tamanho correto da primeira gravação; o tamanho da pista menos o tamanho dos blocos livres (1523392 * 2KB - 221056 * 2KB) é o tamanho correto da segunda gravação.

    
por user221592 18.03.2017 / 22:26

1 resposta

1

Há poucas chances de tornar os arquivos da primeira sessão acessíveis sem esconder os da segunda sessão.

Agora existem duas árvores do sistema de arquivos ISO 9660. Cada um contendo apenas o arquivos de sua sessão. O superbloco aponta para a nova árvore, porque foi sobrescrito no BD-R formatado em pseudo-sobrescrita.

Por operações de nível de byte você pode fazer o superbloco apontar para o mais antigo árvore, mas você não verá os arquivos mais recentes.

Com -M, growisofs teria deixado mkisofs (ou o substituto compatível programa) ler a árvore de diretórios antiga e expandi-la pelos novos arquivos. Teria então sido escrito para o espaço restante no meio e apontado pelo superbloco pseudo-sobrescrito.

Não tenho conhecimento de um programa de produção ISO 9660 que leia os dois árvores, junte-os e escreva o resultado como terceira sessão sem escrever arquivos de dados. Mas apenas tal manipulação daria esperança de que o resultado se encaixa os 440 MiB restantes de espaço livre.

Parece ser um bug no growisofs que ele aceitou -Z em um já escrito BD-R.

    
por 19.03.2017 / 10:04

Tags