寫入藍光雙層光碟時,growisofs 警告

寫入藍光雙層光碟時,growisofs 警告

我正在將我的媒體收藏存檔到 BD-R 雙層光碟上,但在寫入過程結束時不斷出現以下 IO 錯誤(通常已完成 95% 以上):

:-[ WRITE@LBA=168e800h failed with SK=5h/END OF USER AREA ENCOUNTERED ON THIS TRACK]: Input/output error
:-( write failed: Input/output error
/dev/sr0: flushing cache
/dev/sr0: closing track
/dev/sr0: closing session
:-[ CLOSE SESSION failed with SK=5h/INVALID FIELD IN CDB]: Input/output error
/dev/sr0: reloading tray 

我的歸檔過程詳細如下:

  1. dirsplit -m -s 46G /path/to/folder> 將原61G的資料夾分成兩個大小<=46GB的資料夾。 (藍光 DL 容量為 50050629632 位元組 == 46.61GB
  2. genisoimage -ldots -allow-lowercase -allow-multidot -d -iso-level 4 -l -o /path/to/file.iso /path/to/folder> 產生與 OS X 資料夾結構和檔案名稱相容的 iso 映像。
  3. growisofs -Z /dev/sr0=/path/to/file.iso> 將 iso 映像寫入藍光光碟。

有趣的是,我能夠成功安裝並讀取刻錄的光碟,即使增長iso文件無法關閉會話。但我不確定是否所有資料都已寫入光碟。

我比較了光碟和 img 檔案的 md5 校驗和(感謝來自埃溫迪施over at Unix&Linux) 但兩個字串不符。輸出來自DD據說該光碟的大小為 48GB,而不是寫入其中的 46GB 映像。

但運行cmp -b -l /path/to/image.iso /dev/sr0返回cmp: EOF on /dev/sr0表示光碟鏡像比iso檔案小。

據我所知,growisofs部分將圖像寫入光碟,但由於某種原因停止了。雖然我可以安裝「不完整」的光碟,但我需要找出刻錄突然停止的原因。

有人能指出我正確的方向嗎?我找不到/var/log/*任何由growisofs 編寫的記錄,只能繼續本頁頂部的神秘輸出。

答案1

@丹尼爾克雷吉:

我在刻錄 50,011,897,856 位元組的 iso 映像時遇到了完全相同的問題,該映像僅比您提到的最大藍光 DL 容量(50050629632 位元組)小 37.8MB。

以下是我的情況下解決問題的方法:

Growthisofs -use-the-force-luke=spare:none -dvd-compat -overburn -Z /dev/sr0=/path/to/file.iso

我懷疑-過度燃燒參數不是必需的,但我不能肯定地說,因為我還沒有嘗試在沒有此參數的情況下刻錄光碟。那些 BD-R DL 有點貴。這-DVD 相容參數使growisofs關閉軌道/會話/光碟,使其與一些不喜歡多會話光碟的藍光播放器更加相容。

記錄不完善的-use-the-force-luke=備用:無參數似乎是解決問題的關鍵參數。它指示 Growthisofs 不要預先格式化空白 BD-R 媒體。立即預先格式化媒體佔用256MB磁碟空間用於缺陷管理。

因此,現在我得到的不是可怕的:-[ CLOSE SESSION failed大約 95-96% 的光碟燒錄過程,而是:

49979686912/50011897856 (99.9%) @4.0x,剩餘 0:01 RBU 96.0% UBU 51.1%
builtin_dd: 24419872*2KB 輸出 @ 平均 3.9x4390KBps
/dev/sr0:刷新快取
/dev/sr0:關閉軌道
/dev/sr0:關閉會話
/dev/sr0:重新載入托盤

答案2

正如 Beef Eater 的回答所提到的,這是由於缺陷管理「備用區域」佔用了 256MB 空間造成的,這意味著您的 UDF 檔案系統映像將不再適合磁碟。對此您可以做兩件事:

  1. 相應地減小圖像的大小,並受益於藍光規範所需的內建缺陷管理(儘管寫入速度會降低 50%)。您可以在 的輸出中找到多次列出的媒體上的實際可寫入空間dvd+rw-mediainfo,例如:

    $ dvd+rw-mediainfo /dev/dvd
    ...
    READ FORMAT CAPACITIES:
     formatted:             11826176*2048=24220008448
    READ TRACK INFORMATION[#1]:
     Track State:           complete
     Track Start Address:   0*2KB
     Free Blocks:           0*2KB
     Track Size:            11826176*2KB
    READ CAPACITY:          11826176*2048=24220008448
    

    這告訴您磁碟上有 11826176*2KB = 23652352 KB 的可用空間,然後您可以將其用作分割或影像建立工具的輸入,例如

    $ truncate -s 23652352K my_image.udf
    $ mkudffs my_image.udf
    ... fill up the image etc ...
    
  2. 停用磁碟機上的缺陷管理並刪除備用區域,這將允許您以全速將磁碟寫入其全部容量。這可以使用dvd+rw-format文件中的工具來完成這裡,例如

    $ dvd+rw-format /dev/dvd -ssa=none
    

    由於在這種情況下不會有缺陷管理,因此您可能需要在寫入磁碟後手動驗證磁碟,例如使用命令diff -r

答案3

我燒錄 25GB 藍光光碟時也出現以下錯誤:

:-[ CLOSE SESSION failed with SK=5h/INVALID FIELD IN CDB]: Input/output error

當我運行此命令時,在“Ubuntu 14.04 LTS trusty”上:

growisofs -Z /dev/sr1 -V "BD_Disk_Name" -R -iso-level 3 "/path/to/directory/to/burn"

我不願意使用

-use-the-force-luke=spare:none

解決方案,因為我不想放棄錯誤檢查。

看來這是一個已知的錯誤(我沒有添加鏈接的代表,但它位於 bugs dot debian dot org 編號 713016),已在“dvd+rw-tools 7.1-11”中修補。不幸的是,對我來說,該版本在“14.04 LTS trusty”上不可用,但在“vivid”上可用。

因此,如果您碰巧發現自己處於同一條船上,這就是我獲得新版本的方法。

在其他地方,建議使用“固定”以便從較新版本獲取軟體,但我沒有嘗試這樣做,因為這,它描述瞭如何做到這一點,表明它可能會出現問題,並推薦了一種更好的固定替代方案。對我來說可悲的是他們遺漏了一個步驟,所以我發現以下是有效的:

您應該“cd”到您希望建置檔案結束的位置。

編輯此列表,為包含您需要的版本添加“deb-src”:

nano /etc/apt/sources.list

就我而言,我將此行新增至「sources.list」:

deb-src http://archive.ubuntu.com/ubuntu vivid main restricted universe multiverse

然後進行“更新”:

sudo apt-get update

然後獲取依賴項:

sudo apt-get build-dep dvd+rw-tools

現在你可以取得原始碼了:

apt-get -b source dvd+rw-tools=7.1-11

安裝“dvd+rw-tools_7.1-11_i386.deb”:

dpkg --install dvd+rw-tools_7.1-11_i386.deb

然而,這並沒有安裝新版本的“growisofs”,所以我必須運行它(也許如果我先運行它,它就會安裝所有東西?):

dpkg --install
(Reading database ... 62345 files and directories currently installed.)
Preparing to unpack growisofs_7.1-11_i386.deb ...
Unpacking growisofs (7.1-11) over (7.1-10build1) ...
Setting up growisofs (7.1-11) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...

確認已安裝較新版本的“growisofs”:

dpkg -s growisofs

Package: growisofs
Status: install ok installed
Priority: optional
Section: video
Installed-Size: 202
Maintainer: Optical Media Tools Team <[email protected]>
Architecture: i386
Source: dvd+rw-tools
Version: 7.1-11
Replaces: dvd+rw-tools (<< 7.1-9)
Depends: libc6 (>= 2.4), libstdc++6 (>= 4.1.1)
Breaks: dvd+rw-tools (<< 7.1-9)
Description: DVD+-RW/R recorder
[...]

享受刻錄到藍光光碟的樂趣!

答案4

我在寫入 BD DL 50GB 磁碟時也遇到問題。只有這些。寫入CD-R(W)、DVD-R(W)、DB-R SL 25GB時沒有問題。我正在研究 FreeBSD。

經過一番研究後,我發現驗證這一點很重要確切的磁碟類型韌體錄音機的!新韌體可以支援新磁碟並更好地處理它們。某些燒錄機提供“媒體相容性清單”,該清單可能會隨韌體版本而變更。磁碟有不同的技術和版本,想像一下嗎? ;-)

我的先鋒 BDR-208D FW1.20 剛好停在 BD-R DL 磁碟的中間。韌體升級到FW1.50後:

  • Verbatim BD-R DL 50GB MABL V1.3 磁碟的 ISO 燒錄會隨機中斷。
  • ISO 燒錄在 Verbatim BD-RE DL 50GB SERL V2.1 磁碟上運作良好。

注意:我並不是真正刻錄 ISO,而是直接在磁碟上刻錄 GPG 加密備份。它適用於 BD-R SL (25GB) 媒體。

對我來說,這-use-the-force-luke=spare:none似乎沒有幫助,也沒有必要。影像略小於 50GB(每個影像約 46..47GB)。

我很快就會購買具有最佳韌體更新率的華碩 BW-16D1HT,並將使用相同的磁碟進行報告。

更新1:我剛剛拿到華碩 BW-16D1HT FW3.10。它支援新的 BDXL 100GB 媒體。它支援新的M-DISK(超長備份壽命)。希望它能處理這些逐字記錄..

  • 與之前一樣使用工廠全新 BD-R DL 50GB MABL V1.3 磁碟。
  • 預先格式化已完成,但隨後與 Pioneer 一樣,WRITE@LBA=390h 因輸入/輸出錯誤而失敗。
  • 重新啟動相同的命令開始寫入。讓我們看看是否完成。先鋒確實在磁碟中間(FW1.20)或隨機位置(FW1.50)有中斷。華碩的平均寫入速度似乎較高,為 0,6..0,7 倍,而先鋒的波動較大,為 0,0..0,6 倍。

更新2:

  • 在 ASUS BW-16D1HT 韌體 3.10 上燒錄 Verbatim BD-R DL 50GB MABL V1.3(標稱寫入速度 6 倍)沒有問題以 2 倍速度明確作為-speed=2參數給定growisofs
  • 以 8 倍速度燒錄(燒錄機自動偵測,未給出速度參數)最終在隨機位置出現錯誤。重試操作會使燒錄機處於非操作繁忙狀態,且 DMESG 中出現大量 CAM 錯誤。
  • 看起來有些磁碟與某些燒錄機根本不相容。
  • 看起來那兩層磁碟是極為對寫入速度敏感。如果不同裝置和韌體版本上出現類似問題,可能是磁碟技術本身的問題。

結論:

  1. 驗證磁碟類型和您的燒錄機供應商 + 韌體版本
  2. 不同版本和製造技術的多種藍光光碟變體
  3. 並非所有磁碟和燒錄機都能配合好吧,或者乾脆合作!
  4. 使用盡可能低的寫入速度寫入 BD DL 磁碟。它們對所有燃燒器上的寫入波動和緩衝區欠載極為敏感(即使這些燃燒器具有可以防止這種情況發生的緩衝區)。

相關內容