Hogar Mapa Indice Busqueda Noticias Arca Enlaces Sobre LF
[Top bar]
[Bottom bar]
[Foto del Autor]
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:

  1. Introducci�n
  2. Pasos Principales
  3. Preparaci�n y fuentes de dificultades
  4. Reconstruyendo la partici�n de Windows
  5. Usando la "nueva"; partici�n.
  6. Problemas.
  7. Referencias

Como borrar Windows

[Ilustración]

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).



 

Introducci�n

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.

 

Pasos Principales

- 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.

 

Preparaci�n y fuentes de dificultades

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

 

Reconstruyendo la partici�n de Windows

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 ...

 

Usando la "nueva"; partici�n.

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!

 

Problemas.

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.


 

Referencias

  • man pages: fdisk, mk2ext, cp, mv, rm, lilo, lilo.conf y fstab
  • /usr/doc/lilo-0.20/doc/User_Guide.ps
  • /usr/doc/util-linux-2.7/README.fdisk
  • Hard Disk Upgrade Mini How-To

  • Contactar con el equipo de LinuFocus
    © Olivier Chapuis
    LinuxFocus 1999
    Translation information:
    fr -> -- Olivier Chapuis
    fr -> en Paul Kienzle
    en -> es Rubén Sotillo

    1999-07-27, generated by lfparser version 0.6