He tenido un pi configurado y funcionando bien por un tiempo (RPi - 1). Quería crear una imagen de RPi - 1 para poder cargar una copia exacta en mi segundo pi (RPi - 2). La tarjeta SD en RPi - 1 es de 4 GB (solo se usa aproximadamente la mitad) y la tarjeta SD en RPi - 2 también es de 4 GB. Utilizo Win32 Disk Imager para crear una copia de RPi - 1, con éxito. Luego formateé la tarjeta SD para RPi - 2 con SD Formatter 4.0 (en Windows 7). Sin embargo, cuando uso Win32 Disk Imager para escribir la imagen RPi - 1 en la tarjeta SD de RPi - 2 obtengo: "No hay suficiente espacio en el disco: Tamaño 7744512 Disponible: 7626752 sectores Tamaño del sector: 512"
Sé que no es una mala imagen porque puedo formatear la tarjeta SD para RPi - 1 y escribir la imagen sin problemas.
¿Que me estoy perdiendo aqui? ¿No son todas las tarjetas SD de 4GB del mismo tamaño o varían ligeramente? ¿Hay algo que deba hacer con una nueva tarjeta SD que me haya perdido?
(RPi - 1 tarjeta SD = Sandisk 4GB // RPi - 2 tarjeta SD = Kingston 4GB)
Respuestas:
De hecho, no todas las tarjetas SD tienen el mismo tamaño exacto. Tendría que reducir la partición para que encaje en la SD más pequeña. Tuve un problema similar yo mismo. Lo que hice fue tener una SD separada con (en mi caso) Raspbian. Y conecté mi SD que quería cambiar de tamaño, usando un lector de tarjetas USB.
Antes de que pueda reducir su partición de forma segura, debe asegurarse de que no haya datos presentes al final que está eliminando. Puede hacerlo con
resize2fs -M -p /dev/sda2
(debe sustituir / dev / sda2 con la ruta correcta al lector de tarjetas USB y la partición de Linux que desea cambiar de tamaño). Esto cambiará el tamaño del sistema de archivos al tamaño más pequeño posible. En realidad, podría especificar el tamaño exacto que desea, pero implica algunas matemáticas y convertir tamaños a bloques y sectores y lo que no. Más seguro y más fácil no hacer esto.Después de eso puedes reducir la partición. Creo que solía hacer
fdisk
esto. Obtenga la posición de inicio exacta de la partición, elimínela y vuelva a crearla utilizando la misma posición de inicio, pero con un tamaño más pequeño.Por último, debe agrandar el sistema de archivos nuevamente para ocupar toda la partición usando
resize2fs -p /dev/sda2
fuente
e2fsck -f /dev/mmcblk0p2
(estoy reduciendo la segunda partición de mmcblk0) para verificar la consistencia. Luego se me permitió correrresize2fs -M -p /dev/mmcblk0p2
como lo sugerí.Sé que este es un artículo antiguo, sin embargo, tuve el mismo problema y lo resolví utilizando el método descrito aquí http://www.aoakley.com/articles/2015-10-09-resizing-sd-images.php
fuente
Sería mejor hacer un tarball del sistema de archivos, porque cuando crea una imagen de disco completa, también copia datos eliminados. Cuando elimina un archivo, el inodo se desvincula pero los datos reales todavía están en el disco. Una imagen de disco completa usando
dd
copiaría esos datos antiguos (excepto si primero los sobrescribe/dev/zero
, lo que lleva algún tiempo) pero una copia de respaldo usandotar
solo copiaría los datos actuales.O ... podría hacer lo que hacen muchas distribuciones: reduzca el tamaño de su sistema de archivos a algo seguro como 1.9 GiB antes de hacer su imagen, y cambie el tamaño para llenar el disco después de restaurar la copia de seguridad.
Advertencia: no estoy familiarizado con las herramientas de imágenes de Windows, soy un usuario de Linux.
fuente
Si usa Linux, aquí hay un pequeño script:
crédito: Sirlagz (¡ muuuy lo siento!)
fuente
echo "$partinfo" | grep $fileSystemType | awk -F: ' { print substr($2,0,length($2) - 1) } '
" para deshacerse de B en partstart.