PDA

View Full Version : Dual boot problemi


lo_smanettone
15-01-2016, 19:07
Avevo dual boot 7/XP con 3 partizioni (una dati).
Siccome il pc era diventato ormai lento l'ho ripristinato dalla partizione di recovery.
E' scomparso il dual boot.
Ho lanciato allora dal dos questi comandi

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=D:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

Avviando XP mi dava un messaggio che non riuscivo a leggere perchè scompariva molto velocemente. Sono riuscito solo a vedere boot.ini.

Ipotizzando di aver sbagliato partizione l'ho cambiata:

bcdedit /set {ntldr} device partition=C:

Ora compare un altro messaggio:

Avvio di windows non riuscito

File: \ntldr
Stato: 0xc000000f
Informazioni: Impossibile caricare la voce selezionata. Applicazione danneggiata o mancante.

Ho usato la linea di comando perchè non volevo installare EasyBCD però mi sa che ho fatto qualche errore :D

x_Master_x
15-01-2016, 19:47
Le lettere come le scegli, a caso? :D
Sei su Windows 7 quindi la partizione di XP non potrà mai essere C:\
Potrebbe essere D:\ a patto che non sia presente la partizione "Riservato per il sistema", in tal caso quella partizione é mappata come C:\ quindi Windows é D:\ e quella successiva, che in teoria é XP, é E:\
Il tutto senza vedere il tuo schema di partizioni, sono solo ipotesi.

Styb
15-01-2016, 21:27
.....Ho usato la linea di comando perchè non volevo installare EasyBCD però mi sa che ho fatto qualche errore :D
Non ti complicare la vita e installa EasyBCD. :sofico:

lo_smanettone
15-01-2016, 22:54
Le lettere come le scegli, a caso? :D
Sei su Windows 7 quindi la partizione di XP non potrà mai essere C:\
Potrebbe essere D:\ a patto che non sia presente la partizione "Riservato per il sistema", in tal caso quella partizione é mappata come C:\ quindi Windows é D:\ e quella successiva, che in teoria é XP, é E:\
Il tutto senza vedere il tuo schema di partizioni, sono solo ipotesi.

Si, ho iniziato ad andare a caso :D .
Inizialmente avevo scelto D perchè così segna in gestione

http://s1.postimg.org/9e2v3zt1b/Immagine_1.png

Con D settata però scegliendo XP al boot poi si riavvia.

x_Master_x
16-01-2016, 08:29
In "Gestione Disco" può essere anche Z:\ devi guardare l'ordine delle partizioni. La certezza della lettera da usare, dal prompt del DVD di Windows 7:

DISKPART
SELECT DISK 0
LIST VOLUME


