1 votos

¿Cómo puedo copiar una partición de una Imagen en una partición de un disco físico?

Finalmente tuve un usb de arranque tecla de trabajo con un windows 7 instale listo para ir, cuando me di cuenta de que una vez que la selección de Idioma se acercó, mi Macbook Pro del teclado y el trackpad ya no funcionaba y no pude seguir con la instalación.

Me decidí a configurar una instalación de VirtualBox en Windows 7 de 64 bits, instale el teclado y el trackpad de los controladores de Bootcamp de Apoyo paquete de Software y apagado de la máquina virtual.

Yo solía VBoxManage internalcommands converttoraw ... a girar el disco virtual en una .img . Para aquellos no familiarizados con virtualbox, crea una imagen completa del disco duro virtual como si se tratara de un disco duro físico, y funciona de la misma manera.

He utilizado fdisk para ver la imagen:

sh-3.2# fdisk WINDOWS7.img 
Disk: WINDOWS7.img  geometry: 2610/255/63 [41943040 sectors]
Signature: 0xAA55
     Starting       Ending
#: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
*1: 07    0  32  33 -   12 223  19 [      2048 -     204800] HPFS/QNX/AUX
2: 07   12 223  20 - 1023 254  63 [    206848 -   41734144] HPFS/QNX/AUX
3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
4: 00    0   0   0 -    0   0   0 [         0 -          0] unused

A continuación, utiliza el siguiente, en un intento de saltar el Sistema de partición Reservada y sólo tienes que copiar el windows partición de datos a la rebanada de mi Macintosh HD:

sh-3.2# dd if=WINDOWS7.img of=/dev/disk0s4 skip=206848 bs=65535

Me dejó con la siguiente:

sh-3.2# fdisk /dev/disk0
Disk: /dev/disk0    geometry: 60821/255/63 [977105060 sectors]
Signature: 0xAA55
         Starting       Ending
#: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
1: EE 1023 254  63 - 1023 254  63 [         1 -     409639] <Unknown ID>
2: AC 1023 254  63 - 1023 254  63 [    409640 -  684395032] <Unknown ID>
3: AB 1023 254  63 - 1023 254  63 [ 684804672 -    1269536] Darwin Boot 
4: 0B 1023 254  63 - 1023 254  63 [ 686074208 -  290768672] Win95 FAT-32

Lo que parece correcto, pero me deja con un Uninitialize-capaz de disco que no puede montar o acceso con la utilidad de disco, cuando hago clic en el monte, no pasa nada, incluso si trato mount -t ntfs /dev/disk0s4 /Volumes/Temp-Dir-Made-With-mkdir

disk utility

¿Cuál podría ser el problema? Estoy haciendo algo mal? Es esto imposible?

¿Rebanada 4 de disk0 no heredarán el sistema de ficheros de la partición escribí?

Gracias de antemano por cualquier visión!

Edit 1:

@David Es un MacbookPro11,3 que deben decir todo lo que necesita saber acerca de él. Tan lejos como bootcamp he descargado directamente a windows desde el siguiente Documento de Soporte de Apple kbDL1720

@klanomath (Comentario 1)Cierto, pero es una buena información para saber! Por curiosidad, ¿por qué es 65535 un mal tamaño de bloque? Yo pensaba que el tamaño de bloque de la especificación sólo tenía que ver con el número de bloques que fueron procesados y arrojados a la unidad/de la imagen en un momento, básicamente, permite a los DD más rápido y más memoria RAM (con la ley de los rendimientos decrecientes de la entrada en vigor en algún momento del curso). Solo estoy completamente equivocado en mi comprensión de la bs= parámetro?

@user3439894 pensaba en eso, no es necesario el MBR si estoy utilizando otro gestor de arranque, pero me hizo descuidar el Sistema de partición Reservada. El problema aquí es que ya tengo 4 particiones en el disco duro... se me olvida lo de la partición 0 es (no en frente de mi mac), la partición 1 es de Mac, la partición 2 es de mac de recuperación de la partición, la partición y la 3 es la que yo he hecho para windows. Tal vez voy sobre esta todo mal... Boot camp se ha convertido en la pesadilla, habría sido agradable si sólo tomó mi imagen y que el trabajo para mí, pero estoy divagando.

