Crear/restaurar Windows/Linux desde el arranque
-
A continuación explico como hacer lo mismo que el Norton Ghost pero con unas cuantas mejoras. No es nada nuevo, simplemente he cogido de aquí y de allí y le he dado forma. Yo ya no sé vivir sin esto y he pensado que os podría ser útil.
Introducción
Cada vez que quiero restaurar una imagen con el ghost tengo que:- Reiniciar con el Hiren's CD metido.
- Navegar por el menú hasta ejecutar el Ghost.
- Navegar por el menú hasta seleccionar restaurar desde un fichero.
- Seleccionar el disco y la partición destino.
- Esperar y confirmar el reinicio.
- Sacar el CD.
Es un proceso sencillo, pero laborioso y repititivo. Vamos, que paso. Lo que yo quiero es:
- Reiniciar
- Seleccionar opción
- Esperar unos minutos hasta que aparezca el escritorio de windows
Y eso es lo que vamos a hacer…
En principio cualquier LiveCD vale, pero mejor si ya tiene instalado el partimage. Mejor incluso si ese LiveCD es el System Rescue CD http://www.sysresccd.org/Main_Page , ya que en él participa el desarrollador de partimage
Necesitamos también particionar el disco para alojar el contenido del CD, así como espacio para guardar la imagen.
hda1 10GB Windows
hda2 100GB datos
hda3 1GB/5GB LiveCD/LiveDVDLa partición de datos se puede formatear con ext2/3 y leerse desde Windows con Ext2 IFS (http://www.fs-driver.org/) sin que se aprecie que vaya más lento y pudiendo compartirla y todo lo demás. También se puede formatear con fat32, pero no con ntfs, al menos la última vez que lo probé la escritura era insufriblemente lenta. Otra opción es hacer la partion del LiveCD lo suficientemente grande como para alojar la imagen.
Usaremos GRUB como gestor de arranque. Es, de lejos, el más potente, flexible y bonito que conozco.
Antes de empezar tengo que aclarar que no voy a explicar como particionar un disco. Con el Partition Magic está tirado, prueba a bajar el Hiren’s BootCD. Desde linux se puede hacer con el cfdisk que se incluye en el sysresccd. En todos los comandos que siguen me basaré en el anterior esquema de particiones.
Empezamos
Tuesta el CD del sysresccd y reinicia el ordenador. Cuando aparezca “boot: ” pon “menu”. Selecciona la resolución, el idioma y arranca linux. Empieza la fiesta:root@sysresccd /root % mkfs.ext2 /dev/hda3 root@sysresccd /root % mkdir /mnt/hda3 root@sysresccd /root % mount /dev/hda3 /mnt/hda3 root@sysresccd /root % mkdir /mnt/hda3/boot root@sysresccd /root % cp –a /boot/* /mnt/hda3/boot root@sysresccd /root % rm –rf /mnt/hda3/boot/grub/menu.lst
Formateando con ext2 nos cubrimos las espaldas asegurándonos de que está incluido el soporte en el núcleo (tanto en esta distribución como en cualquier otra). Copiamos /boot, que contiene el núcleo así como el fichero de configuración del grub que dejaremos así:
root@sysresccd /root % nano /mnt/hda3/boot/grub/menu.lst timeout 3 default 0 title Windows XP rootnoverify (hd0,0) makeactive chainloader +1 title System Rescue CD root (hd0,2) kernel /boot/srcd/vmlinuz1 root=/dev/ram0 init=/linuxrc vga=788 setkmap=13 usbstick autoruns=0 initrd /boot/srcd/initrd1 boot title Guardar Windows root (hd0,2) kernel /boot/srcd/vmlinuz1 root=/dev/ram0 init=/linuxrc vga=788 setkmap=13 usbstick autoruns=0,1 initrd /boot/srcd/initrd1 boot title Recuperar Windows root (hd0,2) kernel /boot/srcd/vmlinuz1 root=/dev/ram0 init=/linuxrc vga=788 setkmap=13 usbstick autoruns=0,2 initrd /boot/srcd/initrd1 boot
Ya está configurado el arranque, ahora copiamos el núcleo y la imagen de inicio:
root@sysresccd /root % mkdir /mnt/hda3/boot/srcd root@sysresccd /root % cp /mnt/cdrom/isolinux/vmlinuz1 /mnt/cdrom/isolinux/initrd1 /mnt/hda3/boot/srcd
Ahora tenemos que modificar la imagen de inicio para que busque el sistema de ficheros comprimido (que copiaremos más adelante) en el disco duro además de en memorias usb. Es algo que casi ningún LiveCD tiene.
root@sysresccd /root % cd /mnt/hda3/boot/srcd root@sysresccd /mnt/hda3/boot/srcd % mv initrd1 initrd1.gz root@sysresccd /mnt/hda3/boot/srcd % gunzip initrd1.gz root@sysresccd /mnt/hda3/boot/srcd % mkdir /mnt/iso root@sysresccd /mnt/hda3/boot/srcd % mount –o loop initrd1 /mnt/iso root@sysresccd /mnt/hda3/boot/srcd % nano /mnt/iso/linuxrc
Y ahora con CTRL + W buscamos “sda” y comentamos/añadimos unos líneas. Sal con CTRL. + X, guarda los cambios con Y y confirma la sobreescritura del fichero. Debería quedar algo así:
findusbmount() { # for i in uba ubb ubc ubd ube ubf ubg ubh sda sdb sdc sdd sde sdf sdg sdh sdi sdj # do # for j in 1 2 3 4 # do # devname="/newroot/dev/$i$j" # if mount -t vfat -r $devname /newroot/mnt/cdrom 2>/dev/null devname="/newroot/dev/hda3" if mount -t ext2 -r $devname /newroot/mnt/cdrom 2>/dev/null then if [ ! -e /newroot/mnt/cdrom/sysrcd.dat ]; then #echo -e "${HILITE}---- $devname is not a Live-USB Stick; skipping...${NORMAL}" umount /newroot/mnt/cdrom else mounted=$devname echo -e "${HILITE}---- USB medium found on $devname${NORMAL}" return 1; fi fi # done # done return 0; }
root@sysresccd /mnt/hda3/boot/srcd % umount /mnt/iso root@sysresccd /mnt/hda3/boot/srcd % gzip initrd1 root@sysresccd /mnt/hda3/boot/srcd % mv initrd1.gz initrd1
Ahora volcamos el sistema de ficheros comprimido (el / de la distro) al disco duro:
root@sysresccd /mnt/hda3/boot/srcd % cp /mnt/cdrom/sysrcd.dat /mnt/hda3
Ya tenemos el sistema listo. Ahora tenemos que crear los scripts que se cargarán en el arranque y que realizarán automáticamente la creación / restauración de imágenes:
root@sysresccd /mnt/hda3/boot/srcd % cd /mnt/cdrom root@sysresccd /mnt/cdrom % nano autorun0 root@sysresccd /mnt/cdrom % nano autorun1 root@sysresccd /mnt/cdrom % nano autorun2
Que contienen, respectivamente:
autorun0
#!/bin/bash mount -o remount,rw /mnt/cdrom
autorun1
#!/bin/bash partimage -z1 -o -d -b -f2 save /dev/hda1 /mnt/cdrom/NOSEASUSTE-winxpsp2
autorun2
#!/bin/bash partimage -b -f2 restore /dev/hda1 /mnt/cdrom/NOSEASUSTE-winxpsp2.000
Ahora todo está dónde y cómo tiene que estar. Podemos ejecutar pues, el único comando crítico, que sustituirá el gestor de arranque de windows por el GRUB:
root@sysresccd /mnt/cdrom % grub-install –root-directory=/mnt/hda3 /dev/hda root@sysresccd /mnt/cdrom % reboot
Se acabó
Ahora ya sin el CD, cuando arrancas el ordenador debería aparecer un menú durante 3 segundos. La segunda opción es como si arrancaras desde el CD pero más rápido, claro. El resto se explican solas… Al que no le haya quedado claro aquí tiene una foto con el grub de Debian Sid que permite cargar una imagen de 640x480 y 14 colores -
Uoo, un manual muy bien hecho, felicidades.
Saludos!
-
¡Gracias! Si a tí te ha valido ya puedo dormir tranquilo
Esta guía es solo el primer paso para una convivencia con windows más agradable:- Facilitar el formateo
- Entretener en la espera
Para el segundo punto estoy planeando hacer un livecd basado en dreamlinux que configure el disco él solito con solo seleccionar una opción en el arranque del livecd, y mientras esperas puedes jugar al Quake. Si "formateas" desde internet tendrás que jugar en modo texto Aquí tienes un par de capturas