martedì 21 settembre 2010

Primo soccorso per XP (Fixmbr-Fixboot-Bootcfg /rebuild)

 Può capitare per i più svariati motivi, di non poter più accedere a Windows XP.
Motivi per cui il disco potrebbe non essere più bootabil/di avvio, oppure che l'installazione non venga trovata per problemi al file boot.ini oppure che ci siano problema al MBR.






Gli errori più noti risolvibili con questo medoto sono:
  • "Tabella delle partizioni non valida"
  • "Errore nel caricamento del sistema operativo"
  • "Sistema operativo mancante"
  • "Errore lettura da disco"
  • "NTLDR mancante"
  • "NTLDR compresso"
  • "File Boot.ini non trovato o danneggiato"
  • "Boot.ini non aggiornato"

Se vuoi provare la soluzione mirata gli errori segnalati in rosso sono risolvibili da col fix mbr, quelli in blu da fix boot mentre quelli in verde da bootcfg /rebuild.
La procedura risolutiva più generica è la sequenza di questi comandi utilizzati tramite la console di ripristino presente nel cd di Windows XP oppure in Sardu, o in UBCD4Win. Una volta che hai impostato il boot da cd o usb e sei arrivato alla riga dei comandi della console di ripristino di XP digita i seguenti comandi oppure solo quello che ti interessa per la risoluzione mirata:
  • fixmbr (batti invio) (salta questo comando se utilizzi un bootloader diverso da quello di XP)
  • fixboot (conferma con S se console in italiano o Y se in inglese e batti invio)
  • bootcfg /rebuild (e batti invio)
  • attendi il rilevamento delle installazioni
  • premi S alla successiva domanda
  • quando ti chiede di inserire l'identificatore scrivi Windows XP provvisorio
  • quando ti chiede di inserire l'identificatore di caricamento batti invio
  • rimuovi il cd e digita exit e batti invio per uscire e riavviare
  • al successivo riavvio, se non ci sono altri problemi, ti chiederà con che windows partire, tu scegli Windows XP provvisorio (se hai usato bootcfg /rebuild)


Se hai usato il comando bootcfg /rebuild a questo punto non ti resta che sistemare il file boot.ini lasciando solo la stringa corretta. Quello sotto è un esempio di boot.ini con un solo Windows nel disco 0 e partizione 1 
[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="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
Dopo avere eseguito la sequenza di comandi il file boot.ini diventa così
[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="Microsoft Windows XP Professional" /noexecute=optin /fastdetect multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP provvisorio

In questo caso la parte iniziale della stringa multi(0)disk(0)rdisk(0)partition(1) è identica quindi puoi lasciare tranquillamente la riga già esistente cancellando quella appena creata con il comando bootcfg /rebuild ossia multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP provvisorio Se invece la prima parte della stringa fosse diversa sostituisci provvisorio con la versione del tuo XP e aggiungi /noexecute=optin /fastdetect ed alla 3° riga sostituisci l’indirizzo corretto che c’era nella riga di Microsoft Windows XP provvisorio.