¿Qué es un archivo dd?

Escriba archivos directamente en el disco duro (o partición especificada)

El comando dd es un comando común para leer y escribir discos en LINUX.

Función: copia el archivo de entrada especificado al archivo de salida especificado y el formato se puede convertir durante el proceso de copia. Utilice este comando para lograr la función del comando diskcopy de DOS. Primero use el comando dd para escribir los datos del disquete en el archivo host en el disco duro y luego escriba el archivo host en el segundo disquete para completar la función de copia del disco. Cabe señalar que el archivo de hosts en el disco duro debe eliminarse usando el comando rm. El sistema utiliza archivos de entrada estándar y archivos de salida estándar de forma predeterminada.

Sintaxis: dd [opciones]

if = archivo de entrada (o nombre del dispositivo).

of = archivo de salida (o nombre del dispositivo).

ibs = bytes El número de bytes leídos a la vez, es decir, el número de bytes leídos en el búfer.

skip = blocks omite la lectura de los bloques ibs*blocks al principio del búfer.

obs = bytes El número de bytes escritos cada vez, es decir, el número de bytes escritos en el búfer.

bs = bytes establece el número de bytes que se leerán/escribirán en el búfer al mismo tiempo (igual a configurar ibs y obs).

cbs = byte Convierte bytes a la vez.

count = blocks copia solo los bloques del bloque de entrada.

conv = ASCII Convierte la codificación EBCDIC a codificación ASCII.

conv = ebcdic convierte el código ASCIL en código EBCDIC.

conv = ibm Convierte la codificación ASCIL a codificación EBCDIC alternativa.

conv = block Convierte bits modificados en caracteres fijos.

conv = ublock convierte bits fijos en bits cambiantes.

conv=ucase convierte letras de minúsculas a mayúsculas.

conv = lcase convierte letras de mayúsculas a minúsculas.

conv = notrunc no trunca el archivo de salida.

conv = swab intercambia cada par de bytes de entrada.

conv=noerror no detiene el procesamiento cuando ocurre un error.

conv = sync cambia el tamaño de cada registro de entrada al tamaño de ibs (relleno con NUL).

Ejemplo 1: Para copiar el contenido de un disquete a otro, utilice /tmp como espacio de almacenamiento temporal. Inserte el disco de origen en la unidad e ingrese el siguiente comando:

$ dd if = /dev/fd0 of = /tmp/tmpfile

Una vez completada la copia, elimine el disco de origen disco de la unidad, inserte el disco de destino e ingrese el comando:

$ dd if = /tmp/tmpfile of = /dev/fd0

La copia del disquete se completa. p> Una vez completada la copia del disquete, se debe eliminar el archivo temporal:

$ rm /tmp/tmpfile

Ejemplo 2: escriba el archivo net.i en el disquete y establezca el número del búfer de lectura/escritura.

(Nota: El contenido del disquete se sobrescribirá por completo)

$ dd if=net.i of=/dev/fd0 bs=16384

Ejemplo 3: Copia el archivo sfile al archivo dfile.

$ dd if=sfile of=dfile

dd comando para copiar el disco duro

-------------- --- ----------------------------------------------- --- -------------

1) Asegúrese de que la geometría de los discos original y de destino sea la misma

2) Conviértase en superusuario

3) Escriba touch /reconfigure en el sistema con el disco de control principal. El sistema con el disco principal necesita el archivo /reconfigure para encontrar el disco de copia durante el reinicio.

4) Escriba init. 0 para apagar el sistema

5) Conecte el disco copiado al sistema e inicie

6) Escriba boot en el indicador OK

7) Escriba dd if=/dev/dsk /device-name of=/dev/dsk/device-name bs=blocksize (el archivo de entrada si es el dispositivo de disco principal y el archivo de entrada es el dispositivo de disco de copia)

8) Ingrese fsck /dev/rdsk/ nombre-dispositivo (Detectar nuevo sistema de archivos)

9) Ingrese mount /dev/rdsk/nombre-dispositivo /mnt para cargar el sistema de archivos raíz de el disco copiado.

10) Edite el archivo /etc/vfstab en el disco copiado para que apunte al nombre correcto del dispositivo.

11) Escriba umount/mnt para desmontar el sistema de archivos raíz del disco copiado.

12) Escriba init 0 para apagar el sistema.

13) Escriba boot diskN -s para iniciar el disco copiado en modo de usuario único.

14) Ingrese sys-uconfig para restaurar la configuración del disco copiado. El sistema se apagará después de restaurar la configuración del disco.

15) Ingrese el disco de arranqueN para comenzar a copiar el disco.

16) Proporcionar información relevante del sistema. (Nombre de host Zona horaria IP...)

17) El sistema está completo, es decir, inicie sesión como superusuario para verificar la información del sistema.

Ejemplo:

#dd if=/dev/dsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 bs=100k

#fsck /dev/rdsk /c0t1d0s2

#mount /dev/rdsk/c0t1d0s2 / mnt

#cd /mnt/etc

#vi /etc/vfstab

#cd /; umount /mnt

#init 0

OK disco de arranque2 -s

#sys-unconfig

OK disco de arranque2 -s