Foro de elhacker.net

Sistemas Operativos => Windows => Mensaje iniciado por: marrison en 24 Noviembre 2012, 22:58 pm



Título: problema hal.dll ayuda
Publicado por: marrison en 24 Noviembre 2012, 22:58 pm
Hola buenas, tengo ubuntu y windows xp, recien instalado, y cuando lo voy a abrir me dice que falta el hal.dll

He estado buscando, me he descargado uno lo he reemplazado y nada.. he oido que desde un cd de windows en la consola lo podia arreglar, pero si lo pongo tengo miedo a que me borre el ubuntu, o el grub de ubuntu...

alguna idea para arreglarlo?

muchas gracias de antemano


Título: Re: problema hal.dll ayuda
Publicado por: dato000 en 24 Noviembre 2012, 23:38 pm
Hola buenas, tengo ubuntu y windows xp, recien instalado, y cuando lo voy a abrir me dice que falta el hal.dll

He estado buscando, me he descargado uno lo he reemplazado y nada.. he oido que desde un cd de windows en la consola lo podia arreglar, pero si lo pongo tengo miedo a que me borre el ubuntu, o el grub de ubuntu...

alguna idea para arreglarlo?

muchas gracias de antemano

En el caso de que te borre grub no ha problema, siempre puedes volver a reinstalar grub

Desde: http://www.taringa.net/posts/linux/2446299/Como-reinstalar-GRUB.html

