Usando o dd para copiar os resultados do MBR nas tabelas de partição, dobre o tamanho

0

Eu tenho um laptop com HD interno de 500 GB e um HD USB externo de 500 GB.

Eu inicializo com um live cd do linux por cima da minha máquina Windows 8.1.

Meu objetivo é clonar o MBR, a partição 1 (350 MB) e a partição 2 (40 GB)

O comando que eu usarei para clonar o / dev / sda MBR é

dd if=/dev/sda of=/dev/sdb bs=512 count=1

Abaixo está a aparência da nossa / dev / sda via 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

Abaixo está a aparência da nossa unidade alvo

Antes de executar 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

Depois de executar 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

Podemos ver que o tamanho do nosso bloco de destino para as duas partições é o dobro das partições do tamanho do bloco de origem depois de executar o dd cmd.

O que pode causar isso?

Deixando isso de lado, continuei com minha tentativa dd de clonar meu HD com

dd if=/dev/sda1 of=/dev/sdb1 bs=4096
dd if=/dev/sda2 of=/dev/sdb2 bs=4096

No entanto, isto não consegue inicializar - Eu estou querendo saber se é por causa dos dados de tamanho duplo ter algum outro efeito ruim.

O BIOS mostra o HD externo como uma opção de boot com o mesmo nome do HD interno, mas ele trava depois de selecioná-lo como o disco de inicialização (nenhum erro retornado)

    
por Jimbo'sGun's 16.07.2016 / 18:59

1 resposta

2

O comando dd copiou exatamente 512 bytes conforme solicitado.

Sua principal fonte de confusão vem do fato de que /dev/sda tem um tamanho de setor lógico de 512 bytes, enquanto /dev/sdb setores são 1024 bytes.

As partições parecem idênticas.

O MBR não afeta o tamanho usado pelos arquivos nas partições. O fato de ele não inicializar é provavelmente muito mais refletido pelo fato de que o MBR não está adaptado à configuração da unidade.

Para torná-lo inicializável, monte-o, monte os pontos de montagem necessários, como /dev/ , /proc , /sys , e use o chroot para executar o gerenciador de inicialização.

Atualização: Como apontado por @sourcejedi, a tabela de partição está corrompida em /dev/sdb . Este é obviamente o resultado da cópia do MBR que contém as informações da partição.

Se você não alterou nada no sistema de arquivos e conhece a configuração original, que eu suspeito que corresponda à outra unidade, simplesmente exclua e recrie as partições para corrigir isso.

    
por 16.07.2016 / 19:17