Mostrando entradas con la etiqueta Disco. Mostrar todas las entradas
Mostrando entradas con la etiqueta Disco. Mostrar todas las entradas

martes, 9 de diciembre de 2008

40 años de ratón

Según he leido en un par de sitios (este y este), hoy hace 40 años que se presentó ese aparatito que va conectado al ordenador y que conocemos como "ratón", o en algunos sitios "mouse".

Mi primer contacto con dicho engendro mecánico creo que fue cuando estudiaba en el Instituto y teníamos en 1ª una asignatura optativa de Informática, a la que por supuestísimo opté (creo recordar que había alguna otra asignatura pero soy incapaz de recordar cual podía ser, tal era mi interés por ella). Los ordenadores que se usaban eran PCs con pantalla de fósforo naranja y disquetes de 5,25", y nos enseñaban a "programar" en LOGO y a manejar algún paquete integrado, que era como se llamaba entonces (finales de los 80) a lo que ahora llamamos suite ofimática

Pero cuando más lo usé fue cuando mis padres me compraron un Sony HB-F700S, del estándar MSX-2. A pesar de ser un ordenador de 8 bits, le daba 100.000 vueltas a los armatostes de PCs que había en mi Instituto, además de tener también ratón podía tocar melodías polífonicas por 3 canales de audio y usaba disquetes de 3,5" (de simple densidad, 720 Kb), mucho más manejables y robustos que los otros. Además de en el interior, también era mucho más bonito en el exterior, y si no mirad su foto:


Foto: old-computers.com

El ratón se usaba en ese ordenador básicamente para manejar un paquete integrado de Sony que venía con él, llamado si no recuerdo mal Hybrid. Tenía procesador de textos, hoja de cálculo, base de datos, editor de gráficos e incluso un gestor de fichero, todo muy sencillo. Apenas lo usé porque le costaba mucho de cargar del disquete y no resultaba práctico. A parte de para eso, la verdad es que el ratón tampoco se manejaba mucho, todo se hacía escribiendo con comandos, y salvo para dibujar o para algún juego muy especial, no se usaba para casi nada, en aquel entonces no era un periférico tan estándar como lo es ahora.

Como curiosidad, la anterior máquina me la compraron mis padres de segunda mano, después de estar un año "castigado" sin ordenador por haberme cargado el anterior (un Spectravideo 728) cuando introduje "a ver que pasaba" un cartucho ROM en la ranura que iba destinada a una unidad de disco externa. Lo que pasó fue que el ordenador no volvió a funcionar, y que ahí empezó a despuntar mi faceta de friki-digital :-)

Hoy día el ratón es imprescindible para manejar los entornos de ventanas. Solo los que son muy frikis (más que yo incluso) o los que no tienen más remedio (usuarios de vetustos mainframes) utilizan exclusivamente el teclado. En Linux, incluso cuando se trabaja con línea de comandos viene muy bien para hacer copy-paste entre ventanas.

¿Que habrá dentro de otros 40 años? ¿Seguirán existiendo los ratones? ¿O usaremos interfaces cerebrales u oculares? Ya os lo contaré si sigo por aquí...

viernes, 5 de septiembre de 2008

Ubuntu en un IBM 760XL

Hace unos meses rescaté del olvido un viejo portátil que compré hace algunos años de segunda mano, y decidí darle una segunda vida instalándole algo más moderno que el Windows 98 que llevaba. Al tener tantos años sus prestaciones no son precisamente el último grito:

- Procesador Pentium MMX a 166 Mhz
- 64 Mb de RAM
- 9 Gb de disco duro



¿Se le podría instalar un sistema operativo de última generación? Y no me estoy refiriendo a Windows Vista, por supuesto :-) Probemos con Ubuntu...


El arranque