(http://www.pelogo.org/data/phoo/2006_09_12/Capture-ubugrey.png)

Muchos usuarios que utilizan dual-boot (entre cualquier distribución de GNU/Linux, y MS- Windows), instalaron sus sistemas operativos siguiendo esta regla: "...primero MS-Windows, luego Linux...", asi existe la posibilidad de elegir con que sistema operativo iniciar el equipo.
Bien, pero, ¿qué pasa si primero instalamos nuestro flamante Ubuntu, y luego MS-Windows?.

La respuesta es simple, desaparece la opción de elegir entre que sistema operativo iniciar la PC. A este menú que nos aparece al inicio, y nos pregunta con que SO queremos iniciar se lo conoce con el numbre de GESTOR DE ARRANQUE, existen muchos, pero los mas conocidos son LILO, SYSLINUX y GRUB (nuestro Ubuntu, adopta este ulitmo como gestor de arranque).

Antes de continuar vamos a ver una pequeña introducción a lo que es el GRUB y como funciona:

En computación, el GRand Unified Bootloader (GRUB) es un gestor de arranque múltiple que se usa comúnmente para iniciar dos o más sistemas operativos instalados en una misma computadora.

Técnicamente, un gestor multiarranque es aquel que puede cargar cualquier archivo ejecutable y que contiene un archivo de cabecera multiarranque en los primeros 8 KB del archivo. Tal cabecera consiste en 32 bits de un número “mágico”, 32 de indicadores (flags), otros 32 de un número “mágico”, seguidos de información sobre la imagen ejecutable.

Una de las características más interesantes es que no es necesario instalar una partición nueva o un núcleo nuevo, pudiendo cambiar todos los parámetros en el arranque mediante la Consola de GRUB.

Mientras los gestores de arranque convecionales tienen una tabla de bloques en el disco duro, GRUB es capaz de examinar el sistema de archivos. Actualmente, soporta los siguientes sistemas de archivos:

 * ext2/ext3 usado por los sistemas UNIX y su variante GNU/Linux
 * ReiserFS.
 * XFS de SGI.
 * UFS.
 * VFAT, como FAT16 y FAT32 usados por Windows 9.x, ME
 * NTFS usado por los sistemas Windows NT/2000/XP/VISTA
 * JFS de IBM.

Su proceso de inicio es el siguiente:

 1. El BIOS busca un dispositivo de inicio (como el disco duro) y pasa el control al registro maestro de inicio (Master Boot Record, MBR, los primeros 512 bytes del disco duro).
 2. El MBR contiene la fase 1 de GRUB. Como el MBR es pequeño (512 bytes), la fase 1 sólo carga la siguiente fase del GRUB (ubicado físicamente en cualquier parte del disco duro). La fase 1 puede cargar ya sea la fase 1.5 o directamente la 2
 3. GRUB fase 1.5 está ubicada en los siguientes 30 kilobytes del disco duro. La fase 1.5 carga la fase 2.
 4. GRUB fase 2 (cargada por las fases 1 o 1.5) recibe el control, y presenta al usuario el menú de inicio de GRUB.
 5. GRUB carga el kernel seleccionado por el usuario en la memoria y le pasa el control.


Bien, ya sabiendo esto es suficiente para continuar, como hemos visto, se sobreescribe la tabla de particiones en el MBR de nuestro disco rigido, por la tabla de MS-Windows, y esta no ve los sistemas de archivos Ext2/Ext3 que usamos en nuestra distribución GNU/Linux. Asi que nuestro objetivo sera reinstalarlo, como material necesitaremos un Live CD de Ubuntu, Kubuntu, Xubuntu, etc. asi que preparamos el Setup del BIOS (si es que ya no lo esta), para que inicie desde el CD-ROM y procedemos a reinstalar el GRUB en nuestra PC.

Supongamos que ya tenemos el LIVE CD iniciado, bien ahora abriremos una terminal, y crearemos un directorio para montar nuestra partición donde se encuentra Ubuntu.

Código:
$: sudo mkdir /media/ubuntu 

Ahora montamos nuestra partición el el directorio que previamente hemos creado.

Código:
$: sudo mount -t [ext3] [partición_ubuntu] /media/ubuntu 

NOTA: Aqui es importantisimo sustituir el sistema de archivos por el que ustedes usen (ext2, o ext3), generalmente Ubuntu se instala por defecto utilizando ext3 (salvo que se le diga lo contrario).
El valor [particion_ubuntu] debemos sustituirlo por el nombre de nuestra partición que previamente debemos conocer. Para no complicar las cosas explicaremos brevemente como se llaman los dispositivos de almacenamiento "duros" en cualquier sistema Linux.

 * sda1
 Para los discos SCSI o SATA (I,II), se le atribuyen las letras sd, la siguiente letra se utiliza para saber que disco es: a si es el primero (maestro), b si es el segundo (esclavo), c si es el tercero, etc. Y el ultimo caracter a el número de partición, 1 para la primera, 2 para la segunda, 3 para la tercera, etc. Por ejemplo sdb2, seria: Segundo disco rigido SCSI o SATA partición número 2.
 * hda1
 Para los discos ATA/IDE, se le atribuyen las letras hd, la siguiente letra se utiliza para saber que disco es: a si es el primero (maestro), b si es el segundo (esclavo), c si es el tercero, etc. Y el ultimo caracter a el número de partición, 1 para la primera, 2 para la segunda, 3 para la tercera, etc. Por ejemplo hda3, seria: Primer disco rigido ATA/IDE partición número 3.

Nota: A estos valores previamente explicados escribirlos sin los corchetes [].

Volviendo a lo anterior supongamos que nuestro sistema se encuentra instalado en sda4, con formato en ext3, como esta es la partición que montaremos debemos hacer lo siguiente:

Código:
$: sudo mount -t ext3 /dev/sda4 /media/ubuntu 

Bien, si no nos devuelve ningun codigo de error la partición ya se encontraria montada en el directorio que le hemos especificado (en este caso /media/ubuntu).
Ahora vamos a cambiar el origen de root de nuestro sistema de archivos al directorio en el que hemos montado Ubuntu, para que al instalar grub interprete que el "/" del sistema está ahí. Para ello usamos chroot.

Código:
$: sudo chroot /media/ubuntu/ 

Perfecto ya hemos echo el chroot a el directorio /media/ubuntu
Ahora instalaremos el GRUB en el MBR del primer disco duro (ya que sera quien iniciara primero), que normalmente estará configurado como Primary Master (sda o hda, dependiendo de la interfaz de disco que utilizen).

Código:
$: sudo grub-install /dev/sda 

Ahora realizamos una actualización a el archivo /boot/grub/menu.lst, para que asigne las entradas nuevas, para ello escribimos:

Código:
$: sudo update-grub 

Y reiniciamos

Código:
$: sudo reboot 

NOTA: Recuerden previamente extraer el Live-CD


Título: Re: problema hal.dll ayuda
Publicado por: marrison en 24 Noviembre 2012, 23:55 pm
vale, pero no me soluciona el problema del hal.dll

ahora me dice que son los dll necesarios para el nucleo o no se que, inicie a modo prueba de errores y me slaen estos tre: ntoskrnl.exe hal.dll kdcom.dll

los tres estan en system32, pero no me los reconoce que hago?