Então, é aquela época do ano em que preciso fazer um disco de backup de alguns arquivos em uma máquina Windows e quero usar o UDF para poder adicioná-lo mais tarde. Está se recusando a me deixar criar CDs ou DVDs, pois diz que o disco está vazio e precisa ser formatado e não me deixa formatá-los ... E sim, os discos nunca foram usados (ainda) e estão sem arranhões e assim por diante. Ele também não me permite editar alguns discos que eu sei que foram feitos com o próprio utilitário do Windows para isso (Live Filesystem, que também é basicamente UDF), então vou olhar de soslaio e seguir em frente. (Curiosamente, posso abrir e modificá-los no Linux ...)
Então, eu fui para minha máquina Linux (Ubuntu 18.04) e tentei fazer um disco formatado em UDF com mkudffs (já que discos multissessão funcionam corretamente com absolutamente NADA, aparentemente, pelo menos não mais [eu fiz uma vez no Ubuntu 14.04 dias , mas eles não foram editáveis desde então, e é caro testar]) e é superior de qualquer maneira.
eu executei o comando
mkudffs --media-type=dvd /dev/sr0
e despeja uma mensagem de erro "O dispositivo é somente leitura" (não tenho as palavras exatas, mas foi tudo o que disse). Executar o comando como root não ajudou, e eu sei que isso funcionou antes.
Curiosamente, a coisa "copiar arquivos para o disco e gravar" embutida no Nautilus funcionou muito bem. É claro que marcar a opção "Deixar o disco aberto para futuras adições" não fez nada (não é surpresa), mas gravou os arquivos que eu tinha em mãos.
Agora, para a próxima vez, o que exatamente está errado para não me deixar formatar em UDF meus malditos CDs ou DVDs?!
[Eu não testei com um dos meus DVD-RWs, mas tentei CD e DVD agora (com os sinalizadores de tipo de mídia apropriados) e obtive o mesmo erro. Eles são um pouco antigos, mas aparentemente ainda são graváveis, é só que por algum motivo o mkudffs em particular está tendo problemas com eles.]
Esta é uma limitação da mídia: os tipos mais antigos (CD-R, DVD-R, etc.) são de gravação única, ou seja, você só pode gravar uma imagem grande em uma única sessão no disco, e o disco não pode ser apagado. Em algum momento, os discos CD-R multi-sessão foram introduzidos, mas eles funcionam anexando dados à parte não utilizada do disco. Nem mesmo os discos regraváveis (RW) mais comuns não podem ser reescritos em locais aleatórios, que um sistema de arquivos como o UDF precisa.
O sistema de arquivos UDF suporta a criação de um sistema de arquivos "ao vivo", ou seja, um sistema de arquivos no qual você pode adicionar, excluir e reescrever arquivos. Mas isso requer que a mídia o apoie. Você pode criar um sistema de arquivos UDF em um disco rígido ou um disco flash USB com
mkudffs
, mas para um CD-R você precisará primeiro criar o sistema de arquivos em um arquivo de disco, adicionar os arquivos desejados e gravar todo o sistema de arquivos como uma imagem para o disco óptico.Via mkudffs você pode formatar apenas o dispositivo de bloco com acesso r/w. Portanto, apenas DVD-RW, DVD-RAM, BD-RE. Com suporte para escrita de pacotes , módulo de kernel pktcdvd.ko e utilitário pktsetup , você também pode mapear mídia CD-RW para dispositivo de bloco r/w compatível. Mas o uso anterior de mídia CD-RW você precisa primeiro formatá-lo através do utilitário cdrwtool . O cdrwtool também é responsável por formatar a mídia CD-RW para UDF, portanto, use-o em vez de mkudffs .
Discos graváveis (CD-R, DVD-R, BD-R) não são suportados pelo kernel Linux para operação de gravação diretamente via dispositivo de bloco. Portanto, a gravação de quaisquer dados para eles precisa ser feita por meio de um software de gravação. E, portanto, mkudffs não pode formatá-los para UDF. Mas você pode criar uma imagem UDF e depois gravá-la em um disco gravável.