Ammesso che sia D:\ ( se seguo l'ordine in alto, sotto Volume, è più facile che sia F:\ ) l'errore che hai potrebbe essere questo?

Invalid BOOT.INI file


Se sì non è legato a Windows 7 ma ad XP. Controlla da Windows 7 se il file boot.ini è presente nella root della partizione di XP. Il contenuto è simile a questo riportato nell'articolo:
Modifica manuale del file Boot.ini (https://support.microsoft.com/it-it/kb/323427)

lo_smanettone
16-01-2016, 09:43
Questo è il report di diskpart.

http://s22.postimg.org/6q8c1s05t/diskpart.png


L'errore esatto è:
File BOOT.ini non valido.
Avvio in corso da C:\windows\
NTDETECT fallito.

Il boot.ini non è presente nella root di XP.

x_Master_x
16-01-2016, 13:04
Questi sono i file che dovresti trovare nel tuo disco D:\ sono probabilmente file nascosti e di sistema. Se ne manca qualcuno lo trovi nel CD di Windows XP
http://i63.tinypic.com/2v8if6h.png

Questo è il contenuto del mio boot.ini

[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

lo_smanettone
16-01-2016, 15:54
Non vedevo i file perchè non avevo tolto la spunta a "Nascondi i file protetti di sistema".

Allora i file ci sono tutti e questo è il contenuto del file boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Confrontando anche il report di diskpart il numero della partizione è assegnato correttamente. O no?
Unica cosa che noto è che quando ho creato la voce gli ho assegnato il nome "Windows XP" e non "Microsoft Windows XP Professional".

x_Master_x
16-01-2016, 17:09
Si è corretto. Con il CD di Windows XP vai nella console di recovery con R e dai i comandi:

BOOTCFG /scan
BOOTCFG /fixboot
BOOTCFG /rebuild

Il ripristino che hai effettuato deve aver corrotto il boot di XP. Una volta che XP parte correttamente, puoi effettuare il ripristino dei file di avvio di Windows 7 o poi i comandi per aggiungere l'entry di XP.

Descrizione del comando Bootcfg e delle relative modalità di utilizzo (https://support.microsoft.com/it-it/kb/291980)

lo_smanettone
16-01-2016, 17:39
Si è corretto. Con il CD di Windows XP vai nella console di recovery con R e dai i comandi:

BOOTCFG /scan
BOOTCFG /fixboot
BOOTCFG /rebuild

Il ripristino che hai effettuato deve aver corrotto il boot di XP. Una volta che XP parte correttamente, puoi effettuare il ripristino dei file di avvio di Windows 7 o poi i comandi per aggiungere l'entry di XP.

Descrizione del comando Bootcfg e delle relative modalità di utilizzo (https://support.microsoft.com/it-it/kb/291980)

Una volta ripristinato il boot da console quindi Windows 7 non farebbe più il boot e dovrei ripristinare anche questo?

lo_smanettone
17-01-2016, 21:15
Nella console mi chiede la password di amministratore. Non ricordo di averne settata una.

UtenteSospeso
17-01-2016, 23:06
Se non ne hai mai inserita una prova a premere ENTER, il boot.ini credo debba andare nella prima partizione o comunque quella di boot non ricordo benissimo ho abbandonato XP da alcuni anni se non va mettilo nellla prima partizione .

Non userei neanche BOOTCFG , mi sembra che riscriva l'MBR finisce che poi non si avvia più Seven .

Anzi, mentre scrivo ...mi sovvien... ( disse Alberto di Giussano ...) , mi sa che va proprio nella partizione di boot infatti un sistema garantito per non avere problemi col dualboot tra Vista/7 e XP era installare prima XP e poi Vista/7 così Seven per il boot usava la stessa partizione di XP solo che rimpiazza nell'MBR il caricamento di NTLDR con quello di BOOTMGR e dal bootmenù di Vista/7 si va a caricare il boot.ini per avviare XP .

Nel tuo caso hai ripristinato il sistema che ti ha cancellato i files della partizione di boot per cui dento non c'è più boot.ini , devi comunque aggiungerlo e poi aggiornare il bootmenù di Seven con EasyBCD o probabilmente già va bene così comè che lo hai fatto .


.

x_Master_x
18-01-2016, 08:37
Quando ti chiede la password devi solo lasciare il campo vuoto e andare avanti. UtenteSospeso se leggi bene ha tutti i file compreso boot.ini ( "Allora i file ci sono tutti" ) nella posizione giusta ma il sistema comunque non parte...

UtenteSospeso
18-01-2016, 09:57
Deve controllare la root di entrambe le partizioni ed aprire il boot.ini della partizione che contiene Seven è li il problema. Li ha ma non è chiaro dove, il boot.ini che ha postato è corretto e non può dare messaggio di non valido.

.

x_Master_x
18-01-2016, 11:48
Non esiste nessun boot.ini in Windows 7. Può essere presente solo nella root del disco di Windows XP e gli ho postato lo screenshot appositamente con tutti i file che deve contenere.

UtenteSospeso
18-01-2016, 16:56
Il boot ini dev'essere nella root della partizione di boot insieme a ntldr ed ntdetect.com indipendentemente dal sistema Windows di avvio a cui appartiene la partizione. Il boot.ini non serve a Seven ma a dire da dove deve essere caricato XP/2000 nel caso di dual boot .

.

x_Master_x
18-01-2016, 17:25
Non ho ben capito dove vuoi arrivare ma il file boot.ini non deve essere nel disco di Windows 7. Il comando:
BCDEDIT /set {ntldr} device partition=X:
Identifica la root del disco dove devono essere i file di boot ( boot.ini compreso ) ed ovviamente dovrebbe corrispondere alla partizione contenente Windows XP, non ha senso spostare i file su una partizione diversa ed assegnare quella. Non a caso il comando successivo:
BCDEDIT /set {ntldr} path \ntldr
Indica la posizione di ntldr nella partizione specificata in precedenza. Il tutto sempre se i file ci sono e la partizione specificata nel comando corrisponde.

P.S. lo_smanettone noto adesso che il report di DISKPART lo hai eseguito in Windows ma ti avevo consigliato "dal prompt del DVD di Windows 7" per controllare se la partizione di XP viene mappata effettivamente come D:\

lo_smanettone
26-03-2016, 15:09
Mi sono svegliato dal letargo.:D
La partizione sta ancora lì.
Stavolta o risolvo o la formatto.

Se non ne hai mai inserita una prova a premere ENTER, il boot.ini credo debba andare nella prima partizione o comunque quella di boot non ricordo benissimo ho abbandonato XP da alcuni anni se non va mettilo nellla prima partizione .

Se non ricordo male avevo provato senza inserirne una ma non combinava niente.

Non userei neanche BOOTCFG , mi sembra che riscriva l'MBR finisce che poi non si avvia più Seven .

E quindi cosa uso?


Nel tuo caso hai ripristinato il sistema che ti ha cancellato i files della partizione di boot per cui dento non c'è più boot.ini , devi comunque aggiungerlo e poi aggiornare il bootmenù di Seven con EasyBCD o probabilmente già va bene così comè che lo hai fatto .

Ho copiato il boot.ini che sta nella partizione di XP anche in quella di 7.
Ora al boot compare questo.

http://s5.postimg.org/rbvt2la5j/20160326_154342.png

Qualsiasi voce scelga poi viene fatto il reboot e ritorna alla schermata di selezione del sistema operativo (7 e XP).


Quando ti chiede la password devi solo lasciare il campo vuoto e andare avanti.

Avevo già provato, senza risultato.

Il boot ini dev'essere nella root della partizione di boot insieme a ntldr ed ntdetect.com indipendentemente dal sistema Windows di avvio a cui appartiene la partizione. Il boot.ini non serve a Seven ma a dire da dove deve essere caricato XP/2000 nel caso di dual boot .

.

Non ho ben capito dove vuoi arrivare ma il file boot.ini non deve essere nel disco di Windows 7.

Mettetevi d'accordo :D



P.S. lo_smanettone noto adesso che il report di DISKPART lo hai eseguito in Windows ma ti avevo consigliato "dal prompt del DVD di Windows 7" per controllare se la partizione di XP viene mappata effettivamente come D:\

Non avevo capito.
Putroppo non posso farlo perchè è un portatile e non viene fornito il dvd di installazione. Ho solamente la partizione di recupero blindata.

Altra cosa.
Ho ricontrollato con diskpart, però sempre da windows, non dal dvd.
La situazione sembra essere cambiata nel senso che ora la partizione sembra essersi spostata su 3, probabilmente a seguito dell'installazione di una periferica virtuale con Daemon.

http://s5.postimg.org/g2337n547/Immagine_1.png

Ho modificato di conseguenza il boot.ini in entrambe le partizioni.


timeout=30
default=multi(0)disk(0)rdisk(0)partition([B]3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

x_Master_x
27-03-2016, 23:01
Cambiamo approccio altrimenti non ne usciamo più. Da Windows 7, copia-incolla queste stringhe su un Blocco Note e salva con estensione .bat

: x_Master_x
@ECHO OFF
Set WinXP=E:
Set Win7=C:

XCOPY /H /E /y %WinXP%\ntldr %Win7%\
XCOPY /H /E /y %WinXP%\boot.ini %Win7%\
XCOPY /H /E /y %WinXP%\NTDETECT.COM %Win7%\

BCDEDIT /create {ntldr} /d "Windows XP"
BCDEDIT /set {ntldr} device partition=%Win7%
BCDEDIT /set {ntldr} path \ntldr
BCDEDIT /set {ntldr} description "Windows XP Professional"
BCDEDIT /displayorder {ntldr} /addlast

PAUSE


Versione per chi ha la partizione "Riservato per il sistema" come nel mio caso ma non il tuo

: x_Master_x
@ECHO OFF
Set WinXP=E:

For /f "tokens=2,3" %%a in ('ECHO LIST VOLUME ^| DISKPART') Do (
If %%b == Riservato (
Set SRP=%%a
)
)
ECHO>%Temp%\Diskpart.txt SELECT VOLUME %SRP%
ECHO>>%Temp%\Diskpart.txt ASSIGN LETTER=B:
ECHO>>%Temp%\Diskpart.txt EXIT
DISKPART /s %Temp%\Diskpart.txt

XCOPY /H /E /y %WinXP%\ntldr B:\
XCOPY /H /E /y %WinXP%\boot.ini B:\
XCOPY /H /E /y %WinXP%\NTDETECT.COM B:\

ECHO>%Temp%\Diskpart.txt SELECT VOLUME %SRP%
ECHO>>%Temp%\Diskpart.txt REMOVE LETTER=B:
ECHO>>%Temp%\Diskpart.txt EXIT
DISKPART /s %Temp%\Diskpart.txt

DEL /S %Temp%\diskpart.txt

BCDEDIT /create {ntldr} /d "Windows XP"
BCDEDIT /set {ntldr} device partition=\Device\HarddiskVolume1
BCDEDIT /set {ntldr} path \ntldr
BCDEDIT /set {ntldr} description "Windows XP Professional"
BCDEDIT /displayorder {ntldr} /addlast

PAUSE


Devi cambiare la variabile WinXP con la lettera assegnata in Windows 7. Controlla che il file boot.ini sia corretto:


timeout=30
default=multi(0)disk(0)rdisk(0)partition([B]1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Il disco è 0 e la partizione dovrebbe essere 1 ( non contano i dischi ottici e si parte da 0 ) ricordati che sono due i valori da modificare ( default e operating systems ) perché nel tuo precedente messaggio partition una volta è (3) e un'altra è (2)

Tasto destro sul file .bat --> Esegui come amministratore

Se tenti di accedere a Windows XP ed hai errori di .dll o .exe è perché è sbagliata la partizione nel file boot.ini. L'ho provato in VM e funziona, così come funzionava la versione precedente sul mio sistema senza la copia dei file infatti non è proprio una soluzione che mi piace ma...Se non funziona anche così mi arrendo :D

lo_smanettone
29-03-2016, 19:13
Devo tenere il boot.ini che avevo copiato nella partizione di Windows 7 o lo posso togliere?

Edit

Guadando lo script sembra che i file ntldr, boot.ini e NTDETECT.COM vengano copiati dalla partizione di XP a quella di 7.
L'ho eseguito come amministratore e i file credo li abbia copiati ma mi ha dato anche degli errori

https://s5.postimg.org/xpkha0alj/Immagine+1.png

Ho riavviato il pc e mi ha dato questo errore

https://s5.postimg.org/uwr9pza93/20160329_211126.jpg

Allora da 7 ho inserito il disco di XP e ho lanciato il seguente comando:

expand F:\i386\ntoskrnl.ex_ D:\Windows\system32\ntoskrnl.exe

Il file lo ha sostituito. Al riavvio stesso problema.

x_Master_x
30-03-2016, 08:26
Ti ho scritto chiaramente:
Se tenti di accedere a Windows XP ed hai errori di .dll o .exe è perché è sbagliata la partizione nel file boot.ini

Non ti ho detto di sostituire dei file. Controlla il file boot.ini nella partizione di XP e correggilo ( punta sicuramente alla partizione di Windows 7 dove quel file non esiste, se hai messo 1 ora metti 2 ) esegui nuovamente il batch come amministratore e infine riavvia.

lo_smanettone
31-03-2016, 11:02
Passato da 1 a 2, ho visto un attimo la schermata di caricamento di XP poi BSOD.
Formatto.

Grazie mille per l'aiuto e la pazienza.

UtenteSospeso
31-03-2016, 11:52
Se compare il BSOD ha problemi XP ad avviarsi, più ch eproblema di config boot .

.