Ctrl+C で中止した「wodim」DVD 書き込みを再開するにはどうすればよいですか?

Ctrl+C で中止した「wodim」DVD 書き込みを再開するにはどうすればよいですか?

ISO を DVD+R に書き込みたいと思いました。このコマンドはこれまで使用したことがなかったので、正しく実行しているかどうか確認したかったので、まずダミー書き込み (レーザーをオフにして、基本的には予行演習) を行うことにしました。実際に実行してみるwodim -v dev=/dev/sr0 speed=4 -dummy -eject path/to.isoと、正常に動作しているように見えました。大きなディスク イメージの書き込みを装って完了するまで待ちたくないと思い、Ctrl+C を押して同じコマンドを入力し、実際-dummyに書き込みを開始しました。

wodim: WARNING: Data may not fit on current disk.
wodim: Notice: Most recorders cannot write CD's >= 90 minutes.
wodim: Notice: Use -ignsize option to allow >= 90 minutes.
wodim: Notice: Use -overburn option to write more than the official disk capacity.
wodim: Notice: Most CD-writers do overburning only on SAO or RAW mode.

ディスクを取り出して底を見ると、薄いリングに色の違いがあり、ディスクに少量のデータが書き込まれていることがわかりました。何らかの理由でオプションが-dummy機能せず、少なくとも中止するまでは実際にイメージが書き込まれていたとしか考えられません。

提案されたオプションは、最初から新しいトラックを書き込むために使用されると思いますが-overburn、これは私が望んでいることではありません。このディスクから起動する必要があるため、必要なファイルにアクセスできるかどうかだけでなく、データの実際の構造が重要です。ディスクが無駄にならないように、中断したところから終了するにはどうすればよいですか? 中断したところの正確な表示はありません (「4177 MB のうち 145 MB が書き込まれました」とだけ表示され、正確さが足りません) が、ディスクとイメージを読み取って、最初に異なる場所を見つけることで簡単に判断できるはずです。

編集:cmpISO と比較したところ/dev/sr0、最初の異なるバイトは 152307713 バイトであると表示されました。つまり、そこで終了したということです。ISO の先頭を切り取ってそのバイトから開始し、同じコマンドを使用してそのファイルをディスクに書き込むと、機能しますか? それとも、間にトラック境界などがあり、問題が発生するのでしょうか?

編集2:以下は Thomas Schmitt が提案したコマンドの出力です。

$ dvd+rw-mediainfo /dev/sr0
INQUIRY:                [MATSHITA][DVD+-RW UJ8C7   ][1.00]
GET [CURRENT] CONFIGURATION:
 Mounted Media:         1Bh, DVD+R
 Media ID:              CMC MAG/M01
 Current Write Speed:   8.0x1385=11080KB/s
 Write Speed #0:        8.0x1385=11080KB/s
 Write Speed #1:        2.4x1385=3324KB/s
 Speed Descriptor#0:    01/2295103 [email protected]=4294967040KB/s [email protected]=11080KB/s
 Speed Descriptor#1:    01/2295103 [email protected]=4294967040KB/s [email protected]=3324KB/s
