PartShield
Versión de prueba 0.1.0 · en desarrollo

Una copia no está hecha hasta que se ha restaurado.

PartShield copia tus sistemas Btrfs y, antes de decirte que todo ha ido bien, restaura la copia en un disco temporal, la monta y la compara con el original. Si algo no cuadra, lo dice.

El problema

Tres copias "correctas" que no se podían restaurar

Las herramientas de copia de discos suelen fiarse de que el programa que copia termine sin error. Con Btrfs y la característica BLOCK_GROUP_TREE, partclone anterior a 0.3.49 dejaba fuera un bloque esencial, el chunk root, y aun así salía con éxito.

Antes Confiar en el código de salida

  1. partclone copia la partición y termina con éxito.
  2. La herramienta marca la copia como correcta.
  3. El día que hace falta, la copia no monta.
$ mount /dev/sdb2 /mnt bad tree block 25460736, bytenr mismatch, have=0 ERROR: cannot read chunk root mount: can't read superblock on /dev/sdb2

PartShield Comprobar el resultado

  1. Lee las características del sistema de archivos y bloquea los modos que no las soportan.
  2. Copia y restaura la copia en un Btrfs temporal.
  3. Solo la da por válida si monta, pasa btrfs check y coincide con el original.
$ partshield backup /home --dest /mnt/usb [ok ] restaurar cadena recibida [ok ] estructura btrfs check sin errores [ok ] montaje solo lectura, Received UUID [ok ] comparacion metadatos y scrub [ok ] muestra hashes iguales al origen COPIA VÁLIDA: restaurada y comprobada

Desde btrfs-progs 7, mkfs.btrfs activa BLOCK_GROUP_TREE por defecto: cualquier Btrfs nuevo tiene esta característica.

Cómo funciona

Cinco comprobaciones antes de decir "válida"

Cada copia se restaura en un archivo temporal disperso sobre un dispositivo loop, nunca sobre tus discos. Si falta cualquiera de los cinco pasos, la copia no es válida.

  1. RestaurarLa cadena completa (copia base e incrementales), comprobando el hash de cada archivo.
  2. Estructurabtrfs check --readonly sobre la copia restaurada.
  3. MontajeSe monta en solo lectura y se comprueba el subvolumen recibido.
  4. ComparaciónTipos, tamaños, permisos, propietarios, enlaces y atributos, más btrfs scrub.
  5. MuestraHash del contenido de una muestra reproducible de archivos, o de todos.
✓ Válida: los cinco pasos superados ! Reducida: algún paso no se pudo hacer ✗ No válida: algún paso falló

Informe de cada copia

JSON y HTML junto a la copia, con los pasos, las características detectadas y cada comando ejecutado. Firma ed25519 opcional.

Detecta antes de copiar

Lee el superbloque y sus copias directamente, con verificación de checksum, y decide qué modos son seguros para esas características y ese kernel.

Muestra lo que hace

Cada herramienta externa (btrfs, mount, losetup…) se muestra antes de ejecutarse, para que puedas repetirla a mano.

Modos de copia

El modo adecuado para cada disco

PartShield elige según lo que detecta y te explica por qué descarta un modo.

ModoQué copiaCuándoEstado
sendSubvolúmenes con btrfs send, comprimidos con zstd. Incrementales y varios subvolúmenes (@, @home) en una copia.Por defecto. Restaurar en otro disco o tamaño.Disponible
rawEl dispositivo entero, sector a sector, al estilo de dd. Verificación bit a bit.Sistemas que no son Btrfs o con características no probadas.Disponible
disposiciónTabla de particiones, partición EFI y UUID del sistema de archivos.Para que un sistema restaurado vuelva a arrancar.Disponible
partcloneSolo los bloques usados de la partición.Clon idéntico. Se bloquea con partclone anterior a 0.3.50 o con características no probadas.Detección lista; copia en desarrollo

Descarga

Live USB de PartShield

Debian 13 "trixie" con el kernel firmado de Debian: arranca con Secure Boot activado, en UEFI y en BIOS. Incluye PartShield y herramientas de recuperación.

partshield-0.1.0-20261026-amd64.iso

788 MB · amd64 btrfs-progs 7.3 partclone 0.3.50 kernel 6.12 (Debian)

SHA-256: bb985c2817e2793ad25b8a3742e4109d882e266f24b3859b94728773a6785fad

sha256sum -c partshield-0.1.0-20261026-amd64.iso.sha256
sudo dd if=partshield-0.1.0-20261026-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync
Versión de prueba. Úsala para probar, no como única copia de datos importantes. dd borra el pendrive de destino: comprueba antes con lsblk que sdX es el pendrive. Todavía no hay interfaz gráfica: se usa desde la consola.

También incluye: ddrescue, testdisk y photorec, smartctl, nvme-cli, sgdisk, cryptsetup, LVM y firmware para wifi y gráficos.

Hoja de ruta

Dónde estamos

  • Motor de copiasDetección, modos send y raw, verificación en cinco pasos e informes firmados.
  • Live USBDebian 13 con Secure Boot. Probado en QEMU con BIOS, UEFI y Secure Boot; pruebas en equipos reales en curso.
  • Interfaz gráficaAsistente paso a paso y modo avanzado, que muestra cada comando antes de ejecutarlo.
  • Modo partcloneCopia por bloques usados, con la lista de características probadas.
  • Más sistemas de archivosext4, XFS y la partición EFI, con la misma verificación.

Preguntas

Preguntas frecuentes

¿Toca mis discos al verificar?

No. La restauración de prueba se hace en un archivo temporal disperso conectado como dispositivo loop. Tus discos solo se leen durante la copia y solo se escriben si tú pides restaurar sobre ellos.

¿Puedo copiar un disco montado?

En modo send, sí: trabaja sobre un snapshot de solo lectura. En modo raw, no: el origen debe estar desmontado o montado en solo lectura, porque una imagen de un disco que cambia mientras se lee no es coherente.

¿Y si el disco está fallando?

Primero conviene sacar una imagen con ddrescue (incluido en la ISO), que lee cada sector una sola vez, y después copiar esa imagen.

¿Funciona con Secure Boot?

Sí. La ISO usa el shim y el kernel firmados por Debian, así que arranca con Secure Boot activado sin tocar la BIOS.