0voto

klanomath Puntos 19587

El comando adecuado a dd una parte de un archivo raw a una partición en tu caso es:

dd if=WINDOWS7.img of=/dev/disk0s4 skip=206848 bs=512 count=41527296

La bs en el dd comando puede ser interpretada como una artificial tamaño de bloque de la entrada y de la salida de "archivo". Histórica y razones técnicas, el tamaño de bloque por defecto de dd es de 512 Bytes.

La razón para utilizar 512 (o una apropiada entero^2 múltiplo/divisor) como bs es el tamaño de bloque de la imagen y la partición disk0s4 – que es de 512 o 4096.

El (lógico) tamaño de bloque de disk0 puede ser calculado (aun sin saber si fdisk funciona con 512 o 4096 Bytes internamente): 977105060 * 512 = 500 GB o 977105060 * 4096 = 4 TB. Un 4 TB SSD todavía no existe para el MacBook Pro, por tanto, el tamaño de bloque de 512 bytes. Lo mismo es válido para su archivo img.

Ahora usted puede tomar razones de velocidad en cuenta: el más grande es el bs es, el más rápido de la imagen se copiará.

Así que uno válido comando dd en su caso puede ser:

dd if=WINDOWS7.img of=/dev/disk0s4 skip=X bs=2 count=Y

Desde bs es de 2 Bytes sólo, tienes que modificar skip (salta X bloques à bs de si) y contar (Y bloques à bs son "escritos"). Desde salta se 206848*512, X es 206848*512/2 y recuento de 41527296*512, Y es 41527296*512/2 y el comando anterior es:

dd if=WINDOWS7.img of=/dev/disk0s4 skip=52953088 bs=2 count=10630987776

Una prueba rápida revela:

dd if=/dev/zero of=~/Desktop/output.file bs=1 count=1048576
1048576 bytes transferred in 1.593527 secs (658022 bytes/sec)
dd if=/dev/zero of=~/Desktop/output.file bs=2 count=524288
1048576 bytes transferred in 0.800444 secs (1309993 bytes/sec)
dd if=/dev/zero of=~/Desktop/output.file bs=4 count=262144
1048576 bytes transferred in 0.384188 secs (2729331 bytes/sec)
dd if=/dev/zero of=~/Desktop/output.file bs=1024 count=1024
1048576 bytes transferred in 0.001932 secs (542700705 bytes/sec)

La mayor bs es, el más rápido de la dd comando es ejecutado.

BTW: El mayor bs trabajando para usted es 1048576 (máximo común divisor) porque 105906176(=saltar-tamaño en Bytes)/1048576=101 (y 21261975552(=count-tamaño en Bytes)/1048576=20277). 101 es primo!


Hasta ahora, todos los bs valores son múltiplos de 2. Si bs es desigual, esto puede chocar con el (bloque)tamaños de si/de. Al menos en tu caso si y de incluso han Byte tamaños debido a que son múltiplos de 512.

Ahora debería ser obvio por qué el uso de bs=65535 falla: saltar y contar los números de bloque están determinados por bs y no por el natural tamaño de bloque de la imagen o de la partición. Un comando adecuado puede ser

dd if=WINDOWS7.img of=/dev/disk0s4 skip=1616.024... bs=65535 count=324436.950...

Al menos para mí esto falla porque 1616.024... es ilegal valor numérico. Por lo tanto, podemos asumir que todos los números tienen que ser valores enteros!

Un bs de 65535 sólo funciona si el tamaño total de la si/de y cualquier saltar o busque "límites" son múltiplos de 65535 Bytes.

Si su dd comando no contiene ningún saltar/buscar/recuento parte puede que el uso arbitrario de bs tamaños.


A pesar de la dd comando en el comienzo de la respuesta va a trabajar, usted probablemente no será capaz de iniciar el Windows To Go (o Windows Installer Listo Para Ir?) la partición. El MBR de disk0 no contienen la necesaria entrada de arranque.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X