por Olivier Chapuis Sobre el Author: En la vida real, el autor trabaja con matem�ticas, en particular l�gica, algebra y teor�a de computaci�n. Recientemente descubri� Linux y esto fue una verdadera revelaci�n para �l. Ama Muriel y su actual hobby es el buceo. Tambi�n le gusta Brittany, el mar, navegar, esquiar y la buena comida. Contenidos: |
Resumen:
En este art�culo, trato de explicar como borrar Windows de una m�quina que tambi�n tenga instalado Linux, y adem�s, como usar el espacio disponible para Linux. Este art�culo est� dirigido a usuarios novicios (Yo soy uno de �llos).
Esto me pas� el d�a que quise borrar Windows, dos meses despu�s de haber instalado Linux. La raz�n era simple, �no quer�a usarlo nunca m�s! Imagin� que un n�mero de usuarios de Linux est�n en la misma situaci�n, y escrib� este documento para ayudarlos (los gurus pueden leerlo tambi�n y sugerir mejoras). Si est�s en esta situaci�n, hay dos estrategias disponibles.
La primera es reinstalar Linux. La ventaja de esta estrategia es que con un poco de experiencia, tomar�s mejores decisiones en la instalaci�n, en particular en aquellas relativas al tama�o de las particiones. La principal desventaja es que perder�s todo. Puedes evitarlo en parte, haciendo un respaldo de todo lo que no est� en el CDROM de instalaci�n. Pero reinstalar todo ese respaldo te costar� tiempo y sudor.
La segunda estrategia es borrar Windows (lo que es f�cil), y entonces usar el espacio disponible para Linux. Es decir, "reparticionar";, una operaci�n un poco tramposa y poco documentada. La ventaja de este m�todo es que si tienes �xito, tu sistema estar� "como antes"; pero con m�s espacio en disco. La segunda ventaja es que si fallas, siempre podr�s usar la primera estrategia. En este documento, explico como lo hice. Por supuesto, el m�todo depender� de tu configuraci�n. En particular, si tienes un disco virgen muy grande, puedes, primero, hacer un respaldo de los archivos a ese disco y entonces instalar desde el principio. Pienso que esta es la estrategia m�s segura y permite un mejor resultado. Yo respaldo todo en floppies de 1.44 Mb. De todas maneras, espero que la estrategia descrita abajo ayudar� al nuevo usuario.
Quiero agradecer a Olivier Tharan por su detallada respuesta a un mensaje posteado en fr.col.moderated la cual fue la versi�n -1 de este documento. Tambi�n agradezco a Finn Bo Jorgensen y a Chmouel Boudjnah por sus respuestas.
- Preparaci�n: respalda, examina y toma notas sobre ciertos archivos importantes antes de proceder. Lee el documento para entender lo que vas a hacer.
- Borrar Windows.
- Reparticionar, el truco.
Sobre todo, respalda los archivos esenciales. En particular, los archivos de configuraci�n y de trabajo. No dir� m�s nada sobre esto.
Un paso preliminar es entender lo que vas a hacer. Hay alguna explicaci�n de los comandos y archivos que siguen, pero est� incompleta. �Lee las man pages!. En este caso, fdisk, mk2ext, cp (un comando nada est�pido), lilo, lilo.conf y fstab (hay tambi�n man pages para ciertos archivos de configuraci�n). Documentos muy detallados sobre lilo se encuentran en el directorio /usr/doc/lilo-0.20/doc/ (si tu sistema est� correctamente instalado). En particular hay una "gu�a de usuario" de �46 p�ginas! Para fdisk ver el archivo /usr/doc/util-linux-2.7/README.fdisk, que est� muy completo. Cuando elaboraba este documento descubr� un mini-Howto muy �til: Hard Disk Upgrade Mini How-To.
Primero, aqu� est� mi tabla de partici�n:
[olivier@snoopy olivier]# /sbin/fdisk -l (como su) Disk /dev/hda: 128 heads, 63 sectors, 788 cylinders Units = cylinders of 8064 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 397 1600672+ c Unknown /dev/hda2 398 398 601 822528 83 Linux native /dev/hda3 602 602 627 104832 82 Linux swap /dev/hda4 628 628 788 649152 83 Linux native |
Vemos que Windows est� en hda1. No es inusual para fdisk llamar "Unknown" a una partici�n FAT32. Mi kernel (actualmente 2.0.34) sabe como acceder a este tipo de filesystem, pero ese no es el caso para mi fdisk. Para demostraci�n, aqu� est� la salida de df (con la partici�n /dos montada).
[olivier@snoopy olivier]# df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda2 796065 506992 247947 67% / /dev/hda4 628351 226366 369528 38% /home /dev/hda1 1594456 850420 744036 53% /mnt/dos |
Tendr�s que editar dos archivos de configuraci�n /etc/fstab y /etc/lilo.conf. Parecen algo como esto:
[olivier@snoopy olivier] less /etc/fstab /dev/hda2 / ext2 defaults 1 1 /dev/hda4 /home ext2 defaults 1 2 /dev/hda3 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 user,noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0 none proc proc defaults 0 0 /dev/hda1 /mnt/dos msdos user,noauto 0 0 |
[olivier@snoopy olivier] less /etc/lilo.conf boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=500 image=/boot/vmlinuz-2.0.34-1 label=linux root=/dev/hda2 read-only other=/dev/hda1 label=dos table=/dev/hda |
Ahora debes hacer todo como root. Por razones psicol�gicas, recomiendo hacer login como root (no hagas su desde tu cuenta). Si usas vi para editar, puedes utilizar w! para guardar. De todas maneras, te recomiendo verificar si las modificaciones fueron realmente guardadas (sal del editor y observa el archivo con el comando less).
Vas a usar los comandos fdisk y mke2fs. Estos comandos trabajan con particiones de disco duro y todos los dem�s sistemas de almacenaje. Es mejor utilizar estos comandos en particiones que no esten montadas. Esto se hace en tres pasos.
- Si tu partici�n est� montada, desm�ntala: umount /mnt/dos.
- Ejecuta fdisk. Cambia la identidad de hda1: le diremos a Linux que esta partici�n ser� ahora una partici�n nativa de Linux. Hazlo con el comando t (t, 1, 83). Mira: p , la �nica cosa que cambia es el Unknown el cual pasa a ser linux native y la c se convierte en 83. Gu�rdalo y sal: w. Mira otra vez en: fdisk -l. Saliendo de fdisk recibo el siguiente mensaje de error:
The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. Re-read table failed with error 16: Device or resource busy. Reboot your system to ensure the partition table is updated. |
Hasta donde yo se, este mensaje es normal e inofensivo: no hice reboot.
- Formatear: mke2fs /dev/hda1. Muchos n�meros aparecen, entonces el sistema trabaja un rato y �poof! �Windows 98 no est� m�s! El prudente a�adir� la opci�n -c lo que hace un r�pido chequeo para determinar si hay bloques da�ados en el disco.
Ah� lo tienes. Windows desaparecio. No estaba especialmente emocionado por esto (No tengo nada personal en contra de Win98 ni de Microsoft ...). Pero estoy feliz por Linux ...
Bien, ahora tengo una partici�n de 1.5 Gb vac�a, una partici�n de 600 Mb para /home, una de 800 Mb para / (y una partici�n swap de 100 Mb). Hay 100 Mb en /home/myaccount la cual debe estar en /usr/local/ (la dejar� en /dev/hda2) y hay 10 Mb en /usr/local. Mover� / a hda1 y colocar� /usr/local en hda2. Esto me dar�:
Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda1 1600672 465000 1130672 29% / /dev/hda2 796065 110000 696065 13% /usr/local /dev/hda4 628351 40739 587612 6% /home |
suficiente espacio por una docena de a�os....
Ahora lo haremos as�. Para acceder a hda1 debes montarla en alg�n lugar. Generalmente usas /mnt.
- Crea un nuevo directorio en /mnt, digamos /mnt/tmp, para proveer un propio mount point para hda1 (mount no crea directorios): mkdir /mnt/tmp.
- Monta hda1 en /mnt/tmp : mount -t ext2 /dev/hda1 /mnt/tmp (claramente -t ext2 da el tipo de filesystem).
- Copia / a /mnt/tmp/ mientras preservas su estructura: cp -ax / /mnt/tmp/. Para la opci�n -a, la man page dice: "Preserva tanto como sea posible la estructura y los atributos del archivo original en la copia. Lo mismo que -dpR". Ver la man page de cp para el significado de d, p y R, lo cual explicar� mejor la opci�n -a. La opci�n -x pide saltar los subdirectorios que est�n en diferentes filesystems desde donde la copia empez�. En mi caso, esto evita copiar /home sobre /dev/hda1. La operaci�n de copia tomar� alg�n tiempo (cerca de 15 min con mi disco IDE y mi AMD K6 a 266 MHz), ahora la usual frase: ve a tomar un caf� o un whisky doble mientras esperas.
- Hay aun algunas cosas extraviadas en hda1. A causa de la opci�n -x, tenemos perdidos los dos directorios (vac�os) /home y /proc. As� mkdir /mnt/tmp/home y mkdir /mnt/tmp/proc. Estos directorios son los mount points que deben estar all� as� que /home (el cual est� en hda3) y /proc pueden ser montados en root.
Ahora las cosas se complican un poco. Tenemos / (=/-/home) en hda2 pero tambi�n en /mnt/tmp/. Vamos a prepararnos para reiniciar. Debemos editar fstab y lilo.conf. Linux debe ser notificado que vamos a reiniciar con / la cual est� en /mnt/tmp/. De este modo, para fstab el archivo que debemos modificar es de hecho /mnt/tmp/etc/fstab. Para lilo.conf es diferente. Debemos editar /etc/lilo.conf, correr lilo y adem�s copiar el nuevo /etc/lilo.conf a /mnt/tmp/etc/lilo.conf (para tener un sistema consistente). O podr�amos editar solamente /mnt/tmp/etc/lilo.conf y correr lilo con la opci�n -C dici�ndole que debe usar un archivo de configuraci�n diferente. Yo escog� el segundo m�todo.
- /mnt/tmp/etc/fstab
Este archivo indica como y donde montar todo lo que es montable al iniciar el sistema. Cuando reiniciamos, queremos que root / sea hda1, as� que necesitamos la primera l�nea de /etc/fstab como se se�ala abajo. �Claro que, no podemos montar dos roots! Desde que tenemos que trabajar en /dev/hda2, La estoy montando en /mnt/tmp. El resto permanece igual.
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 /mnt/tmp ext2 defaults 1 2 /dev/hda4 /home ext2 defaults 1 3 /dev/hda3 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 user,noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0 none /proc proc defaults 0 0 |
- /mnt/tmp/etc/lilo.conf.
lilo.conf es el archivo de configuraci�n para lilo, el peque�o programa en el MBR. No entrar� en detalles. Si alguien no utiliza lilo, le recomiendo que se cambie (loadlin es absurdo en nuestro caso, y �por qu� iniciar desde un floppy en estos d�as?). Aqu� le decimos a lilo que ahora el kernel est� en hda1 (estaba en hda2 antes) y por supuesto borramos todo lo relativo a Windows.
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=500 image=/boot/vmlinuz-2.0.34-1 label=linux root=/dev/hda1 read-only |
- Ejecuta lilo: /sbin/lilo -v -C /mnt/tmp/etc/lilo.conf. la v es para que lilo nos diga un poco m�s acerca de lo que est� pasando. �Aqu� no debemos ver ning�n mensaje de error! No podemos cometer errores si queremos reiniciar. Debemos ver algo como esto:
LILO version 20, Copyright 1992-1997 Werner Almesberger Reading boot sector from /dev/hda Merging with /boot/boot.b Boot image: /boot/vmlinuz-2.0.34 Added linux * /boot/boot.0300 exists - no backup copy made. Writing boot sector. |
- Reinicio. Algunas peque�as pruebas (df, fdisk -l, vemos si el filesystem est� como lo hab�amos especificado).
- Remueve todo de /mnt/tmp/, lo cual hacemos as�: rm -rf * en el directorio /mnt/tmp. Ahora copiamos el directorio /usr/local: cp -a * /mnt/tmp despu�s cd /usr/local. Revisa si todo est� bien, entonces elimina /usr/local: rm -fr * en el directorio /usr/local (nota que no debemos quitar el "nombre" el cual pronto daremos como el mount point para local!).
- De nuevo edita /etc/fstab y cambia solamente la segunda l�nea:
/dev/hda2 /usr/local ext2 defaults 1 2 |
- Reinicia. Haz algunas pruebas.
La operaci�n est� hecha. Te aseguro que estoy satisfecho, especialmente despu�s de probar algunos programas y todos �funcionaron!
En verdad, tuve un peque�o problema. Lo de arriba no es exactamente lo que sucedi�, pero si una aproximaci�n. El consejo que puedo darte es entender un poco acerca de lo que est�s haciendo lo cual te permitir� comprender por qu� esto no funciona y solucionar el problema. Olivier Tharan me recomend� reiniciar en single user mode (no lo hice porque la �nica documentaci�n que ten�a sobre el single user mode es "hecha una mirada a los archivos en single user boot mode" y no estaba de ganas). Antes del primer reinicio parece prudente tener un buen disco de reinicio (el cual debe estar adaptado a la situaci�n y admito no saber exactamente como hacerlo...)
Aqu� est� el problema que tuve. Antes del primer reinicio hice casi todo lo de arriba. Pero despu�s de reiniciar, en la fase de montar los filesystems una serie de mensajes de errores aparecieron rapidamente. Alcanc� a leer: /proc ... error ... error ... /home ... error (sin un rastro en /var/log/messages). Entonces (fiuuu) el login prompt apareci�. Hice login como root e inmediatamente
[root@snoopy root]$ df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda1 1548535 506977 961525 35% / /dev/hda2 796065 506992 247947 67% /mnt/tmp |
Home no estaba montada. Edit� fstab, pero todo era normal. Entonces tuve una brillante idea (�el whisky doble?) montar /home y me encontr� con el mensaje "mount: mount point /home does not exist". Entonces comprend� que no hab�a entendido lo que era un mount point y que hab�a olvidado la opci�n x de cp (admito estar un poco avergonzado). Establec� los mount points /home and /proc y mont� /home and /proc para ver si estaba ok. Entonces la operaci�n se realiz� como lo describ� arriba.
Contactar con el equipo de LinuFocus
© Olivier Chapuis LinuxFocus 1999 |
Translation information:
|
1999-07-27, generated by lfparser version 0.6