dd로 HDD를 종료한 후 복원할 수 있나요?

dd로 HDD를 종료한 후 복원할 수 있나요?

상황: 오래되고 사용하지 않는 노트북을 시댁에 선물하고 싶은데 Windows에서 하드 드라이브가 곧 고장나서 교체해야 한다고 계속 불평합니다. 하지만 안타깝게도 더 이상 Windows 7 제품 키가 없습니다. OEM일 수도 있지만 스티커가 벗겨지고 있습니다.

내가 시도한 것: 고장난 드라이브도 500GB WD인 예비 500GB Toshiba 드라이브가 있습니다. 그래서 USB 드라이브에서 Ubuntu를 꺼내고 예비 드라이브를 다른 USB HDD 상자에 넣고 dd를 시작했습니다.

깊게 생각하지 않아서 물리적 드라이브를 복사하기 시작했습니다 . 복사하는 /dev/sdb/dev/sdc약 24시간이 걸렸지만 이전 드라이브에 불량 섹터가 몇 개 있었기 때문이라고 생각했습니다.

그 이후로 내 백업 드라이브는 원래 Windows가 포함된 드라이브보다 훨씬 더 생명력이 없어 보입니다. 시작할 수도 없고 읽을 수도 없으며 fdisk로 관리할 수도 없습니다. 첫 번째 섹터를 MBR 및 파티션 테이블로 교체하는 것은 디스크의 물리적 아키텍처에 대한 정보를 포함할 수 있으므로 치명적인 실수라고 생각하기 시작했습니다.

  1. 이 가정이 맞나요?

디스크에 일부 데이터를 추가하라는 단계별 지침에 따라 디스크를 복구할 수 있는 방법을 찾으려고 합니다. 숫자가 클 때마다 항상 입력/출력 오류로 인해 실패합니다. 그러나 MBR을 복구하려고 시도했을 때 작동하고 오류가 발생하지 않았습니다.

  1. 이 문제가 어떤 식으로든 해결될 수 있다고 생각하시나요? 내 말이 맞다면 MBR을 다시 쓰면 512바이트가 아닌 440바이트만 복사됩니다. 나머지 72바이트에는 MBR과 - 의심스럽습니다. 제가 틀렸다면 죄송합니다 - 디스크에 대한 일부 정보가 있습니다.

이제 fdisk는 지금은 없어진 예비 드라이브에 대해 다음과 같이 말합니다.

255 heads, 63 sectors/track, 60801 cylinders, total 976773120 sectors
  1. 이것이 내 Toshiba HDD에 유효하고 죽어가는 WD에서 복사한 것이 아닌지 어떻게 확인합니까?

  2. 좋은 해결책은 드라이브를 미리 파티션하고 저장하려는 각 파티션에 대해 별도로 dd를 사용하는 것입니다.

편집: Ubuntu의 fdisk는 완벽하게 작동하는 것 같고 파티션을 보고 편집하고 저장할 수 있지만 디스크가 여전히 작동하지 않습니다. 디스크 구조 불일치가 점점 더 의심되고 있습니다.

답변1

질문 1: 당신의 가정은 틀렸습니다. MBR에는 "디스크의 물리적 아키텍처에 대한 정보"가 포함되어 있지 않습니다.

질문 2: fdisk또는 parted기타 디스크 파티셔닝 유틸리티를 사용하세요. 디스크 사양과 비교하여 결과를 확인합니다.

질문 3: 아니요, 전체 디스크 이미지를 기존 디스크에서 "새" 디스크로 복사하는 것이 더 좋습니다.

답변2

(976773120 * 512바이트 섹터) / 1000b / 1000kb / 1000mb = 500.10783744GB. 그러나 섹터 번호는 디스크의 데이터가 아닌 ATA에서 가져옵니다.

공칭 GB가 동일하더라도 HDD에는 일반적으로 동일한 수의 섹터가 없으므로 일부 오류가 발생할 수 있습니다.

MBR은 512바이트이므로 440바이트에서 멈추면 아무 것도 작동하지 않습니다. 파티션 데이터를 건드리지 않고 부트로더를 복사하는 방법에 대한 가이드에서 이 번호(실제로는 446)를 얻었을 가능성이 높습니다. 실제로 파티션을 제외한 모든 것을 복사했습니다.

500GB가 넘는 작은 블록 크기를 사용하면 복사하는 데 시간이 오래 걸립니다. 하지만 여기서는 dd를 사용하지 않는 것이 좋습니다.

이를 위해 다음과 같이 fdisk 및 partclone을 사용해야 합니다.

파티션이 복제되었을 수 있으며 파티션 테이블이 손상되었기 때문에 파티션이 표시되지 않았을 수 있습니다. (귀하의 질문만으로는 무슨 일이 일어나고 있는지 알 수 없습니다.) GPT 디스크가 있을 수도 있습니다. 두 경우 모두 먼저 이것을 시도해 보십시오.

이제부터는 /dev/disk/by-id/가 먼저 사용됩니다. 하지만 나는 당신이 /dev/sdb에서 /dev/sdc로 가고 싶다고 가정합니다.

  • fdisk /dev/sdb
  • P를 누르세요
  • 파티션 스타일은 MBR 또는 GPT입니다. GPT가 중지되고 문제가 변경되면 GPT 디스크가 있음을 나타냅니다.
  • 또한 바이트 수에 주의하십시오.
  • 복사하기 전에 V를 누르고 오류가 있는지 확인하세요.
  • Q를 누르세요
  • fdisk /dev/sdb
  • P를 누르세요
  • 바이트에 주의하세요. 바이트 수가 더 많거나 같지 않으면 무언가를 축소하지 않는 한 문제가 발생할 것입니다.
  • Q를 누르세요

이제 MBR을 복사합니다.

dd if=/dev/sdb of=/dev/sdc bs=512 개수=1

이는 512바이트 블록을 sdb에서 sdc로 복사합니다.

그럼 해

부분 프로브

이제 파티션을 마운트해 보십시오. 이 시점에서 작동하지 않으면 계속해서 Partclone을 사용하여 다시 복사하세요. 다음은 가정된 창이 /dev/sdb1에 있는 예입니다. /dev/sdc1로 이동하세요.

  • Partclone.ntfs -b /dev/sdb1 /dev/sdc1

관련 정보