miércoles, 29 de julio de 2009

Cómo hacer backup del MBR

Escribimos en una ventana de terminal, con el usuario root:

dd if=/dev/hda of=/home/usuario/backupMBR bs=512 count=1

Por supuesto, un backup no vale de nada si no se puede restaurar, para ello, arrancamos desde un Live CD (u otro medio) y escribimos:

dd if=/dev/sda/backupMBR of=/dev/hda bs=512 count=1

Siendo en estos casos:
  • hda: la unidad que corresponda.
  • sda: la unidad que corresponda.
  • backupMBR: El nombre del fichero donde almacenamos el backup.

¿Qué es el MBR?

El MBR (Master Boot Record) es el sector del disco duro en el que se definen las particiones y permite el inicio del sistema. Obviamente, si este sector se pierde o se corrompe, tendremos dificultades para iniciar nuestro sistema operativo.

En la práctica, el MBR casi siempre se refiere al sector de arranque de 512 bytes, o el partition sector de una partición para ordenadores compatibles con IBM. Debido a la amplia implantación de ordenadores PC clónicos, este tipo de MBR se usa mucho, hasta el punto de ser incorporado en otros tipos de ordenador y en nuevos estándares multi-plataforma para el particionado y el arranque.

Algunas veces se emplea para el arranque del sistema operativo con bootstrap, otras veces es usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para identificar un dispositivo de disco individual, aunque en algunas máquinas esto último no se usa y es ignorado.

martes, 28 de julio de 2009

Arrancar Linux con NTLoader (gestor de arranque XP)

Si tenemos un sistema con XP y usamos el gestor de arranque que incluye, no es necesario perder ese sistema de arranque ni tocar el MBR para poder arrancar Linux.

Como requisito, Linux ha de estar en una partición primaria, no servirá si lo tenemos en una partición extendida, pues allí no va a poder alojar su propio cargador en la partición que ocupa. Las particiones primarias son las que tengan un número igual o inferior a 4.

Suponiendo que la partición root de Linux es /dev/hda2 (segunda partición primaria del primer disco IDE), debemos instalar en ella (no en el MBR, ni en /dev/hda) uno de sus gestores de arranque habituales, como GRUB o LILO.

Teniendo el sistema en estas condiciones, ya desde Linux y como root, copiamos a un archivo el sector de arranque:

dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

Movemos el archivo /bootsect.lnx recién creado a la partición iniciadora de Windows (si la tenemos montada), o a un diskette en caso contrario, del que luego lo copiaríamos a C:\ :

mv /bootsect.lnx /mnt/win_c/
/mnt/win_c sería la partición del Windows que inicia.

Desde Windows ahora, al archivo C:\boot .ini, le agregamos una entrada para que cargue Linux, basada en el archivo que le hemos agregado. Como probablemente esté oculto, primero le quitamos los atributos:

attrib -s -h c:\boot.ini

Editamos ya el boot.ini, agregándole una línea indicando la carga de Linux, dentro de la sección [operating systems], que diga:

C:\bootsect.lnx="Linux"

Grabamos el archivo modificado y le devolvemos sus atributos:

attrib -s -h c:\boot.ini

En el siguiente reinicio, ya dispondremos de opción de cargar Linux desde el mismo menú que teníamos los Windows.

lunes, 27 de julio de 2009

Eliminar escritorios virtuales

Puede parecer una idea rara, pero eliminar escritorios virtuales que no utilicemos liberará recursos.

Para hacerlo editen el archivo /etc/inittab y busquen las líneas que indican el inicio de una terminal "getty", por ejemplo: "2:123:respawn:/sbin/míngetty tty2". Eliminen cada una de esas líneas por escritorio que quieran quitar; el número posterior a tty indica el número de terminal (a los cuales accedemos presionando ).

Una vez hecho esto y reiniciado, ya no tendrán tantos terminales, y habrán ganado unos cuantos megabytes de memoria.

miércoles, 15 de julio de 2009

a propósito de ...

apropos o su equivalente man -k te permite buscar en man palabras clave.

