26 agosto 2009

Booteo de emergencia en linux

Tenia que pasar... es algo inexorable... cago mi windows. No fue culpa de nadie.. simplemente lo dejamos bajando algo y cuando volvimos empezó con webadas... me había resistido a ponerle la imagen del ghost que le saqué cuando lo instalé por primera vez, pero esto ya no tenía vueltas.

Ahora el motivo del post. Claramente como evento inesperado, todo empezó a salir mal. Debido a que el disco con el norton ghost tenia PC-DOS, el que tiene problemas (aparentemente) con los discos SATA, o me parece haber leído que era con la emulación de "el torito" que hacen algunas BIOS nuevas, en fin... el hecho es que no booteaba. Dead END. El panorama era el siguiente:

Ubuntu 9.04 - 100% operativo.
Una imagen de floppy(2.88) en la que estaba el Norton Ghost.
Una imagen de floppy(1.44) booteo de emergencia de windows 98.
sin disquetera.
sin cd virgen.
google.

como ver/editar una imagen de floppy/disquete en linux/ubuntu

sudo mount -o loop /path/al/floppy.img(ima) /punto/de/montaje

Después de intentarlo un par de veces, no pude hacer caber el ghost en la imagen de floppy de 1.44 simplemente, era mucho. asi que debía hacer un floppy booteable o traspasar el SO de un floppy a otro.

paso 1, montar las imágenes de los floppy para poder acceder a ellos más tarde:


$ sudo mkdir /media/floppywin98
$ sudo mount -o loop /path/win98.img /media/floppywin98/

$ sudo mkdir /media/floppyghost
$ sudo mount -o loop /path/ghost2003.img /media/floppyghost/


paso 2, Crear una imagen de diskette (2.88 MB):

$dd if=/dev/zero of=disk.img bs=1024 count=2880


en donde disk.img es el nombre del archivo de imagen.

paso 3, formatear el floppy y copiarle el sistema de archivos del floppy con win98:

$ mformat -i disk.img -f 2880 -B /media/floppywin98 ::


notese los dos ":" al final del comando, indíca que el resultado no se realizará en un dispositivo físico, sino que en una imagen debido a la opción '-i'.

paso 4, montar el nuevo floppy y copiarle lo que se te antoje (aparte de los archivos básicos de inicio de windows98).


$ sudo mkdir /media/disconuevo
$ sudo mount -o loop /path/disk.img /media/disconuevo/

$ sudo cp /media/floppywin98/* /media/disconuevo/
$ sudo cp /media/floppyghost/ghost.exe /media/disconuevo/


paso 5, una vez copiado todo lo necesario se desmonta la imagen y se deja en /boot para que quede más accesible a grub (no es necesario, pero es mas simple) y además agregamos el ingrediente secreto... memdisk del paquete syslinux que permite cargar el floppy para booteo:


$ sudo umount /media/disconuevo/

$ sudo cp disk.img /boot/
$ sudo cp /usr/lib/syslinux/memdisk /boot/


paso 6, ahora se edita el menu.lst para cargar la imagen preparada anteriormente y cargarla con memdisk, para eso agregamos la siguiente entrada:


title Ghost!
root (hd0,3)
kernel /boot/memdisk
initrd /boot/disk.img


aqui depende un poco de como tengan sus particiones con lo que varía un poco, pero en cualquier sitio de grub pueden encontrar instrucciones más especificas. En mi caso tengo solo una partición para todo mi linux (/dev/sda3) así que el parametro de root es (0,3) y las rutas incluyen /boot.

voilá, ahora solo falta reiniciar seleccionar "Ghost!" y recuperar la partición con problemas. Ojala a alguien le sirva, ami me quito varias horas...

No hay comentarios.: