Linux의 Plextor PX-750A는 Growthisofs 및 Schilling cdrecord 프로그램을 사용하여 8GB DVD .iso 파일을 굽는 동안 많은 DVD+R DL 코스터를 생성했습니다.
먼저 Growthisofs를 시도했습니다.
growisofs --version
* growisofs by <[email protected]>, version 7.0,
front-ending to genisoimage: genisoimage 1.1.8 (Linux)
명령줄은 다음과 같습니다.
growisofs -dvd-compat -Z /dev/sr1=SUU_14.03.00_A00.iso
-dvd-compat
또한 해당 옵션을 제거해 보았습니다.
또한 Schilling cdrtools를 사용해 보았습니다.
Cdrecord-ProDVD-ProBD-Clone 3.00 (i686-pc-linux-gnu) Copyright (C) 1995-2010 Jörg Schilling
명령줄은 다음과 같습니다.
/usr/local/bin/cdrecord -v dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso
두 경우 모두 마치 하나의 레이어를 쓴 것처럼 굽기가 중단되고 두 번째 레이어로 이동해야 할 때 덜거덕거리는 소리가 납니다.
증가하다:
4275175424/8434493440 (50.7%) @1.6x, remaining 22:03 RBU 100.0% UBU 94.4%
:-[ WRITE@LBA=1fdb40h failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error
:-( write failed: Input/output error
CD 녹음:
Track 01: 4205 of 8043 MB written (fifo 99%) [buf 97%] 2.4x./usr/local/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 00 20 DA 10 00 00 10 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 95 00 0C 00 00 00 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.019s timeout 200s
write track data: error after 4409294848 bytes
/usr/local/bin/cdrecord: A write error occured.
/usr/local/bin/cdrecord: Please properly read the error message above.
레코딩 후 미디어를 보면 데이터를 안쪽에서 바깥쪽으로 쓰는 것처럼 보입니다. 이는 한 레이어를 완전히 쓴 다음 해당 레이어 끝에서 오류가 발생하는 것처럼 보입니다. 여러 번의 시도에서 각 실패는 굽기 프로세스의 약 50%에서 발생했습니다.
$ ls -lh SUU_14.03.00_A00.iso
-rw-rw-r-- 1 user group 7.9G 2014-05-14 07:53 SUU_14.03.00_A00.iso
2014/05/23에 편집 시작:
cdrecord 매뉴얼 페이지는 다음과 같이 말합니다:
Cdrecord functional options
...
driveropts=option list
...
layerbreak
Switch a drive with DVD-R/DL medium into layer jump
recording recording mode and use automatic layer-break
position setup.
By default, DVD-R/DL media is written in sequential
recording mode that completely fills up both layers.
layerbreak=value
Set up a manual layer-break value for DVD-R/DL and
DVD+R/DL. The specified layer-break value must not be
set to less than half of the recorded data size and must
not be set to more than the remaining Layer 0 size of the
medium. The manual layer-break value needs to be a mul-
tiple of the ECC sector size which is 16 logical 2048
byte sectors in case of DVD media and 32 logical 2048
byte sectors in case of HD-DVD or BD media.
Cdrecord does not allow to write DL media in case that
the total amount of data is less then the Layer 0 size of
the medium except when a manual layer-break has been
specified by using the layerbreak=value option.
중단점을 수동으로 계산하지 않고 Layerbreak를 사용하면 다음과 같은 결과가 발생합니다.
cdrecord -v driveropts=layerbreak dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso
...
cdrecord: Bad layer break value ''.
...
몇 가지 조사 끝에 "최적 레이어 중단 계산"이 포함된 오래된 CDrecord에 대한 패치를 발견했습니다. 몇 번의 실험 끝에 쉘에서 "최고의 레이어 나누기"를 계산할 수 있다는 사실을 발견했습니다.
echo -e "a = $(isosize SUU_14.03.00_A00.iso)\nb = a / 2048 / 2\nb - 1 + 16 - ( b - 1 ) % 16\n" | bc
이는 2059216의 계층화 값을 제공합니다. 실제로 스마일의 경우 그 값을 위아래로 조절해 보았습니다. 특정 계층적 값(예: 2059215)의 경우 cdrecord는 다음을 보고합니다.
cdrecord: Layer break at 2059215 is not properly aligned.
나는 희망을 가득 품고 다음과 같이 노력했습니다.
cdrecord -v driveropts=layerbreak=2059216 dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso
여전히 코스터가 발생하고 쓰기 오류가 발생합니다.
Track 01: 4205 of 8043 MB written (fifo 99%) [buf 97%] 2.4x./usr/local/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB: 2A 00 00 20 DB 60 00 00 10 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 95 00 0C 00 00 00 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.022s timeout 200s
write track data: error after 4409982976 bytes
/usr/local/bin/cdrecord: A write error occured.
/usr/local/bin/cdrecord: Please properly read the error message above.
2014년 5월 23일에 편집을 종료했습니다.
이 문제는 GUI 도구가 설치되지 않은 서버에서 발생합니다. 명령줄에서 듀얼 레이어 DVD를 구울 수 있는 방법을 찾고 있습니다.
답변1
다른 DVD 버너를 사용해 보십시오.
실패한 명령은 USB로 연결된 LG M/N GE24LU20 DVD 버너와 함께 사용할 때 제대로 작동합니다.
DVD 레코더 펌웨어 버전을 확인하세요. 새 버전이 있으면 펌웨어를 업그레이드하십시오.
위의 두
growisofs
명령은cdrecord
Plextor PX-750A-UF 1.01 레코더에서 실패했지만 동일한 드라이브에 대한 펌웨어 업데이트 후에는 성공했습니다.PX-750A-UF 1.03./usr/local/bin/cdrecord -v dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso growisofs -dvd-compat -Z /dev/sr1=SUU_14.03.00_A00.iso
펌웨어 업그레이드에는 다른 이점이 있을 수 있습니다. 예를 들어, PX-750A-UF 1.01 펌웨어 장치는 듀얼 레이어 DVD에 약 2.4x로 기록하지만 1.03 펌웨어는 6x로 미디어에 기록합니다.
cdrecord
계층 구분과 관련하여 4023MB 지점(중간)과 4025MB 지점 이전에 긴 일시 중지가 관찰되는 것은 흥미롭습니다. cdrecord
이는 이전 펌웨어가 있는 드라이브를 사용할 때 실패합니다. 레이어 전환 작업으로 인해 지연이 발생한 것으로 보입니다.
답변2
cdrecord에 브레이크 위치를 지정하지 않으면 드라이브는 미디어를 100%까지 채웁니다. 이로 인해 오랜 지연이 발생할 수 있습니다.
cdrecord가 실패하면 DVD 지원을 제거하고 원본 코드를 반쯤 구운 코드로 대체하는 다양한 수정 버전의 피해자가 될 수 있습니다. 이러한 결함이 있는 버전은 버전 3을 보고하지 않으며 DVD 쓰기에 대한 올바른 시간 초과를 알지 못합니다. 이것이 cdrecord가 조기에 시간 초과되는 이유일 수 있습니다.
cdrecord의 최신 버전은 3.01a31이며, 3.01-final이 곧 출시될 예정입니다.
최신 버전을 사용하고 있나요?