저는 500GB 내장 하드 드라이브와 500GB 외장 USB 하드 드라이브를 갖춘 노트북을 가지고 있습니다.
Windows 8.1 시스템에서 Linux Live CD로 부팅하고 있습니다.
내 목표는 MBR, 파티션 1(350mb) 및 파티션 2(40GB)를 복제하는 것입니다.
복제에 사용할 명령/dev/sda마스터 부트 레코드는 다음과 같습니다.
dd if=/dev/sda of=/dev/sdb bs=512 count=1
우리의 소스는 다음과 같습니다/dev/sda통과한 것 같아fdisk -l
Disk /dev/sda: 465.9 GiB, 500277790720 bytes, 977105060 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xb77d45d7
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 718847 358400 7 HPFS/NTFS/exFAT
/dev/sda2 718848 81922047 40601600 7 HPFS/NTFS/exFAT
대상 드라이브의 모습은 다음과 같습니다.
dd
cmd를 실행하기 전에
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 488386584 sectors
Units: sectors of 1 * 1024 = 1024 bytes
Sector size (logical/physical): 1024 bytes / 1024 bytes
I/O size (minimum/optimal): 1024 bytes / 1024 bytes
Disklabel type: dos
Disk identifier: 0xb77d45d7
dd
cmd 실행 후
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 488386584 sectors
Units: sectors of 1 * 1024 = 1024 bytes
Sector size (logical/physical): 1024 bytes / 1024 bytes
I/O size (minimum/optimal): 1024 bytes / 1024 bytes
Disklabel type: dos
Disk identifier: 0xb77d45d7
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 718847 716800 7 HPFS/NTFS/exFAT
/dev/sdb2 718848 81922047 81203200 7 HPFS/NTFS/exFAT
cmd를 실행한 후 두 파티션의 대상 블록 크기가 소스 블록 크기 파티션의 두 배임을 확인할 수 있습니다 dd
.
이 문제의 원인은 무엇입니까?
그 질문을 제쳐두고, 계속해서 dd
하드 드라이브를 복제 해 보았습니다.
dd if=/dev/sda1 of=/dev/sdb1 bs=4096
dd if=/dev/sda2 of=/dev/sdb2 bs=4096
그러나 부팅에 실패합니다. 데이터 크기가 두 배로 늘어나서 다른 바람직하지 않은 영향이 있는지 궁금합니다.
BIOS는 외장 하드 드라이브를 내장 하드 드라이브와 이름이 같은 부팅 옵션으로 표시하지만 부팅 디스크로 선택한 후에는 작동이 멈춥니다(오류가 반환되지 않음)
답변1
이 dd
명령은 요청된 대로 정확히 512바이트를 복사합니다.
혼동의 주요 원인은 /dev/sda
논리 섹터 크기가 512바이트이고 /dev/sdb
섹터 크기가 1024바이트라는 것입니다.
그렇지 않으면 파티션이 동일하게 보입니다.
MBR
또한 파티션의 파일이 사용하는 크기에는 영향을 주지 않습니다 . 부팅되지 않는다는 사실은 MBR
해당 드라이브에 적합하지 않은 구성 을 반영한 것일 수 있습니다 .
부팅 가능하게 만들려면 설치하고 필요한 마운트 지점(예 /dev/
: /proc
, , /sys
)을 마운트한 다음 chroot를 사용하여 부트로더를 실행합니다.
업데이트: @sourcejedi가 지적했듯이 파티션 테이블이 /dev/sdb
. 이는 분명히 MBR
파티션 정보의 복사본을 보관한 결과입니다.
파일 시스템에서 아무것도 변경하지 않았고 원래 구성(다른 드라이브와 일치하는 것으로 의심됨)을 알고 있는 경우 파티션을 삭제하고 다시 생성하면 문제가 해결됩니다.