Xestores de arranque Windows

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

Windows XP e Windows 2003

En versións anteriores de Windows (como Windows XP e Windows 2003), boot.ini era un arquivo do sistema que contiña información acerca dos sistemas operativos Windows instalados no equipo. Esta información mostrábase no proceso de inicio, ao encender o equipo. Era mais útil en configuracións de arranque múltiple, ou ben para usuarios avanzados ou administradores que necesitaban personalizar o inicio de Windows.

No arquivo Boot.ini para indicar o lugar onde están instalados cada un dos sistemas operativos empréganse os parámetros ARC - Advanced RISC Computing.

  • Un arquivo Boot.ini que permite arrancar:
    • Windows 2003 instalado na primeira partición do primeiro disco IDE
    • Windows XP instalado na primeira partición do segundo disco IDE

terá o seguinte contido:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP" /fastdetect

Este Boot.ini debe estar gardado no disco configurado por defecto para arrancar dende o BIOS.

Se o usuario prevé a avaría do disco no que se atopa a partición que ten o arquivo boot.ini, podería crear un disquete formateado en Windows e cos arquivos no seu interior:

-NTDETECT.COM
- NTLDR
- Boot.ini

Arrancar Linux empregando boot.ini

Se temos un sistema con NT ou XP e queremos empregar o xestor de arranque que estes incorporan para seleccionar entre un XP e un Linux, podemos facelo tal e como explicamos aquí.

Como requisito, Linux deberá estar nunha partición primaria, non servirá se o temos nunha partición lóxica, pois alí non vai a poder aloxar o seu propio cargador de arranque, e esa é unha condición indispensable para poder arrancar linux cun xestor de arranque distinto ao seu propio xesto.

Supoñendo que a partición root de Linux é /dev/hdb1 (primeira partición primaria do segundo disco IDE), debemos instalar nela (non no MBR do disco principal nin no /dev/hdb) un dos xestores de arranque linux, como GRUB 2, GRUB ou LILO.

Tendo o sistema nestas condicións, xa dende Linux e como root, copiamos a un arquivo o sector de arranque:

#Primeiramente miramos cales son os discos instalados:
 fdisk -l
#Unha vez temos localizado o disco,
#copiamos o primeiro sector da partición de arraque:
 dd if=/dev/hdb1 of=/bootsect.lnx bs=512 count=1

Movemos o arquivo /bootsect.lnx á partición iniciadora de Windows, que previamente temos que montar:

 mkdir /mnt/win
 mount -t ntfs /dev/hda1 /mt/win/
 mv /bootsect.lnx /mnt/win/

Dende Windows agora, ao arquivo C:\boot.ini, agregámoslle unha entrada para que cargue Linux.

#Primeiro quitámoslle os atributos de oculto e sistema:
 attrib -s -h c:\boot.ini
#Editamos agora o boot.ini, agregándolle unha liña 
#indicando donde gardamos a copia do sector de arranque da partición:
 C:\bootsect.lnx="Linux"
#Grabamos o arquivo modificado e lle devolvemos os seus atributos:
 attrib +s +h c:\boot.ini

No seguinte reinicio, xa disporemos da opción de cargar Linux dende un menú Windows.

Windows Vista e posteriores

Nas versións modernas de Windows, o archivo boot.ini remplazouse por Boot Configuration Data (Datos da configuración de arranque) - BCD. Este arquivo é mais versátil que boot.ini e pode servir para plataformas informáticas que usan medios distintos do sistema BIOS (como EFI) para iniciar o equipo.

Se precisas facer cambios en BCD, como quitar entradas da lista de sistemas operativos mostrados, use a ferramenta da liña de BCDEdit, unha ferramenta avanzada desenrolada para administradores e profesionais informáticos:

Algunhas opcións útiles de BCDEdit

Antes de manipular o BCD estaría ben facer unha copia de seguridade que podemos gardar nun USB ou, se é o caso dunha máquina virtual, noutro disco duro.

Se supoñemos que queremos gardar o arquivo copia no disco D, o comando sería:

 bcdedit /export D:\BCDbackup

Logo poderemos restauralo en calquera momento, pois é moi probable que tantas modificacións nos fastidien o arranque. O comando a utilizar sería o seguinte:

bcdedit /import D:\BCDbackup

Arranque dual Windows 7 + Ubuntu Desktop.

  • Instalamos o GRUB2 na partición non no MBR do disco.
  • Cun Live CD:
# Creamos un directorio en /mnt chamado share
$ mkdir /mnt/share
# Montamos a partición C: de Windows 7
$ mount /dev/sda2 /mnt/share
# Copiamos o MBR da partición que ten o Ubuntu
dd if=/dev/sdb1 of=/mnt/share/linux.bin bs=512 count=1
# Ou copiamos a imaxe do grub de /boot/grub/boot.img á partición de Windows 7
  • Arrancamos Windows 7 e, logo, a liña de comandos como Administrador:
> bcdedit /create /d “Linux” /application BOOTSECTOR
REM o comando devolve un ID enorme que teremos que ir copiando nos seguintes
REM comandos, aquí poñerase como {ID}
> bcdedit /set {ID} device partition=c:
> bcdedit /set {ID}  path \linux.bin
> bcdedit /displayorder {ID} /addlast
> bcdedit /timeout 30

Eliminar unha entrada do menú de arranque:

REM Entrada Legacy:
> bcdedit /delete {ntldr} /f
REM Entrada normal:
> bcdedit /delete {ID}

Outras ferramentas que permiten modificar o BCD

