jueves, 6 de febrero de 2014

Particionar y formatear discos desde la terminal

Los discos se pueden formatear, crear o cambiar de tamaño con toda comodidad a golpe de ratón desde programas como Gparted, pero en ocasiones puedes necesitar hacerlo desde la consola. Ya sea porque tienes que administrar el equipo de forma remota, porque el sistema se ha ido al traste o porque eres un friki consolero.

En este pequeño tutorial vamos a ver como particionar, formatear y montar un disco, desde la consola.


Lo primero, es tener muy claro que todo esto debemos hacerlo como root, puesto que vamos a realizar operaciones administrativas. Puedes liarte a poner sudo antes de cada orden o puedes convertirte en el usuario root poniendo
  • sudo su

Ahora que acabamos de convertirnos en el rey de la creación dentro de nuestro Linux, vamos a comprobar que discos hay instalados en el sistema. Uno de ellos será el objetivo de nuestro trabajo.
  • fdisk -l

Cuidadin en este paso, tenemos que fijarnos muy bien en cual es el disco con el que queremos trabajar. No hay nada peor que darte cuenta de que estas trabajando con el disco donde guardas tus fotos justo cuando acabas de eliminar la partición o de formatearlo. Fijate en el tamaño del disco, en la etiqueta, en si ya tiene particiones...

Voy a suponer que el disco es sdb. Primero porque se que el espacio coincide con los 5 Gb que yo sabia que tiene el nuevo disco, y segundo, porque carece de particiones. Aunque lo normal es que el disco venga formateado son algún sistema propio de los chicos de Microsoft, como NTFS o Fat32.

Como el disco no tiene partición, es imposible que este montado. Pero puede pasar que si la tuviera y Linux lo haya montado y este listo para usar. Por si acaso, lo que voy ha hacer es desmontarlo. Si no estaba montado recibiré un mensaje de error, pero no importa
  • umount /dev/sdb




Y vamos a ponernos al trabajo. Vamos a abrir fdisk

  • fdisk /dev/sdb
Nos pregunta que deseamos hacer. Nosotros queremos primero crear una partición, así que escribiremos N (de New) y pulsaremos Intro. Nos pregunta que tipo de partición. Seleccionamos P (primary) para una partición primaria y pulsamos Intro. Y cuando nos pida el número de partición, como no hay ninguna, seleccionamos 1.

Ahora nos va a preguntar donde empieza y donde termina la particion que estamos creando. En mi caso, vamos a utilizar todo el disco, así que voy a tomar los valores por defecto que me ofrecen fdisk. Si no quieres ocupar todo el disco, tendrás que decir donde empieza y donde acaba. Lo recomendable es que empiece en el valor predeterminado, para que no quede espacio vacio antes de la partición y que como segundo valor introduzcas el tamaño que quieres obtener, en kbytes, megas o gigas.

Ya tenemos determinado el tamaño de la partición, pero habrá que decir que tipo de partición es. Para ello escribimos T, pulsamos Intro, tecleamos 83 y volvemos a pulsar Intro.  Con esto indicamos que queremos una partición tipo 83, que es la de Linux. Puedes ver todos los tipos posibles pulsando L.

Y ya que hemos definido nuestra partición, llega el momento de llevarla a la realidad. Escribimos W, pulsamos Intro y todo lo que hemos definido se escribirá en el disco.

Ya hemos creado la partición, pero vacía. Es como si hubiéramos creado un armario, pero sin estantes ni cajones. El siguiente paso, formatearla. Es decir, vamos a crear las estanterías y los cajones

Podemos darle muchos formatos, por ejemplo NTFS. Pero lo lógico seria usar un formato propio de Linux, que nos de el máximo rendimiento y seguridad, por lo que yo usaré EXT4.
  • mkfs.ext4 /dev/sdb1
Ya tenemos nuestro disco listo para usar. Solo nos queda decidir “donde lo vamos a colocar”. Yo por ejemplo, voy a crear una carpeta que se llame /media/datos para colocar alli el disco
  • mkdir /media/datos
Y finalmente, lo colocaré allí
  • mount /dev/sdb1 /media/datos
Ya esta listo para usar. Y si quieres, puedes editar el fichero /etc/fstab para que se monte automáticamente cada vez que inicies el equipo. Copia la siguiente linea al finalmente
/dev/sdb1 /media/datos ext4 defaults 1 2
Y a disfrutar de tu nuevo disco