whatis y su equivalente man -f son muy parecidos a apropos pero solo buscan resultados entre los nombres de programas.

martes, 14 de julio de 2009

Organización de las páginas man

Para Linux tódas las páginas man son parte del mismo manual, estructurado en varias secciones:

  • Sección 1 programas ejecutables, comandos de la shell
  • Sección 2 LLamadas del sistema
  • Sección 3 LLamadas de bibliotecas
  • Sección 4 Archivos especiales (en /dev)
  • Sección 5 Formatos de archivo y convenciones
  • Sección 6 Juegos
  • Sección 7 Miscelanea
  • Sección 8 Administración del sistema
  • Sección 9 rutinas del núcleo no standard
  • Sección n documentación nueva no ubicada aun (n de nueva; en desuso)
  • Sección o documentación antigua mantenida temporalmente (o de old, en desuso)
  • Sección l documentación local, específica del sistema (l de local, en desuso)
Es frecuente que algunas páginas man estén en varias secciones, si se llaman sin mas parámetros, se mostrará la pagina de la primera sección que se encuentre. Si queremos saben en que secciones mirar podemos usar man -f item_a_buscar:

$ man -f ls
ls (1) - list directory contents

$ man -f man
man (1) - an interface to the on-line reference manuals
man (7) - macros to format man pages

Puedes indicar la sección que quieres leer: man 1 man.

lunes, 13 de julio de 2009

Ayuda en linux

La forma mas rapida y completa de obtener ayuda en linux es acudir a las paginas man. Como contrapartida, la información no está presentada de forma intuitiva y puede ser un poco frustrante al principio sino sabes buscar.

Las páginas man se distribuyen junto con el programa al que sirven de ayuda, por lo que normalmente solo tendrás instaladas las paginas de los programas instalados, y será la ayuda adecuada a la versión instalada.

jueves, 2 de julio de 2009

Recuperación de archivos en Linux con Magic Rescue

Magic Rescue es una herramienta que se distribuye libremente y está disponible en los repositorios de Ubuntu, aparentemente no tiene la limitación sobre el formato ext3 y es bastante estable.

Lo primero sera instalar Magic Rescue.

sudo apt-get install magicrescue

Para conocer cuales son los formatos soportados, listamos el contenido de la carpeta 'recipes', donde se incluyen tanto para aplicaciones de ofimática como multimedia. Las recetas son pequeños archivos de texto que indican los encabezados de cierto tipo de archivo, para que la herramienta pueda identificarlos y recuperarlos.

ls /usr/share/magicrescue/recipes
avi canon-cr2 elf flac gimp-xcf gpl gzip jpeg-exif jpeg-jfif mp3-id3v1 mp3-id3v2 msoffice perl png zip

En caso de duda sobre cuales son nuestras unidades de disco en el sistema, lo consultamos con df.

df -h

S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda1 531G 3.3G 501G 1% /
tmpfs 1007M 0 1007M 0% /lib/init/rw
varrun 1007M 344K 1007M 1% /var/run
varlock 1007M 0 1007M 0% /var/lock
udev 1007M 172K 1007M 1% /dev
tmpfs 1007M 392K 1007M 1% /dev/shm
lrm 1007M 2.4M 1005M 1% /lib/modules/2.6.28-12-generic/volatile

Una recomendación en este tipo de procedimientos es montar una unidad independiente a la que se va a revisar, de manera que no se sobreescriban archivos eliminados con los que se vayan recuperando. Para este ejemplo pensaremos que tenemos una unidad /dev/sdb1 con la carpeta /media/recuperados. Ya con esta información, iniciamos la recuperación con esta línea en bash.

sudo magicrescue -d /media/recuperados/ -r /usr/share/magicrescue/recipes/msoffice /dev/sda1

Donde:

-d es la unidad/carpeta para salvar los archivos recuperados.
-r es la receta a utilizar, en el ejemplo estamos recuperando archivos de MS Office.

Este proceso puede tardar mucho tiempo(horas), dependiendo del tamaño de la partición, etc. Para más información, recomiendo revisar la pagina man de Magic Rescue.