Ademais de empregando a ferramenta BCDEdit, os outros métodos nos que se pode modificar o BCD son os seguintes:

  • Inicio e Recuperación. Neste modo podemos seleccionar, dun xeito sinxelo, cal é o sistema operativo por defecto cando o equipo arranca. Tamén se pode cambiar o tempo que o equipo espera a que se escolla sistema operativo cando aparece a lista dos que nel están instalados. Esta ferramenta podemos atopala nas Propiedades de Sistema no enlace Configuración avanzada do sistema.
  • Utilidade Configuración do sistema (Msconfig.exe). Msconfig.exe tamén nos permite configurar as opcións de arranque de cada un dos sistemas operativos instalados.
  • Proveedor WMI BCD. O Instrumental de administración de Windows (WMI, Windows Management Instrumentation) BCD nos provee dunha serie de clases de obxectos que nos permiten modificar o BCD. Para mais información podemos acceder ao seguinte enlace.
  • EasyBCD é unha ferramenta coa que podemos administrar ou arreglar o sector de arranque do noso(s) disco(s) duro(s) en caso de que teñamos mais de 1 sistema operativo para así evitar algunha partición no momento da instalación do novo sistema operativo. Un exemplo de isto sería a eliminación do acceso a Windows 7 cando se instala Windows XP.
Ollo!
Se tes que utilizar varias veces a aplicación EasyBCD ao mellor non garda os cambios realizados, se é así fai o seguinte:
1.- Configurar as entradas (engadir, eliminar,...).
2.- Seleccionar a sección: BCD Backup/Repair.
3.- Casiña de verificación: Re-create/repair boot files.
4.- Premer en: Perform Action.
EasyBCD.png

Práctica Windows 7 + Windows XP

Cunha máquina Windows 7 instalada, no mesmo disco duro instalamos o Windows XP nun espacio libre existente. Vemos que, logo de instalalo, cando reiniciamos, iníciase o Windows XP pero non temos xeito de arrancar o Windows 7. O cargador de arranque do Windows 7 foi borrado e substituído polo de Windows XP e este, por defecto, non arranca ningún outro sistema que o propio XP.

O mellor nestes casos é restaurar o cargador BCD coa ferramenta de recuperación de Windows 7 dende o DVD de instalación.

Arrancamos có DVD de Windows 7 e seleccionamos "Seguinte":

RepararW7 01.gif

Sae un menú que nos pide se queremos instalar de novo o Windows 7 ou "Reparar o equipo", seleccionamos esta última opción:

RepararW7 02.gif

O programa escanea os sistemas instalados e detecta o noso Windows 7 perdido:

RepararW7 03.gif

Agora seleccionamos a opción "Símboo do sistema" para poder introducir o comando que restaura o cargador de arranque BCD:

RepararW7 04.gif

E agora executamos o comando bootsect:

bootsect /nt60 ALL /force /mbr

RepararW7 05.gif

Se reiniciamos o ordenador, agora, o sistema operativo que arranca é o Windows 7. Unha vez iniciado iniciamos como Administrador o "Símbolo de sistema" e executamos os seguintes comandos:

> Bcdedit /create {legacy} /d "Windows XP 32 bits"
REM Ao instalar Windows XP no mesmo disco duro duro que Windows 7, o arquivo ntldr 
REM gárdase na partición (de 100 MB) reservada para o sistema de Windows 7 
REM Se Windows XP está nun disco duro diferente, teremos que copiar manualmente 
REM o arquivo ntldr á partición reservada para o sistema.
> Bcdedit /set {legacy} device boot
> Bcdedit /set {legacy} path \ntldr
> Bcdedit /displayorder {legacy} /addlast

Xa está, se reiniciamos o equipo veremos o menú do cargador de arranque BCD coas dúas opcións, unha por sistema operativo.

Se, por último, queremos cambiar cousas como: o sistema operativo por defecto, o tempo de espera de inicio deste sistema operativo, a orde dos sistemas operativos no menú, etc., o mellor é ir ao seguinte enlace.


Reparar arranque Windows 8

Hai moitos motivos polos que o xestor de arranque de Windows se pode averiar. Nós, para simular esta práctica, utilizaremos unha máquina virtual con dous discos duros. O primeiro disco ten instalado Windows 8.1 e o segundo Ubuntu. A máquina ten instalado o xestor de arranque de Windows para escoller que sistema operativo iniciar.

Para estropear o xestor de arranque de Windows, borraremos dende Ubuntu o MBR do disco utilizando o comando dd.

# Se queremos borrar todo o MBR incluíndo a táboa de particións:
 sudo dd if=/dev/zero of=/dev/sda bs=512 count=1

# Se queremos borrar o MBR pero deixar intacta ás táboas de particións:
 sudo dd if=/dev/zero of=/dev/sda bs=446 count=1

# Estes exemplos son para borrar o MBR do disco sda
# Se queres saber antes cales son os discos que tes no sistema
# recorda que podes empregar o comando:
 fdisk -l

Para recuperar o xestor de arranque de Windows, iniciaremos o equipo utilizando o CD de instalación do propio Windows.

Unha vez que temos o símbolo do sistema aberto, executamos o seguinte comando que o que fai é restaurar o xestor de arranque do equipo:

bootsect /nt60 ALL /force /mbr

Pero se comprobamos o Boot Configuration Data (Datos da configuración de arranque) - BCD observaremos que os parámetros de arranque non son correctos.

Para reparar o BCD especificando correctamente onde están as particións para poder inicialas debemos executar os seguintes comandos:

bcdedit /set {bootmgr} device partition=C:
bcdedit /set {default} device partition=D:
bcdedit /set {default} osdevice partition=D:
bcdedit /set {ID da partición de Linux} device partition=D:


Podes atopar información na seguinte ligazón.

-- Cristina París