wiki.archlinux.org에서 제안한대로 동기화 옵션을 추가해야합니까?
conv=noerror
옵션 을 사용하려는 경우 옵션을 더 잘 사용 conv=sync
했거나 쓸모없는 백업으로 끝날 수 있습니다.
Linux 매뉴얼 페이지 당
Each CONV symbol may be:
...
sync
pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs
패딩을 추가 할 수있는이 옵션은 noerror
또는 "읽기 오류 후 계속"옵션을 지정할 때 필요 합니다. 디스크 컨트롤러는 하드 (즉, 복구 불가능한) 읽기 오류가 발생할 때 입력 버퍼에 섹터 데이터를 제공하지 않습니다. dd 가 이러한 오류로 정상적으로 종료 되면 (정상적인 것처럼) 데이터 부족은 문제가되지 않습니다.
그러나 "읽기 오류 후 계속"이 지정되면 데이터 부족이 문제입니다. 읽을 수없는 섹터 (들)를 설명하기 위해 입력 버퍼가 채워지지 않으면, 기록 된 후속 데이터는 기록되어야하는 적절한 섹터로부터 오프셋 될 것이다. 또는 후속 데이터가 오류에 해당하는 대상 섹터를 건너 뛰거나 (또는 해당 섹터를 탐색 ( dd parlance) 한 경우) 해당 건너 뛴 섹터의 가비지 데이터는 원래 데이터의 사본으로 처리됩니다.
dd 를 사용하여 정수 시퀀스 번호가있는 블록을 복사하는 경우 누락 된 블록을 감지하거나 설명하기 위해 패딩이 필요하지 않을 수 있습니다. 원시 디스크 섹터는 이러한 통합 시퀀스 번호를 갖는 것으로 가정 할 수 없으며 복사 된 파일 시스템의 무결성을 유지하기 위해 패딩이 필요합니다.
dd 에는 두 가지 sync
옵션이 있습니다 .
하나는 다른 하나는 입니다 . 그들은 다른 의미를 가지고 있습니다.
conv=sync
iflag=sync
속도를 최대화하기 위해 bs = 16384kB를 더 큰 숫자가 아닌 디스크 캐시 크기로 설정해야합니까?
당신이 말하는 "더 큰 숫자"는 무엇입니까?
bs
, 블록 크기, 매개 변수는 캐시 크기와는 아무 상관이 없다 (나는 어느 당신이 언급하고 캐시 모르겠어요 비록합니다.)
도 잠글 훨씬 DMAable 메모리를 사용할 수 없을 수 있으므로 16메가바이트는, 아마도 과잉이다 . 이 블록 크기를 변화에 대한 몇 가지 벤치 마크 테스트가 있으며, 같은 내가 본 것, 이 하나 , 512킬로바이트에 대해 것 같다 (또는 적어도 더 이상) 반환을, 감소의 크기가 나의 의심을 확인합니다.
bs
HDD를 복사 할 때 사용되는 클래식 값 은 트랙 크기 (바이트) (또는 num_of_sectors_per_track * 512 바이트)였습니다. 그러나 현대 HDD는 존 비트 기록을 사용하고 면적 밀도를 변화시키기 때문에 "트랙 당 섹터 수"는 고정되어 있지 않습니다. 최신 드라이브에서 "트랙 당 63 개 섹터"에 대해 일반적으로 게시 된 사양은 수치상의 편의에 지나지 않습니다.
bs=
IDE HDD에 어떤 번호 가 더 좋은지 알려주시겠습니까 ? 10000k? 20000k? 또는 512의 배수 (섹터 크기)가 더 좋을까요?