Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia |
linux:bash:dd [13/02/2021 15:37] – mate | linux:bash:dd [15/07/2025 10:44] (actual) – mate |
---|
=== MBR | === MBR |
<callout type="info" icon="true" title="Advertencia">Restaurar el MBR con una tabla de particiones diferente hará que sus datos sean ilegibles y casi imposible de recuperar.</callout> | <callout type="info" icon="true" title="Advertencia">Restaurar el MBR con una tabla de particiones diferente hará que sus datos sean ilegibles y casi imposible de recuperar.</callout> |
* ''dd if=/dev/sda of=/boot/mbr-backup bs=512 count=1'': copia del MBR | * copia del MBR<code bash>dd if=/dev/sda of=/boot/mbr-backup bs=512 count=1</code> |
* ''dd if=/root/mbr-backup of=/dev/sda bs=512 count=1'': restauración del MBR | * restauración del MBR<code bash>dd if=/root/mbr-backup of=/dev/sda bs=512 count=1</code> |
<callout type="info" icon="true" title="Advertencia">Este comando inutilizará el sistema, impidiento su arraque. Habrá que entrar en modo rescue y reinstalar el GRUB (si lo tienes)</callout> | <callout type="info" icon="true" title="Advertencia">Este comando inutilizará el sistema, impidiento su arraque. Habrá que entrar en modo rescue y reinstalar el GRUB (si lo tienes)</callout> |
* ''dd if=/dev/zero of=/dev/sda bs=446 count=1'' | * <code bash>dd if=/dev/zero of=/dev/sda bs=446 count=1</code> |
| |
| === redimensionando |
| - copiar las particiones de la tarjeta de origen<code bash>dd bs=1m status=progress if=/dev/sdXX of=./file1.img</code> |
| - redimensionar la partición de datos con:<code bash>sudo e2fsck ./file1.img |
| sudo resize2fs ./file1.img 14G</code> |
| - crear con ''fdisk'' las particiones en la tarjeta destino |
| - copiar con ''dd'' |
| - montar la partición de datos por si hubiese que cambiar algún dato en **/etc/fstab** |
| |
| /via: [[https://superuser.com/questions/1525980/how-to-copy-a-file-system-to-a-smaller-device]] |
=== reset dispositivo | === reset dispositivo |
* ''dd if=/dev/urandom of=/dev/sda bs=4k'': llena el disco de datos aleatorios. | * llena el disco de datos aleatorios.<code bash>dd if=/dev/urandom of=/dev/sda bs=4k</code> |
* ''dd if=/dev/zero of=/dev/sda bs=4k'': llena el disco de 0. | * llena el disco de 0.<code bash>dd if=/dev/zero of=/dev/sda bs=4k</code> |
* ''dd if=/dev/sda | hexdump -C | grep [^00] a cero'': verifica que el disco esté a 0 | * verifica que el disco esté a 0<code bash>dd if=/dev/sda | hexdump -C | grep [^00] a cero</code> |
* Borra GPT del disco. Como GPT escribe los datos al principio y al final del disco, después de borrar desde el principio, tenemos que encontrar el número de sectores (el segundo comando), y entonces borrar los 20 últimos sectores:<code bash>dd if=/dev/zero of=/dev/sda bs=512 count=2 | * Borra GPT del disco. Como GPT escribe los datos al principio y al final del disco, después de borrar desde el principio, tenemos que encontrar el número de sectores (el segundo comando), y entonces borrar los 20 últimos sectores:<code bash>dd if=/dev/zero of=/dev/sda bs=512 count=2 |
fdisk -s /dev/sda # averiguar número de sectores | fdisk -s /dev/sda # averiguar número de sectores |
| |
=== ISO | === ISO |
* ''dd if=/dev/disk2s1 of=/Users/admin/imagen.iso'': graba disco a imagen ISO | * <code bash https://www.cyberciti.biz/tips/linux-creating-cd-rom-iso-image.html>blocks=$(isosize -d 2048 /dev/sr0) |
* ''dd bs=4M if=image.iso of=/dev/sdxx'': graba una imagen ISO a disco (USB) | sudo dd if=/dev/sr0 of=/tmp/output.iso bs=2048 count=$blocks status=progress |
| sudo dd if=/path/to/my/iso.img of=/dev/sdd bs=4096 conv=noerror</code> |
| * graba disco a imagen ISO <code bash>dd if=/dev/disk2s1 of=/Users/admin/imagen.iso</code> |
| * graba una imagen ISO a disco (USB)<code bash>dd bs=4M if=image.iso of=/dev/sdxx</code> |
| |
=== copias | === copias |
* ''dd if=/dev/sdb2 ibs=4096 | gzip > partition.image.gz conv=noerror'': Crea una imagen gzip de la segunda partición del segundo disco | * Crea una imagen gzip de la segunda partición del segundo disco <code bash>dd if=/dev/sdb2 ibs=4096 | gzip > partition.image.gz conv=noerror</code> |
| |
=== progress | === progress |
* ''sudo dd status=progress if=... of=...'': muestra estadísticas de transferencia (solo GNU Coreutils 8.24+) | * muestra estadísticas de transferencia (solo GNU Coreutils 8.24+) <code bash>sudo dd status=progress if=... of=...</code> |
* ''sudo dd if=... | pv <-s size> | sudo dd of=...'': usar utilidad PV para progreso (y si le pasas el "size", hace cálculo de restante) | * usar utilidad PV para progreso (y si le pasas el "size", hace cálculo de restante) <code bash>sudo dd if=... | pv <-s size> | sudo dd of=...</code> |
* [[http://askubuntu.com/questions/215505/how-do-you-monitor-the-progress-of-dd]] | * [[http://askubuntu.com/questions/215505/how-do-you-monitor-the-progress-of-dd]] |