InicioLinuxPrograma en Bash para recuperar Grub2 (editado Descarga)

Programa en Bash para recuperar Grub2 (editado Descarga)

Linux6/27/2012
Hola amigos estuve haciendo un programita en bash (ejercicio en bash en todo caso) porque la verdad estoy re podrido de recuperar grub o grub2 a cada momento o cuando una netbook llega con problema de que la imagen de disco no se carga lo mas facil es levantar o reescribir el gestor de arranque en la MBR. En si hace preguntas faciles... no quiero subirlo así que lo que copio lo pegan en un archivo de texto con el nombre que quieran y la extensión sh por ejemplo yo lo llame Restaura_Grub.sh.. #!/bin/bash ## Restaurar Grub y Grub2 by ..::TRACKER::.. ## saludo () { echo "Saludos y Gracias powered by ..::TRACKER::.."; sleep 3s } desmontaje () { sudo umount /mnt/$NOMEXT/proc sudo umount /mnt/$NOMEXT/dev sudo umount /mnt/$NOMEXT sudo rmdir /mnt/$NOMEXT if [ $? -eq 0 ]; then echo "Desmontaje exitoso" return else echo "Se produjo un error" fi } montaje () { while [ "$OPCION" != 3 ] do echo "####################" echo "Sistema de archivos:" echo "[ 1 ] Linux" echo "[ 2 ] volver" echo "####################" read -p "Ingrese una opción: " SIS case $SIS in 1) montaje_ext;; 2) break;; *) echo "Opción ingresada invalida, intente de nuevo";; esac done } montaje_ext () { read -p "Ingrese el nombre del Volumen Linux a montar:" NOMEXT if [ ! -d "/mnt/$NOMEXT" ]; then sudo mkdir /mnt/$NOMEXT else echo "se montará en /mnt/$NOMEXT" fi sudo mount /dev/$NOMEXT /mnt/$NOMEXT sudo mount --bind /dev/ /mnt/$NOMEXT/dev sudo mount --bind /proc/ /mnt/$NOMEXT/proc if [ $? -eq 0 ]; then echo "Montaje exitoso" while [ "$OPCION" != 3 ] do echo "##################################" echo "Reinstalar Grub2:" echo "[ 1 ] Reinstalar gestor de arranque" echo "[ 2 ] volver" echo "##################################" read -p "Ingrese una opción: " SOS case $SOS in 1) reinstalar_grub;; 2) break;; *) echo "Opción ingresada invalida, intente de nuevo";; esac done break else echo "Se produjo un error" sudo rmdir /mnt/$NOMEXT echo "Tratando de Restaurar Sectores dañados en el Disco" sudo fsck -fyc /dev/$NOMEXT if [ $? -eq 0 ]; then echo "Se han recuperado algunos sectores dañados vuelva a intentarlo" else echo "NO PUEDE RECUPERARSE CON ESTE SOFTWARE" fi fi } reinstalar_grub () { read -p "ingrese el nombre del disco que decidio montar pero de la siguiente manera si eligio sda1 ingrese sda, si eligio sdb1 ingrese sdb solamente:" RAIZ sudo chroot /mnt/$NOMEXT grub-install --recheck /dev/$RAIZ if [ $? -eq 0 ]; then echo "EL cargador de arranque se restauro satisfactoriamente, reinicie para arrancar desde el disco rigido de la netbook." break else echo "Se produjo un error" fi } while [ "$OPCION" != 4 ] do echo "#################################" echo "Software para la restauracion del sistema de arranque de las netbooks by ..::TRACKER::.." echo "#################################" echo "[ 1 ] Información de Discos Duros" echo "[ 2 ] Montar Particiones" echo "[ 3 ] Desmontar Partciones" echo "[ 4 ] Salir" read -p "Ingrese una opción: " OPCION case $OPCION in 1)sudo sfdisk --list;; 2)montaje;; 3)desmontaje;; 4)saludo;; *) echo "Opción ingresada invalida, intente de nuevo";; esac done exit Una vez que copian en un archivo de texto le dan permisos de ejecución entonces cada vez que arrancan con un livecd enchufan el pen lo ejecutan haciendo doble click y ejecutar en terminal se despliega un menu donde las opciones son ################################# Software para la restauracion del sistema de arranque de las netbooks by ..::TRACKER::.. ################################# [ 1 ] Información de Discos Duros [ 2 ] Montar Particiones [ 3 ] Desmontar Partciones [ 4 ] Salir Ingrese una opción: Opcion 1 seria para ver la informacion de disco Raíz a recuperar /dev/sda1, /dev/sdb1 ..etc Así: Disco /dev/sda: 38913 cilindros, 255 cabezas, 63 sectores/pista Unidades = cilindros de 8225280 bytes, bloques de 1024 bytes, contando desde 0 Disp. Inic. Princ. Fin Nºcil Nºbloq. Id Sistema /dev/sda1 * 0+ 9399- 9400- 75497472 83 Linux /dev/sda2 9399+ 38652- 29253- 234974208 83 Linux /dev/sda3 38652+ 38913- 262- 2097152 82 Linux swap / Solaris /dev/sda4 0 - 0 0 0 Vacía Disco /dev/sdb: 60801 cilindros, 255 cabezas, 63 sectores/pista Unidades = cilindros de 8225280 bytes, bloques de 1024 bytes, contando desde 0 Disp. Inic. Princ. Fin Nºcil Nºbloq. Id Sistema /dev/sdb1 0+ 60801- 60802- 488385536 83 Linux /dev/sdb2 0 - 0 0 0 Vacía /dev/sdb3 0 - 0 0 0 Vacía /dev/sdb4 0 - 0 0 0 Vacía ################################# Software para la restauracion del sistema de arranque de las netbooks by ..::TRACKER::.. ################################# [ 1 ] Información de Discos Duros [ 2 ] Montar Particiones [ 3 ] Desmontar Partciones [ 4 ] Salir Ingrese una opción: "Como veran mi disco raiz es /dev/sda1" entonces seguimos con la opcion 2 Opcion 2 Nos dara esto: #################### Sistema de archivos: [ 1 ] Linux [ 2 ] volver #################### Ingrese una opción: seleccionamos 1 (mas que nada es una opcion para volver si no querias montarla) nos devolvera algo asi: Ingrese el nombre del Volumen Linux a montar: en este caso usamos la info que nos dio la primer opcion si tu boot estaba en /dev/sda1 solo escribe sda1, analogamente si estaba en /dev/sdb1 escribe solo sdb1 o sea cual sea tu particion. una vez hecho eso nos devolvera esto Ingrese el nombre del Volumen Linux a montar:sda1 --> en mi caso fue sda1 Montaje exitoso ################################## Reinstalar Grub2: [ 1 ] Reinstalar gestor de arranque [ 2 ] volver ################################## Ingrese una opción: ahora bien si todo salio bien nos dira ese mensaje de "Montaje exitoso" y nos dará la opcion de reinstalar gestor de arranque la cual usaremos en esta opcion seleccionamos 1 y el gestor de arranque se restaurara. P/D: si no deja montar la particion es debdo a que el disco no es el correcto o que tiene errorers si tiene errores solo hará un escaneo devolviendo nuevamente la opcion de montarlo si todo va bien sino vuelve a la primer opcion para salir. Yo lo uso en un usblive donde tengo una carpeta con ese archivo una vez que arranca el usb voy a /media/cdrom/"mi_carpeta"/Restaurar_Grub.sh de ahi lo ejecuto y va sin problemas Espero que les funcione como a mi gracias Acá les dejo un enlace de Dropbox para que lo descarguen porque a veces copiando generan errores Descargar https://www.dropbox.com/s/d2xwl25la5r1n2u/Restaurar_Grub.sh ..::TRACKER::..
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

t
tracker_22🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.