Restaurar PI desde Pi mismo


8

Acabo de empezar a jugar con un modelo de frambuesa pi b + ¿He estado sentado durante años y tenía una pregunta? ¿Es posible restaurar un Raspberry Pi de sí mismo?

Por ejemplo: ¿Puedo poner una imagen en la tarjeta microSD y luego reiniciar el Pi para instalar la nueva imagen, borrando todo lo instalado previamente y comenzar de nuevo? ¿Es posible hacer esto sin otra computadora para formatear e imágenes de la tarjeta SD? Actualmente tengo instalado raspbian si eso ayuda.

Respuestas:


8

No exactamente. Sobrescribiría las tablas de partición cuando vuelva a crear una imagen y reemplace dichas tablas con las de la imagen. Una vez que haya terminado su programa de imágenes, liberaría el identificador de archivo al archivo de imagen, pero dado que la partición donde se almacena técnicamente el archivo ya no existe, su programa no puede leerlo nuevamente. En teoría, funcionaría pero solo una vez.

Además, el archivo debe estar al final del espacio de almacenamiento para que no se sobrescriba de inmediato.

O al menos así es como creo que Linux trata con archivos. La última vez que probé esto (lo hice hace unos meses), el Pi acaba de colgar. Según este experimento, realmente necesita otra computadora para volver a crear imágenes de la tarjeta SD.

Una alternativa sería ir al método NOOBS y almacenar archivos de arranque en una partición separada y luego arrancar en NOOBS o en un sistema operativo si está instalado. NOOBS ya hace algo de lo que dijo, pero en lugar de volver a generar imágenes de toda la SD, solo reemplaza las particiones del sistema operativo. Este enlace le dice cómo funciona NOOBS.


55
Técnicamente, podría hacerlo utilizando (o tal vez incluso haciendo un chrooting con) un sistema raíz basado en RAM (y una imagen personalizada muy pequeña, o una del almacenamiento USB), pero creo que eso va mucho más allá del nivel de habilidad de la mayoría de los usuarios para que valga la pena. . Usar un sistema con un FS raíz en otro dispositivo sería más fácil, pero tampoco muy valioso a menos que eso sea lo que está haciendo para comenzar.
Ricitos de oro

@goldilocks Quizás lo intente alguna vez. Si vale la pena, lo abriré en código abierto.
PNDA

3

Con una tarjeta SD lo suficientemente grande, podría tener 2 opciones de arranque utilizables, y manipular la que no está en uso, lo cual está bien, luego actualizar grub y reiniciar al nuevo sistema operativo.

No puede escribir en las particiones del sistema operativo montadas actualmente sin un bloqueo espectacular, al menos no al por mayor como lo está preguntando. No menos importante, Linux almacena en caché los datos, por lo que su nueva escritura se bollixed cuando la caché arroja datos antiguos al nuevo ...


0

Se puede hacer si divide la operación en etapas. Con la ayuda de una distribución basada en RAM , como por ejemplo mi proyecto Nard , uno puede liberar la tarjeta SD para operaciones complejas.

  1. Extraiga el contenido de / boot de Nard (u otra distribución similar)
  2. Borra todo en tu tarjeta SD / arranque Raspbian actual
  3. Almacene Nard / boot / * en la tarjeta SD / boot Raspbian
  4. reiniciar
  5. Ahora debería estar ejecutándose desde la RAM y, por lo tanto, puede hacer lo que quiera con la tarjeta SD, como descargar cualquier imagen que necesite y borrar toda la SD con algo nuevo.

0

¿Parece que podrías usar rpi-clone? He estado usando rpi-clone todos los días durante algunas semanas para clonar mi RPi3 corriendo Raspian Jessie. Se tarda unos 10 minutos en clonar una segunda tarjeta Micro SD. Luego apago, saco ambas tarjetas, guardo el original y arranco usando el clon. Por lo tanto, sé que la copia de seguridad funciona. Roto 3 cartas de esta manera, para que siempre tenga una tarjeta segura. Esto funciona para mi ;-)


0

Seguro que puede. Simplemente mantenga presionada la tecla Mayús cuando aparezca la pantalla blanca / gris. Incluso te dice eso en la pantalla.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.