El primer problema es cómo arrancar la instalación. El equipo dispone de un lector de CD-ROM pero no tiene la capacidad de arrancar desde un CD (eso lo inventaron allá por el año 1998, este portátil es anterior). La única forma de hacerlo es desde disquete, pero la instalación de Ubuntu y la mayoría de distros actuales no permiten iniciar la instalación arrancando con ellos.

Tras googlear un poco doy con la solución, que resulta que viene en el mismo CD de instalación de Ubuntu: Se trata de una utilidad llamada Smart Boot Manager (SBM), que es un disquete desde el que es posible arrancar a su vez el CD, aunque el ordenador no esté preparado para ello. La imagen del disquete está en el directorio install del CD de Ubuntu, con unas instrucciones que se resumen en que para generarlo basta ejecutar algo como:

dd if=sbm.bin of=/dev/fd0

Una vez se consigue iniciar el ordenador con el CD, ya se puede hacer la instalación del resto del sistema de la manera habitual... o casi.


Elección del sistema

El Ubuntu para escritorio al que estamos acostumbrados es muy bonito, muy fácil de instalar y tiene todo el software que se puede necesitar, pero en nuestro caso ese es precisamente su mayor problema: No quiero entorno gráfico ni software como OpenOffice o K3B, solo que arranque y después ya instalaré por red lo que vaya haciendo falta.

Con las versiones de escritorio no se puede elegir una instalación así, pero en cambio la versión de servidor sí que lo permite (la instalación de un sistema mínimo) y además se puede hacer en modo consola (sin entorno gráfico). Así que, paradójicamente, instalo la versión más potente en el equipo más humilde.


Instalación

No hay mucho que decir. Se copian los ficheros al disco duro, detecta la tarjeta de red PCMCIA que tengo pinchada en el portátil, y todo va como la seda. Tras finalizar el proceso se reinicia y configuro el ssh para conectarme desde otro equipo y continuar configurándolo de forma más cómoda. Antes de hacer nada más aplico las últimas actualizaciones con aptitude update; aptitude upgrade y reinicio para que arranque con el último kernel.


Problema al arrancar

Para mi horror, depués de actualizar el kernel y reiniciar el proceso se interrumpe con un mensaje de error:

"ALERT! /dev/disk/by-uuid/xxxxxxxxxxx Does not exist, dropping to a shell"

...y aparece un shell reducido cuyo prompt es

(initramfs)

Así que toca googlear para averiguar qué significa y cómo arreglarlo. Parece ser que cuando, tras actualizar el kernel, se genera el disco ram de inicio no se cargan ciertos drivers para dispositivos IDE muy antiguos y por esa razón cuando arranca da el error de que no encuentra el disco duro.
Para solucionarlo en el shell reducido del ramfs hay que cargar los módulos ide, montar el sistema y regenerar el disco ram (el initrd):

Cargamos los módulos IDE:

(initramfs) modprobe ide-disk

(initramfs) modprobe ide-generic


Creamos un directorio y montamos en él la partición raiz:

(initramfs) mkdir /mnt
(initramfs) mount -t ext3 /dev/hda1 /mnt

En vez de /dev/hda1 habrá que poner el nombre de la partición raiz de tu sistema. En el comando mount hay que especificar el sistema de ficheros (ext3) ya que al ser una versión reducida no es capaz de averiguarlo por sí misma.

Convertimos el directorio que acabamos de montar en el nuevo raiz.

(initramfs) chroot /mnt

Al hacer esto se me quedaba congelado el shell y no continuaba. Si ocurre esto, se puede interrumpir con CTRL+D y ejecutarlo de nuevo indicando el comando a ejecutar con ese nuevo raiz, que será el intérprete bash para que podamos seguir introduciendo comandos: chroot /mnt bash

Montamos /proc y /sys:

# mount /proc
# mount /sys

Vamos a /boot, borramos el initrd de nuestra versión de kernel y lo regeneramos con el comando yaird. Si tenemos el /boot en una partición separada habrá que montarlo también.

