우분투에서는 CDROM에서 복사하는 것이 매우 느립니다.

우분투에서는 CDROM에서 복사하는 것이 매우 느립니다.

CDROM 이미지를 복사하는 명령을 사용하고 있습니다.

# dd if=/dev/sr0 of=./maverick.iso

하지만 속도는 약 350,000바이트/초로 매우 느립니다. 구글에서 검색해서 명령어를 쳐봤는데

# hdparm -vi /dev/sr0

/dev/sr0:
 HDIO_DRIVE_CMD(identify) failed: Bad address
 IO_support    =  1 (32-bit)
 readonly      =  0 (off)
 readahead     = 256 (on)
 HDIO_GETGEO failed: Inappropriate ioctl for device

 Model=DVD-ROM UJDA775, FwRev=DA03, SerialNo=
 Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=yes, tPIO={min:180,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 *udma2 
 AdvancedPM=no
 Drive conforms to: ATA/ATAPI-5 T13 1321D revision 3:  ATA/ATAPI-1,2,3,4,5

 * signifies the current active mode

DMA가 이미 켜져 있는 것 같습니다.

그리고 장치 테스트는 다음을 제공합니다.

# hdparm -t /dev/sr0 

/dev/sr0:
 Timing buffered disk reads:    2 MB in  6.58 seconds = 311.10 kB/sec

# sudo hdparm -tT /dev/sr0 

/dev/sr0:
 Timing cached reads:     2 MB in  2.69 seconds = 760.96 kB/sec
 Timing buffered disk reads:  m  4 MB in  5.19 seconds = 789.09 kB/sec

CD-ROM 장치와 디스크는 유틸리티를 사용하여 Windows에서 매우 빠르게 복사할 수 있으므로 문제가 없습니다 UltraISO.

그럼 우분투에서 뭔가 제대로 구성되지 않은 것이 있는 것 같은데요, 그렇죠?

답변1

dd를 잘못 사용하고 있습니다.

dd의 블록 크기는 기본적으로 512바이트입니다. 하드 드라이브 섹터의 크기는 512바이트이므로 하드 드라이브에 허용되는 크기입니다(그렇지는 않지만 나중에 자세히 설명합니다). 그러나 CD-ROM의 섹터 크기는 2048~2352바이트입니다. 기본 블록 크기로 인해 드라이브는 섹터당 4~5개의 부분 읽기를 수행하게 되어 속도가 엄청나게 느려집니다.

고려해야 할 다른 사항은 액세스 타이밍과 드라이브 버퍼입니다. 긴 이야기를 짧게 만들려면 섹터별로 읽는 대신 큰 덩어리를 읽어야 합니다. 드라이브의 버퍼 크기가 얼마인지는 모르겠지만 일반적으로 32MB가 적절한 블록 크기입니다.

# dd if=/dev/sr0 of=./maverick.iso bs=32M

답변2

UDMA2에 있으므로 구성할 것이 없습니다. 그보다 더 간단할 수도 있습니다. dd 명령에 bs=2M을 사용해 보셨나요? (CD-ROM에 대한 최적의 크기를 찾기 위해 몇 가지 시도를 해야 할 수도 있습니다. 크기가 너무 커지면 CD 회전 속도가 느려집니다. dd는 중복된 i/o를 사용하지 않습니다.) 더 긴 읽기는 더 빨라집니다.

관련 정보