READ DVD STRUCTURE[#0h]:
 Media Book Type:       00h, DVD-ROM book [revision 0]
 Legacy lead-out at:    2295104*2KB=4700372992
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/complete
 Track Start Address:   0*2KB
 Next Writable Address: 74384*2KB
 Free Blocks:           2064480*2KB
 Track Size:            2138864*2KB
READ TRACK INFORMATION[#2]:
 Track State:           blank
 Track Start Address:   2138880*2KB
 Next Writable Address: 2138880*2KB
 Free Blocks:           156224*2KB
 Track Size:            156224*2KB
 ROM Compatibility LBA: 265696
READ CAPACITY:          0*2048=0
$ cdrskin -v dev=/dev/sr0 -minfo
cdrskin 1.4.2 : limited cdrecord compatibility wrapper for libburn
cdrskin: verbosity level : 1
cdrskin: NOTE : greying out all drives besides given dev='/dev/sr0'
cdrskin: scanning for devices ...
cdrskin: ... scanning for devices done
cdrskin: pseudo-atip on drive 0
cdrskin: status 3 BURN_DISC_APPENDABLE "There is an incomplete disc in the drive"
scsidev: '/dev/sr0'
Device type    : Removable CD-ROM
Vendor_info    : 'MATSHITA'
Identifikation : 'DVD+-RW UJ8C7'
Revision       : '1.00'
Drive id       : 'WQ36  064543'
Driver flags   : BURNFREE
Supported modes: TAO SAO
cdrskin: burn_drive_get_write_speed = 11080  (8.0x)
Current: DVD+R
Profile: 0x0012 (DVD-RAM)
Profile: 0x002B (DVD+R/DL)
Profile: 0x001B (DVD+R) (current)
Profile: 0x001A (DVD+RW)
Profile: 0x0013 (DVD-RW restricted overwrite)
Profile: 0x0014 (DVD-RW sequential recording)
Profile: 0x0016 (DVD-R/DL layer jump recording)
Profile: 0x0015 (DVD-R/DL sequential recording)
Profile: 0x0011 (DVD-R sequential recording)
Profile: 0x0010 (DVD-ROM)
Profile: 0x000A (CD-RW)
Profile: 0x0009 (CD-R)
Profile: 0x0008 (CD-ROM)
Profile: 0x0002 (Removable disk)
book type:     DVD+R (emulated booktype)
Product Id:    CMC_MAG/M01/48
Producer:      CMC Magnetics Corporation
Manufacturer:    'CMC MAG'
Media type:      'M01'

Mounted media class:      DVD
Mounted media type:       DVD+R
Disk Is not erasable
disk status:              incomplete/appendable
session status:           empty
first track:              1
number of sessions:       1
first track in last sess: 1
last track in last sess:  2
Disk Is unrestricted
Disk type: DVD, HD-DVD or BD

Track  Sess Type   Start Addr End Addr   Size
==============================================
    1     1 Apdbl  0          2138863    2138864   
    2     1 Blank  2138880    2295103    156224    

Next writable address:              2138880   
Remaining writable size:            156224    

Warning: Incomplete session encountered !
$ xorriso -outdev /dev/sr0 -toc
xorriso 1.4.2 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev '/dev/sr0'
Media current: DVD+R
Media status : is written , is appendable
Media summary: 1 session, 2295104 data blocks, 4483m data,  305m free
xorriso : WARNING : Incomplete session encountered !
Drive current: -outdev '/dev/sr0'
Drive type   : vendor 'MATSHITA' product 'DVD+-RW UJ8C7' revision '1.00'
Drive id     : 'WQ36  064543'
Media current: DVD+R
Media product: CMC_MAG/M01/48 , CMC Magnetics Corporation
Media status : is written , is appendable
Media blocks : 1 readable , 156224 writable , 2295104 overall
TOC layout   : Idx ,  sbsector ,       Size , Volume Id
Incmp session:   1 ,         0 ,         0s , 
Media summary: 1 session, 2295104 data blocks, 4483m data,  305m free
Media nwa    : 2138880s
xorriso : WARNING : Incomplete session encountered !
$ cdrecord -v dev=/dev/sr0 -minfo
wodim: Bad Option: -minfo.
Usage: wodim [options] track1...trackn

Use wodim -help
to get a list of valid options.

Use wodim blank=help
to get a list of valid blanking options.

Use wodim dev=b,t,l driveropts=help -checkdrive
to get a list of drive specific options.

Use wodim dev=help
to get a list of possible SCSI transport specifiers.

答え1

おそらく、この部分的に書き込まれたメディアを放棄し、新しい (空の) DVD から始める必要があるでしょう。

理論的には、書き込みが不完全な DVD+R トラックで書き込みを再開することは不可能ではありません。しかし、それが可能な書き込みプログラムを私は知りません。間違っているかもしれませんが。ですから、そのメディアで書き込みプログラムを動作させた場合に何が起こるか試してみてください。

書き込みプログラムは、オープン トラックについてエラーを出して中止するか、DVD 上のまだ要求されていない領域で新しいトラックを開始しようとすると予想されます。どちらの場合も、DVD 上に ISO の完全なコピーは作成されません。

その他の意見と情報:

wodimは DVD には適していません。、、、または を使用growisofsしてcdrskinください 。xorrecordcdrecord

DVD+R メディアが挿入されたドライブでは、シミュレートされた書き込みは提供されません。wodimオプション で実行したときに何が起こった-dummyとしても、CD-R[W]、DVD-R、またはフォーマットされていない DVD-RW で表示されるものと同じではありませんでした。実際の書き込みの開始は、wodimDVD+R、DVD+RW、DVD-RAM、フォーマットされた DVD-RW、または BD メディアの手がかりがない兆候として受け止めてください。(DVD-R とフォーマットされていない DVD-RW は CD-R と非常によく似た動作をするため、これで十分かもしれません。)

次のいずれかのコマンドを使用して、DVD+R の現在の状態を検査できます。

dvd+rw-mediainfo /dev/sr0

cdrskin -v dev=/dev/sr0 -minfo

xorriso -outdev /dev/sr0 -toc

cdrecord -v dev=/dev/sr0 -minfo

質問の「編集 2」後に更新:

wodim: Bad Option: -minfocdrecord は、オリジナルではなく、その間に孤立したクローン を試したことを示します。オプションはではなくwodim古い になります。出力は解釈が困難です。いずれにせよ、 の出力はストーリーを最も詳細に伝えます。-toc-minfodvd+rw-mediainfo

wodim予約済みトラック番号 1 のサイズは 2138864 ブロック =~ 4177 MiB です。このトラックは、ブロック 74384 =~ 145 MiB から書き込み可能です。

しかし、既存のトラックへの書き込み機能は DVD+R (およびおそらく BD-R) の特殊な機能であり、書き込みプログラムの使用モデルには適合しません。そのため、書き込みプログラムは、ブロック 2138880 から始まる残りの未予約トラック番号 2 を使用しようとします。このメディア状態が受け入れられるかどうかは別として。

少なくともcdrskinxorriso彼らは声明によってそこに書いてみることを発表しNext writable address:、ソースコードも同じ選択をするように見えます。(オリジナル)についてはMedia nwa推測 することしかできません。growisofscdrecord

もちろん、残りの ISO をトラック 2 に書き込もうとすると、空き容量が 300 MB しかないため失敗します (いずれにしても、読み取り不可能なセクターの大きなギャップが作成されます)。


バーン プログラムが実行する必要がある可能性のあること:

これは主に、次のトラックからではなく、既存のトラックから次の書き込み可能アドレスを決定することです。

これはlibburn関数内でオーバーライドされるburn_disc_track_lba_nwa() か、cdrskin関数内で呼び出された後にオーバーライドされる可能性がありますCdrskin_obtain_nwa()。最終的に、cdrskin変数は*nwa値 74384 を取得する必要があります。

growisofs関数では、NWA は ですplusminus_r_C_parm()。変数はnext_session値 74384 を取得する必要があります。おそらく、プログラム に ではなく、追加の実行オプション-use-the-force-luke=seek=74384と use オプションを与える必要があるでしょう。-Z-M

もう 1 つの潜在的な問題は、このようなハッキング後のプログラムが依然として SCSI コマンドを発行できることですRESERVE TRACK。これは防止する必要があります。

growisofsは、DVD-R、DVD-R DL、およびフォーマットされていない DVD-RW にのみコマンドを送信するようです。オプションが存在するcdrskin場合は送信されません。-tao

このスケッチは十分ではなく、実験によって部分的に書き込まれたDVD+Rが修復不能なほど台無しになる恐れがあります。それでも挑戦したいのであれば、まずはソースコードを入手することから始めましょう。dvd+rw-tools(の場合growisofs)または静的にリンクされたcdrskinその後、どのようなコード変更を行えば、最初の唯一の試みで成功する可能性が最も高くなるかをメールで議論し始めることができます。結果はここで報告されます。

(念のため言っておきますが、私はlibburnとの開発者ですcdrskin。)

関連情報