# cd /boot
# rm initrd.img-2.6.24-19-generic
# /usr/sbin/yaird -o initrd.img-2.6.24-19-generic

Se generará el fichero del initrd, y además veremos que tiene bastante menos tamaño que el original. Reiniciamos, y cuando arranque ya no volverá a salir el error. Lo malo es que cuando se actualice de nuevo la versión del kernel, probablemente volverá a ocurrir lo mismo.

Y ahora que ya funciona el ordenador y arranca ¿para qué se puede usar con su limitada potencia? Bueno, diría que eso es casi lo de menos, lo divertido es hacerlo funcionar, pero lo he estado usando para capturar tráfico de redes wifi vecinas con fines puramente educacionales ;-)

miércoles, 28 de mayo de 2008

En momentos de tormenta...

... como el que está siendo ahora mismo, cuando estoy trabajando con el ordenador me entra el acojone de que haya un corte eléctrico y se me pierdan datos. Se supone que en los sistemas de ficheros modernos, como ext3 o reiserfs, gracias al journaling el disco no quedaría en un estado inconsistente, pero no se asegura que los datos escritos sean los más recientes.

Yo, por si acaso, en momentos de tormenta como el de ahora me convierto en root y ejecuto.

mount / -o remount,sync

que lo que hace es volver a montar la partición raiz con la opción sync, que sirve para que los datos se escriban siempre en el disco sin pasar por la caché del sistema. Esto afecta al rendimiento, pero es temporal ya que la siguiente vez que arranca el ordenador se vuelve a montar con las opciones habituales, entre las que no está la de sync.

No estoy seguro de que sirviera de mucho en caso de catástrofe eléctrica, pero me quedo más tranquilo...

lunes, 31 de diciembre de 2007

Recuperando tabla de particiones perdida

Ayer pasé una "divertida" tarde luchando a brazo partido por recuperar la tabla de particiones de mi disco duro. Todo empezó cuando tuve la feliz idea de probar el comando grub-reboot, que sirve para reiniciar un sistema Linux y hacer que se arranque con la entrada del menú de GRUB que le indiquemos.

No se por qué (aunque lo intuyo, ver final del post) cuando se reinició el ordenador en lugar de arrancar el Windows (que era lo que estaba probando), lo que arrancó fue... nada. Así que cogí el CD de instalación de mi Kubuntu y arranqué con él, esperando que se arreglara simplemente reinstalando el GRUB, cosa sencilla y que ya he hecho otras veces.

Tras arrancar desde el CD, abro una consola como root y me aseguro de que se ve la partición del disco, ejecutando fdisk -l. ¡Horror! No es que no vea la partición del Linux, es que no ve ninguna, el mensaje que devuelve dice que el disco ¡no tiene particiones!

Gracias a que el CD con el que he arrancado es live puedo utilizar el entorno gráfico y el navegador para buscar en Internet la forma de arreglarlo. Encuentro una utilidad llamada gpart que escanea el disco duro en busca de particiones. Sus creadores han pensado en todo y hay una versión compilada estáticamente para Linux, con lo que solo hay que descargársela y ejecutarla. Al hacerlo encuentra algunas de las particiones que tenía, y me da la opción de escribir la tabla en el disco. Como no tengo mucho que perder, le digo que sí y lo hace inmediatamente. Sin necesidad de reiniciar, compruebo que puedo montar la partición de mi Linux, y que está todo ahí. No sería demasiado catastrófico que se perdiera porque tengo la buena costumbre de hacer backup de vez en cuando en otro disco, pero sería un rollo tener que instalar otra vez el sistema y configurarlo a mi gusto.

Bien, reinicio y me sale el GRUB. El Windows no lo puedo arrancar, pero el Linux sí, así que eso hago. Mi objetivo ahora es intentar recuperar la partición de Windows. Tampoco tengo datos en ella, pero hay dos cosas por las que me interesa: Porque es un XP legal instalado en lugar del Vista que traía, y porque tengo ahí mis partidas del Zero Hour :-)