18 comentarios:

  1. se me hace que es muy facil rompero todo!!!

    ResponderEliminar
    Respuestas
    1. Por eso solo se puede hacer con privilegios de administrador.
      De todas maneras, desde el entorno gráfico, puedes hacerlo con gparted, y es mas visual

      Eliminar
  2. Para afinar las particiones, existe una herramienta muy útil: tune2fs, válida para ext2, ext3 y ext4, que hay que utilizar como root.

    Entre las opciones interesantes están:

    Información del superbloque:
    tune2fs -l /dev/sdb1

    Establecer un nombre para la partición, por ejemplo «datos»:
    tune2fs -L datos /dev/sdb1

    Poner a cero el número de bloques reservados para el superusuario:
    tune2fs -r 0/dev/sdb1

    En las particiones que utilizo para almacenar datos exclusivamente, como discos externos, pongo a 0 estos bloques reservados. Con el comando -m se puede establecer el porcentaje, que por omisión es del 5%. De esta manera «recupero» unos GB que a veces son bastante significativos.

    Hay más opciones interesantes → man tune2fs

    Saúdos,

    ResponderEliminar
    Respuestas
    1. Interesante. me la tendré que estudiar. Eso de ganar algún mega....

      Eliminar
  3. Tengo un problema a la hora de instalar alguna distribución Linux, por culpa del disco duro el cual habría que formatear con una herramienta llamada GNU/parted. Ignoro como obtener esa herramienta en modo gráfico o en un Live cd. Agradecería alguna información al respecto. Los fallos que suelo obtener, generalmente son en GRUB y a la hora de arrancar el ordenador. Por extraño que parezca estos efectos se minimizan bastante usando una distribución Debian, aunque debe tener su explicación. Dejo aquí una captura por si tienes a bien echarle una ojeada:
    fdisk -l

    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disk identifier: 0x000b9f97

    Device Boot Start End Blocks Id System
    /dev/sda1 2048 5002047 2500000 82 Linux swap / Solaris
    /dev/sda2 5002048 55002047 25000000 83 Linux
    /dev/sda3 * 55003134 976770875 460883871 5 Extended
    Partition 3 does not start on physical sector boundary.
    /dev/sda5 55003136 486539263 215768064 83 Linux
    /dev/sda6 927944704 976770875 24413086 83 Linux
    /dev/sda7 486541312 927930367 220694528 83 Linux

    Partition table entries are not in disk order

    El disco está en perfecto uso. Quiero decir que el disco está sano.

    ResponderEliminar
  4. Primero, si te refieres a Gparted, creo que viene por defecto en la live de Debian, en caso contrario, esta en los repositiorios, puedes instalarla con un aptitude install gparted

    Por otro lado, me llama la atencion que te dice "Partition 3 does not start on physical sector boundary.". Mira a ver si esto te ayuda
    http://linuxaria.com/pills/how-to-correct-partition-does-not-start-on-physical-sector-boundary-on-linux?lang=en

    ResponderEliminar
  5. Gracias por contestar. No me ayuda mucho el enlace que me ofreces habida cuenta de que está en inglés. Y no, no me refiero a Gparted, pués de hecho está instalado en mis dos sistemas. Me refiero, como digo mas arriba, a GNU/parted. GNU/Parted debe ser una herramienta que se genera a base de comandos y es muy posible que se practicara con ella hace mucho tiempo, por tal motivo es posible, quizás, que esté en desuso (Esto lo digo sin base alguna, solo por intuición). Bueno, el caso es que cuando arranco mi ordenador un tercio de las veces, no arranca y debo cerrar la máquina a lo bruto (Esta palabra concuerda muy bien con el título de este blog) e iniciar de nuevo, quizás con un poco de suerte, me aparezca el GRUB. En cualquier caso si alguien sabe como poder formatear un disco rígido con GNU/Parted, favor de comentarlo aquí. Gracias y un saludo.

    ResponderEliminar
    Respuestas
    1. Me respondo a mi mismo y después del último post del 20.2 y por si a alguien le pudiera ser factible la información que dejo a continuación.

      La solución la encontré particionando el disco duro con Linux Mint Debian. Linux Mint Debian, me parece que Arch también, hace las particiones en MB en lugar de GB.Puede existir una diferencia entre los sectores físicos y lógicos. Podría parecer que es lo mismo pero no lo es. De hecho ya no he vuelto a tener mas problemas a este respecto. Tengan en cuenta que a la hora de particionar un disco esto se hace en bloques de 512 bytes, pero no siempre esto es así. Particularmente, había sustituido el disco duro pues ya estaba viejo y roto por uno nuevo. También cambié la placa madre. Por eso a la hora de configurar la BIOS y sobre todo en los discos nuevos, conviene escoger el sistema AHCI en lugar de IDE. . Esto puede facilitar las cosas en el sentido de que el particionador reconozca que tipo de formato debe dar al disco. Hay que formatear alineando por MB y no por cilindros. Un novato como yo hubo de pelear hasta la saciedad y leer y releer, buscar ayudas hasta que encontré la solución que es bien sencilla, pero el que no sabe es como el que no ve. Por que en un programa que es posible instalar en Debian llamado Utilidad de discos GNOME me decía que el disco estaba sano y si el disco estaba bien ¿que era entonces lo que fallaba?.

      Eliminar
  6. Hola, necesito hacer mas grande mi particion /, para esto cree una nueva particion en otro disco externo y copie la data de / a ella, pero cuando trato de arrancar con este disco no lo hace pareciera que no hay MBR, el mismo lo copie con el comando DD del disco actual al disco externo.

    La idea que tengo es volver a crear la particion / con mas tamano por lo que copie las particiones en otro disco, alli ya los tengo con el tamano que necesito, mi idea es poder arrancar con ese disco y luego clonar el mismo con el disco de la portatil.

    Agradeciendo sus comentarios.

    ResponderEliminar
    Respuestas
    1. En mi curro "ha muerto" un servidor por mover /lib, así que ahora soy bastante escéptico de que funcione lo que quieres hacer sin darte mil problemas

      Eliminar
  7. Hola, por accidente puse mi partición de Windows (sda1) en "lvm2 pv", lo anterior me aparece en GParted, puedo volver a "NTFS" sin perder nada de información? Ayudame por favor.

    ResponderEliminar
    Respuestas
    1. Si "puse mi particion Windows en lvm" quiere decir que la formateaste, no creo que se pueda solucionar.

      Lo siento

      Eliminar
  8. Hola Litos523,

    La verdad es que yo estoy hecha un lío.

    Quiero formatear el disco pero desde Ubuntu no hay modo.Me da este error:
    "Error al desmontar sistema de archivos"

    Apenas ayer instalé Ubuntu y durante el proceso, hubo una serie de errores:
    No se ha podido instalar «onboard-data»
    No se ha podido instalar «hud»
    No se ha podido instalar «sphinx-voxforge-hmm-en»
    No se ha podido instalar «fonts-nanum»

    Muchas cosas funcionan mal:
    No se puede cambiar la imagen de escritorio,
    Se cierra Firefox,
    No se puede instalar nada nuevo.

    Pensé que formateando el disco se arreglaría. Pero no me deja :/ No hayo ningun tuto decente y bien explicado para formatearlo usando GParted. Me podrías recomendar alguno?

    Gracias, muchas gracias.

    ResponderEliminar
    Respuestas
    1. Lo primero, muchas gracias por leerme.
      Supongo que el problema esta porque estas tratando de formatear el propio disco donde esta Ubuntu. Tendras que hacerlo desde un live-cd
      De todas maneras, si tengo tiempo me hago un tutorial sobre como formatear un disco duro con Gparted. Ya te adelanto que es muy sencillo.

      Eliminar
  9. Buenas Tardes, y perdon por el reflote. He montado un NAS con 5 Discos duros, formateados a ext4, pero creo que he tenido que hacer algo mal te comento. empece a pasar informacion y me quede asombrado, en un pendrive de 32 gb me entraba toda la informacion, pero en el disco duro me ocupa cerca de 200 Gb, he estado mirando, y me dicen en todos los archivos individualmente que su tamaño en disco es de 1MB. entonces como tengo muchisimos archivos de texto, pone Tamaño: (el tamaño real 1KB, 2KB, etc) pero en tamaño en disco: 1MB. con archivos mayores lo mismo digamos que ocupa 1108KB pues el tamaño en disco seria 2MB. creo que el problema lo tengo dado en los sectores logicos. Como puedo definir a la hora de formatear un disco duro, marcarle el tamaño de los sectores lógicos? Puedo hacer una prueba de rendimiento para comprobar cual seria el tamaño idoneo de sector?. Muchas Gracias

    ResponderEliminar
    Respuestas
    1. Lamento no tener respuestas para ti, pero nunca he trabajado con un NAS
      Pasate por exdebian.org y allí seguro que te echan una mano

      Eliminar
    2. Gracias Litros, eso haré. Realmente el NAS es una placa Banana Pi (clon de Raspberry Pi) con un multiplicador de puertos SATA, de manera que puedo conectar 5 Discos duros, y un sistema operativo basado en debian Wheezy.

      Eliminar
  10. hola a quien lea este mensaje
    tengo una duda que agradeceria mil veces si alguien me pudiera responder
    me di cuenta como funciona gparted (lo uso mucho,aunque a veces combinado con la terminal) ...es con comandos,si
    pero lo interesante es que descubri uno de esos comandos cuando intentaba eliminar un desastre que hice en un disco rigido,y aunque este programa fallo con ese comando,probe con dicho comando en una terminal agregando ya la opcion -f y no recuerdo si era con otra mas
    no recuerdo que comando era y por si preguntan,el disco no se dano ni nada. solo se que despues de apagar la pc vi como ya no existia esa particion que no me dejaba siquiera desmontarla y por eso creo que era uno muy poderoso
    si alguien sabe o tiene alguna idea de que comando es pueden comentarmela . yo tengo miedo y por eso no quiero repetir el desastre pero a quien le interese puedo comentar mas detalles
    gracias por su tiempo ;)

    ResponderEliminar

prekes sodui