dd를 사용한 복구가 시작되지 않습니다.

dd를 사용한 복구가 시작되지 않습니다.

현재 하드 드라이브에 오류가 발생하여 을(를) 사용했습니다 dd. 이미지를 새 하드 드라이브에 복원한 후에도 을(를) 사용하면 dd새 시스템이 부팅되지 않습니다. BIOS 초기화를 거친 다음 화면이 검게 변한 다음 재부팅하고 BIOS로 돌아갑니다.

기존 하드 드라이브 설정은 다음과 같습니다.

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   103426047    51200000   83  Linux
/dev/sda3       103426048   113666047     5120000   82  Linux swap / Solaris
/dev/sda4       113666048  1250263039   568298496    5  Extended
/dev/sda5       113668096   523268095   204800000   83  Linux
/dev/sda6       523270144   625670143    51200000   83  Linux
/dev/sda7       625672192  1250263039   312295424   83  Linux

/dev/sda1/boot

/dev/sda2/

이 두 파티션을 모두 편집 했습니다 dd.

/dev/sda7/home백업용으로 사용 됩니다 rdiff-backup.

내가 무엇을 놓쳤으며 어떻게 이를 수정할 수 있습니까?

편집 1:

fstab

UUID=80c4cde7-b697-46d5-a376-24a6d6a725af /                       ext4    defaults        1 1
UUID=c1967ecb-839c-45d1-bf5b-bba046af3892 /boot                   ext4    defaults        1 2
UUID=c18998dd-0e60-4945-999f-1296b6e69307 /home                   ext4    defaults        1 2
UUID=78d39426-74d4-4299-b3ba-c9ab27a60e17 /mnt/m                  ext4    defaults        1 2
UUID=53574e4d-8af4-4aeb-bcf5-c74c7bbe4d7c /mnt/p                  ext4    defaults        1 2
UUID=3902f59a-f7a8-4ab8-896d-93642a09f083 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

편집 2:

난 결국 dd그렇게 MBR됐어글리치 박사그의답변. 또한 표시된 대로 fstab새 파티션에 맞게 수동으로 수정해야 했습니다 .UUIDblkid

답변1

내가 아는 한, 새 HDD에 MBR(마스터 부트 레코드)이 없습니다. 이것이 GRUB가 나타나지 않고 시스템이 "OS를 찾을 수 없습니다!"라고 보고하는 이유입니다.

이전 MBR을 새 드라이브로 전송하려면 다음 방법을 확인하는 것이 좋습니다.http://www.cyberciti.biz/faq/howto-copy-mbr/

간단히 말해서, 위 소스에서 뻔뻔하게 훔친 다음 단계로 요약됩니다.

  • root@machine:~# dd if=/dev/sda of=/tmp/mbrsda.bak bs=446 count=1

기존 하드 드라이브의 이름이 "sda"라고 가정하면 부팅 섹터가 파일에 효과적으로 백업됩니다 /tmp/mbrsda.bak.

  • root@machine:~# dd if=/tmp/mbrsda.bak of=/dev/sdb bs=446 count=1

위에서 원본 소스에 대한 모든 변경 사항은 "bs" 값에 대한 것입니다. 왜냐하면 새 하드 드라이브 파티션 테이블이 이전 하드 드라이브 파티션 테이블과 다르다고 가정하고 있기 때문입니다. 백업도 해야 합니다.

이것이 귀하의 문제를 해결하는 데 도움이 되기를 바랍니다.

답변2

또한 부트로더를 복사해야 합니다(CD 등으로 부팅하고 다시 설치하지 않는 한). 첫 번째 파티션 이전의 모든 섹터를 복사하면 가능할 수도 있습니다. 하지만 나중에 파티션 테이블을 복원해야 할 수도 있습니다(또는 복사할 때 놓칠 수도 있음).

답변3

UEFI+GPT 파티션의 경우 BIOS 설정을 확인하고 다른 디스크에서 MBR 백업을 적용해 보았습니다(디스크 장치(/dev/sda 등)에서 백업/복원하는 경우).그러나 이 모든 것이 불필요한 것으로 판명되었습니다. 소스 시스템을 14개의 유사한 물리적 상자에 복사했고 전체 디스크를 "dd"한 후에 MBR만 복원하면 아무런 차이가 없었습니다. 이제 MBR의 GRUB2 코드에 뭔가가 포함되어 있어야 한다는 것을 이해합니다. 오래된 디스크에만 해당), Igrub을 다시 설치하면 됩니다:

  • grub 부팅 CD/USB 동글 을 찾아 UEFI modegrub 콘솔로 부팅합니다(라이브 시스템으로 부팅할 필요 없이 cgrub2 부팅 메뉴 화면을 누르기만 하면 됩니다. 참고: grub1/grub4dos 콘솔에서는 GPT 파티션을 볼 수 없습니다.)
  • 디스크를 조사하여 ls (hd<press tab>원본 grub.cfg 파일을 찾으십시오 . 예를 들어 내 위치를 지정 (hd0,gpt1)/boot/efi/grub.cfg하고 를 입력합니다 configfile (hd0,gpt1)/boot/efi/grub.cfg. 이제 원래 시스템을 시작했습니다.
  • 새 디스크에서 원래 시스템을 부팅한 후 .grub 을 실행하여 grub을 새 디스크의 MBR에 다시 설치하세요 sudo grub-install /dev/sda0. (일반적 /dev/sda0으로 디스크 코드가 다를 수 있으므로 확실하지 않은 경우 시스템이 어떤 디스크에 있는지 확인하십시오.)
  • 외부 부팅 장치를 제거하고 재부팅하면 이제 시스템이 부팅됩니다.

관련 정보