Antes de hacer ningún experimento me guardo en una memoria USB la tabla de particiones actual, por si acaso. Aunque no sea la correcta, por lo menos me arranca el ordenador con ella.

Busco y encuentro otra utilidad, TestDisk, similar a la anterior y que también revisa todo el disco duro buscando vestigios de particiones. Esta parece que funciona algo mejor, ya que encuentra incluso la definición de la partición original del Windows Vista que venía preinstalado en mi portátil. La de XP no aparece, pero da la opción de hacer un escaneo más profundo y tras unos minutos la encuentra. Le digo cuales son las particiones que tenía y las restauro.

Reinicio de nuevo y ya puedo arrancar el Windows. Perfecto, pienso, pero aun no ha terminado la cosa, porque cuando vuelvo a reiniciar para volver a mi querido Linux ahora no arranca, al seleccionarlo en el GRUB me da este error:
Error 17, cannot mount selected partition
Vuelvo a arrancar con el CD y busco información. Hay que reinstalar el GRUB, así que ejecuto:

grub-install /dev/sda

Pero da un error de que no encuentra el directorio de instalación de GRUB. Para solucionarlo tengo que indicarle dónde está, así que primero hay que montar la partición en algún sitio, por ejemplo en /mnt:

mount /dev/sda6 /mnt

A continuación reinstalar GRUB indicándole el sitio anterior:

grub-install --root-directory=/mnt /dev/sda

Con esto es suficiente el 99% de las veces, pero dado el problema que he tenido con la tabla de particiones me da un error, de que no encuentra el fichero stage1. Vuelvo a buscar y encuentro la solución. Primero hay que ejecutar grub a secas, lo que hace que se le puedan ejecutar comandos interactivamente, y entonces hago lo siguiente:

grub> find /boot/grub/stage1
Me devuelve (hd0,5)
grub> root (hd0,5)
grub> setup(hd0)

Y se instala sin errores. Vuelvo a reiniciar, y al elegir la entrada del GRUB para arrancar me vuelve a decir que no puede montar la partición. Presiono la 'e' para editarla, y veo que hay una entrada en la que pone root (hd0,6), así que la sustituyo por (hd0,5), y presiono la 'b' para que arranque de ella, y por fin todo vuelve a funcionar como antes. Por alguna razón ha cambiado el número de la partición del sistema con todo este lío (antes era la 6 y ahora es la 5). Para que no vuelva a ocurrir lo del arranque, corrijo el fichero /boot/grub/menu.lst con la nueva información.

Y ahora, las conclusiones:
  1. Hay que hacer copia de seguridad de nuestros datos de vez en cuando. Yo tenía hecha una reciente, así que todo este proceso para recuperarlos ha sido para mi simplemente una molestia. Si no los hubiera tenido, hubiera sido una lucha desesperada. Prefiero las molestias a la desesperación.

  2. Hacer copia de seguridad del sector de arranque (MBR), que contiene la tabla de particiones es muy simple, basta ejecutar:

    dd if=/dev/sda of=copia_tabla.bin bs=512 count=1

    Que copia los primeros 512 bytes del disco en el fichero copia_tabla.bin. Para restaurarla hay que ejecutar el comando contrario. Desde hoy, este fichero lo he añadido a mi copia de seguridad.

  3. ¿Por qué me pasó todo esto simplemente por ejecutar grub-reboot? No lo se, puede ser debido a algún problema con la tabla de particiones original o algún tema de comunicación BIOS - sistema sobre la geometría del disco. Lo miraré con calma un día de estos.


Links de utilidad:

- gpart, programa de recuperación de particiones.
- TestDisk, otro programa de recuperación de particiones, más grande, más completo, y para más sistemas (incluido Windows).
- Solución al problema de reinstalación de GRUB.