He estado tratando de hacer que CUDA funcione en mi sistema y en el proceso de jugar con los controladores de nvidia he roto ubuntu tan mal que he tenido que reformatear la partición de mi disco varias veces. Ahora he sido golpeado con ese palo tantas veces que estoy tratando de hacer una copia de seguridad de mi partición una vez que he instalado todas mis herramientas y programas y esas cosas, usando dd (según lo recomendado por un amigo).
Sin embargo, cuando corrí
sudo dd if=/dev/sda4 of=~/backup.img
Eventualmente recibí un error de que mi unidad se quedó sin espacio. Esto fue extraño para mí, ya que la partición es bastante grande y solo tengo una instalación nueva de ubuntu junto con algunos (pequeños) programas.
Supuse que lo que podría estar pasando es que intentaba escribir una copia de lo que ya había escrito de forma recursiva, así que intenté escribir el archivo directamente en otra partición:
sudo dd if=/dev/sda4 of=/media/Ye\ Olde\ Data/ubuntu\ reinstall\ backup/backup.img
Pero esto tomó una eternidad y aborté el proceso una vez que el archivo alcanzó un tamaño que estaba bastante seguro de que era demasiado grande para contener solo los datos que quería.
¿Qué está pasando? ¿Es que /media tiene montadas las otras particiones y, por lo tanto, trata a las otras particiones como parte de /dev/sda4? ¿Es que dd copia la partición completa byte por byte, ignorando qué bytes realmente tienen archivos?
Y en cualquier caso, ¿cómo puedo hacer lo que estoy tratando de hacer correctamente?
Ah, y aquí está la información de mi disco, en caso de que sea importante:
sudo sfdisk -l /dev/sda
Disk /dev/sda: 62260 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 12- 13- 102400 7 HPFS/NTFS/exFAT
/dev/sda2 12+ 14602- 14590- 117187500 7 HPFS/NTFS/exFAT
/dev/sda3 29192+ 62260- 33069- 265622493+ 5 Extended
/dev/sda4 14602+ 29191- 14590- 117193728 83 Linux
/dev/sda5 61228+ 62260- 1032- 8287232 82 Linux swap / Solaris
/dev/sda6 29192+ 61227 32036- 257329138+ 7 HPFS/NTFS/exFAT
Respuesta aceptada:
Si copia una partición con dd
, el archivo de salida será tan grande como la partición. dd
hace una copia física del disco, no tiene conocimiento de espacios en blanco o usados.
Sin embargo, si comprime el archivo de resultados, ahorrará mucho espacio, dado que el espacio en blanco se comprimirá muy bien (cuidado, esto va a ser computacionalmente muy pesado). Incluso puedes comprimir la salida de dd
sobre la marcha, con algo en la línea de dd if=/dev/sdaX | gzip -c > compressed_file.gz
.
muy importante:
Además, no puedes (nunca) hacer un dd
en una partición en vivo (montada)
, los datos registrados serán totalmente inconsistentes y
absolutamente inútiles para una copia de seguridad. Piénselo:los bloques de datos se
asignan, mueven y eliminan continuamente; es como tomar una foto
con un tiempo de exposición prolongado a un objetivo en movimiento.
Para copiar la partición con dd
debe arrancar desde uno diferente:
USB en vivo o lo que sea.
¿Qué haría para resolver el problema en cuestión? (Aviso, solo instrucciones genéricas porque necesita saber lo que está haciendo)
Relacionado:¿Varias cuentas de Dropbox en la misma computadora?Primera opción compre Norton Ghost o explore las opciones de código abierto:partimage y clonezilla (nunca lo probé).
Segunda opción hazlo manualmente:
-
cree una partición adicional para las copias de seguridad, llámela /dev/sdX (o use una partición de datos común, lo que sea).
-
para respaldar:
- arranque con USB en vivo
- montar la partición raíz real en /real
- montar la partición extra en /extra
- haga un tar grande, en la línea de
(cd /real && tar cvf /extra/mybck.tar.gz)
-
para restaurar
- arranque con USB en vivo
- montar la partición raíz real en /real
- montar la partición extra en /extra
- restaurar, en la línea de
(cd /real && tar xvpf /extra/mybck.tar.gz)
, cuidado con elp
opción para conservar los metadatos - chroot en /real
- actualice grub o el gestor de arranque que está utilizando
Puedes sustituir tar
con su archivador preferido, solo asegúrese de que respetará la propiedad/modo de los archivos. rsync
vale la pena explorar.