[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Redimensionado de particiones



El Jueves, 20 de Enero de 2005 12:25, marce escribió:
|| Vale, intentaré usar parted, la cuestión es:  ¿Tendré que apagar el equipo
|| para usarlo o puedo hacerlo directamente?. En caso de apagar el equipo,
|| ¿Se supone que tendré que usar una distribución Live?

Me temo que sólo se puede hacer este tipo de operaciones sobre unidades 
desmontadas, por lo que deberías trabajar desde un live.

Por si te interesa, yo tengo un manual de parted, un ejemplo de uso, como 
decía antes es infumable y nunca lo he llegado a probar (no me ha hecho 
falta). Te lo pego a continuación por si te sirve:





***********************************************************
Redimensionando las particiones de nuestro disco duro
***********************************************************

Por **, */Flash/*
<mailto:jjfbr@ono.com?subject=Articulo%20%27Redimensionando%20las%20particiones%20de%20nuestro%20disco%20duro%27%20en%20LINUCA>
(http://)
Creado el 07/12/2002 02:50 y modificado por última vez el 07/12/2002 02:50

En ocasiones queremos cambiar el tamaño de las particiones de nuestro
disco duro, bien porque queremos instalar un nuevo sistema operativo,
bien porque nos hemos quedado sin espacio en una partición. Esta
operación se puede realizar en un sistema GNU/Linux, principalmente
gracias al programa parted.


En este artículo narraré cómo redimensioné las particiones del disco
duro con el fin de quitarle espacio a la parte de windows y añadírselo a
la parte de Linux.


------------------------------------------------------------------------
*¡¡Cuidado!!*

*Esta operación manipula el contenido del disco duro. Si no se realiza
 correctamente, podemos perder parte del mismo.

*Antes de redimensionar la partición de windows conviene desfragmentar
 esta partición primero.

*No debemos redimensionar particiones que estén montadas en nuestro
 sistema. Así pues, antes de manipular una partición, debemos desmontarla.

*El autor de este artículo no se hace responsable de los posibles daños
 producidos relacionados con este documento.
------------------------------------------------------------------------
*
Parte 1: disminución de espacio de disco de windows y
creación de partición /home*

Para empezar, comprobamos cómo están distribuidas las particiones en
nuestro disco duro. Para ello haremos uso del utilísimo programa parted
  <http://www.gnu.org/software/parted/>^(1) (se puede descargar de aquí
<http://ftp.gnu.org/gnu/parted/>^(2) , para los de Debian
<http://www.debian.org>^(3) , como siempre, apt-get install parted).
Este programa debe manejarse como superusuario.

Hacemos:

    #parted /dev/hda print

El resultado obtenido en mi caso fue:

    Disk geometry for /dev/hda: 0.000-19092.937 megabytes
    Disk label type: msdos
    Minor Start End Type Filesystem Flags
    1 0.031 14998.183 primary FAT lba
    2 14998.184 18990.900 primary ext3 boot
    3 18990.901 19092.875 primary linux-swap

Bien. Ahora *lo primero que debemos hacer es quitar espacio a la
partición de windows* (yo le quité 3.5G). Para ello:

    #umount /windows
    #parted /dev/hda resize 1 0.031 11498.183

El '1' es el número de partición (minor). En caso de que el último valor
(el del final de la partición) no sea válido, el programa se encarga de
ajustar el corte él solito.

Ahora esperamos a que termine (no hará indicaciones de que está
trabajando, así que paciencia). Tardará um rato.

Debido al riesgo que supone el redimensionar la partición raíz, decidí
*realizar una partición /dev/hda4* *con el espacio que hemos dejado libre*.

Para crear la nueva partición en este espacio que tenemos libre tecleamos:

    #fdisk /dev/hda

Para crear una nueva pulsamos *n*
Después pregunta si es primaria o extendida (en mi caso escogí primaria).

Salimos del programa guardando los datos.

Ahora, tenemos que hacer que esta partición use un sistema de ficheros
Linux. En mi caso, escogí el ext3:

    #mkfs -t ext3 /dev/hda4

Ahora ya podemos realizar el *último paso: copiar nuestro /home a la
nueva partición.*

Para facilitar la transición, vamos a crear 2 directorios temporales:
/home.old y /home.new

Montamos la nueva partición en /home.new:

    #mount /dev/hda4 /home.new

Para copiar los archivos, nos valemos de la orden tar, de la siguiente
manera:

    #cd /
    #tar -cSpf - /home | tar -xvSpf - -C /home.new

La razón de hacer esto y no copiar directamente es que *si copiamos el
directorio es posible que no se respenten los dueños y los permisos* de
los ficheros, lo cuál puede suponer el caos.

Ahora nos valemos de los directorios creados:

    #mv /home /home.old

Este paso es por seguridad, para conservar los datos aunque realicemos
mal el proceso. Por seguridad, sería conveniente conservar unos días
este directorio hasta asegurarnos de que todo ha sido realizado
correctamente.

Después de hacer la copia de seguridad, hacemos:

    #umount /home.new

Ahora, para que esta partción se monte en el /home automáticamente al
arrancar, añadimos la siguiente línea al /etc/fstab

    /dev/hda4    /home    ext3    defaults    0    1

Y ahora montamos la partición:
/
    #mv /home.new /home/
    #mount /home

Comprobamos que todo está correcto y el /home contiene nuestros archivos.

Después de hacer esto, mi disco duro ofrecía el siguiente aspecto:

    # parted /dev/hda print
    Disk geometry for /dev/hda: 0.000-19092.937 megabytes
    Disk label type: msdos
    Minor Start End Type Filesystem Flags
    1 0.031 11397.678 primary FAT lba
    4 11397.678 14998.183 primary ext3
    2 14998.184 18990.900 primary ext3 boot
    3 18990.901 19092.875 primary linux-swap

Posiblemente el lector se pregunte por qué he hecho un texto tan largo
cuando se puede resumir en ejecutar 10 órdenes y añadir una línea a un
texto. La explicación es que estamos jugando con fuego, y es conveniente
saber para qué sirve cada cosa.

*Parte 2: Pasar espacio de una partición windows al /home.*

NOTA: en esta parte comentaré todo lo que hice, incluyendo los errores,
con el fin de que el lector sepa qué hacer en caso de encontrarse en
situaciones similares. Por ello, se recomienda leer el resto del
artículo antes de hacer nada.

*Lo primero, redimensionar la partición de windows*, en mi caso
quitándole tres gigas (la forma de hacer esto está comentada en el
apartado anterior).

Tras esto, mi disco duro quedó de la siguiente forma:

    # parted /dev/hda print
    Disk geometry for /dev/hda: 0.000-19092.937 megabytes
    Disk label type: msdos
    Minor Start End Type Filesystem Flags
    1 0.031 8401.179 primary FAT lba
    4 11397.678 14998.183 primary ext3
    2 14998.184 18990.900 primary ext3 boot
    3 18990.901 19092.875 primary linux-swap

Aquí no podemos redimensionar la partición desde 8401.179 a 14998.183
porque eso llevaría *mover el inicio de una partición ext3* *al
redimensionar*, y esto es una función que el parted de momento no
soporta. <http://www.gnu.org/software/parted/#features>^(4)

Para solucionar esto, *debe moverse la partición* para que el principio
de la misma esté pegado al final de la anterior, y luego
*redimensionarla cambiando el final* de la partición.

Pero nos encontramos con otro inconveniente: estamos moviendo una
partición de 3.5G teniendo sólo libre 3G, y *necesitamos tener un
espacio libre mayor que el tamaño de la partición.*

Este inconveniente puede ser solucionado de diferentes maneras. Yo opté
por quitarle otro giga a la partición de windows:

**Redimensionado de win*:

    #umount /windows
    #parted /dev/hda resize 1 0.031 7401.179

**Traslado de la partición /home*

    #umount /home
    #parted /dev/hda move 4 7404.961 11005.466

El último número es para mantener la partición con el mismo tamaño que
tenía, aunque valdría cualquier número que hiciera la partición de
tamaño mayor o igual al original.

**Redimensionado del /home*

    #parted /dev/hda resize 4 7404.961 14998.183

Y ya hemos terminado. A disfrutar de nuestro nuevo espacio de Linux.

Para más información, podéis consultar el manual
<http://www.gnu.org/manual/parted-1.6.1/>^(5) que proporciona GNU
<http://www.gnu.org/home.es.html>^(6) , o bien:

    $man parted :-).


------------------------------------------------------------------------
*Lista de enlaces de este artículo:*

   1. http://www.gnu.org/software/parted/
   2. http://ftp.gnu.org/gnu/parted/
   3. http://www.debian.org
   4. http://www.gnu.org/software/parted/#features
   5. http://www.gnu.org/manual/parted-1.6.1/
   6. http://www.gnu.org/home.es.html



Reply to: