AESSENET.ORG - Forum Forum di aessenet

Correzione in automatico del boot di vista\seven

  • Messaggi
  • OFFLINE
    redribbon
    Post: 3.406
    Maestro
    00 01/05/2011 14:31
    purtroppo vedo che la sezione non è poi così affollata, va bè io chiedo ugualmente, poi semmai chiederò anche in altri forum:


    Negli ultimi mesi mi sono fatto x hobby l’unattended di vista e seven col waik,
    senza usare strumenti esterni, va bè, a parte autoit per le applicazioni e la conferma per i driver,
    ed è tutto ok.
    Avrei però bisogno di sapere una cosa, che non riguarda in sé l’unattended, ma è generale di vista\seven.

    Facciamo un esempio:
    avendo 2 partizioni sull’hard-disk, nella cui prima è installato vista o seven,
    nel momento in cui si vuole installare un altro vista o seven nella seconda partizione,
    tenendo nascosta la prima partizione e rendendo attiva la seconda partizione,
    ad un certo punto dell’installazione, mi sembra di ricordare dopo il secondo riavvio della fase OOBE occorre riavviare dalla console di emergenza del dvd di vista\seven e dare i comandi
    bootrec /fixmbr
    bootrec /fixboot
    atltrimenti l’installazione si impianta indefinitivamente (oppure si ottiene una bella schermata blu) essendoci già installato il boot loader di vista\seven installato nella prima partizione.
    E così va bene, basta dare i comandi sopra e tutto ve bene nel proseguo dell’installazione del secondo vista\seven.

    Ora, io avrei bisogno di sapere se c’è modo automatizzare i comandi sopra, oppure un metodo che consenta di procedere all’installazione dell’unattended senza l’interruzione di partire dalla console di emergenza nel mezzo dell’installazione.
    Ho già provato a copiare il file bootrec nella system32 di vista\7 che installo e automatizzare i comandi sopra, mettendoli in un bat, alla fine della fase specialize, ma è peggio perché dopo il generalize che gli faccio fare come ultimo comando del firstlogoncommands (prima installo applicazioni, drivers, tips del registro), al riavvio si sconfigura il file bcd e devo rieditarlo manualmente dalla console di emergnza con
    bcdedit /set {bootmgr} device partition=C:
    bcdedit /set {current} device partition=C:
    bcdedit /set {current} osdevice partition=C:

    Per ora l’unico metodo che ho trovato è quello di rimuovere preventivamente il boot loader del vista\seven installato nella prima partizione,
    questo si fa,
    dando le relative autorizzazioni alla cartella boot ed al file bootmgr (dando la proprietà, nonché i permessi, di cartella e file contenuti al gruppo administrators) ,
    riavviando dalla console di emergenza, avendo visibile e, per semplicità, attiva la prima partizione,
    dopo aver tolto gli attributi di sola lettura alla cartella boot (compresi i file all’interno) ed al file bootmgr, copiare allo scopo di backup questi file e cartella col comando xcopy e raltivi parametri in una sottocartella,
    per poi cancellare cartella boot e file bootmgr.
    Poi, già che ci sono, mi sposto nella cartella boot del dvd di vista e do il comando bootsect.exe /nt52
    a dire il vero non so\ricordo se quest’ultimo è necessario, ma ho l’abitudine di fare così.
    Dopo di che, con un software per le partizioni, nascondo la prima partizione, rendo visibile la seconda e ci installo un vista\seven unattended, così fila tutto liscio.
    Naturalmente per riottenere disponibile il vista\seven installato nella prima partizione poi bisogna ripristinare la cartella boot, il file bootmgr, nonché ravviare dalla console di emergenza e dare il comando bootsect /nt60 al primo vista\seven. Infine è possibile che debba ugualmente dare i comandi bootrec /fixmbr e bootrec /fixboot ad uno dei due.

    Metodo laborioso, ma che mi consente di portare a termine l’unattended senza interruzioni,
    in realtà, il problema vero nell’unattended non è tanto l’interruzione in se, quanto che, resettando per partire dalla console quando si impianta, va bene una volta, ma se si comincia, per qualche motivo a resettare più volte, l’installazione unattended può non andare a buon fine non finendo di applicare i comandi, per quanto copia del\i file unattended dovrebbe essere nella cartella panther di vista\seven

    Appunto, la domanda è se qualcuno conosce un metodo alternativo per correggere il boot di vista\seven installandolo su una seconda partizione, tenendo nascosta la prima ove vi è già un vista\seven?

    "I padroni del governo degli Stati Uniti sono i capitalisti e gli industriali del paese"
    "nella nuova america [...] la maggior parte degli uomini è schiava delle imprese"
    Woodrow Wilson, ex-presidente USA

    (citazioni prese da "Stati falliti" di Noam Chomsky)
  • OFFLINE
    redribbon
    Post: 3.408
    Maestro
    00 17/05/2011 22:21
    Risolto

    Dopo aver fatto molte prove ho risolto col metodo del bootrec, in quanto la sconfigurazione del bcd dopo il generalize avviene col generalize stesso e non al successivo riavvio, come credevo in un primo tmpo,
    quindi, basta ripristinare il bcd prima del riavvio.
    ricapitolo:

    Per chi vuole installare un unattended vista\seven,
    fatto con i file unattend.xml e che compie un generalize “al volo” durante l’installazione,
    installandolo in una seconda (terza, quarta…. ) partizione avendo già nella prima (precedenti) partizione installato un vista\seven,
    deve fare così:
    -prendere il file bootrec.exe dal boot.wim del rispettivo dvd (occorre montare il boot.wim, ma se avete fatto l’unattend lo saprete già) e metterlo, per semplicità nella SOURCES\$OEM$\$$\SYSTEM32 ma potete metterlo ove volete cambiando il relativo percorso,

    -mettere un comando sincrono durante la fase specialize che lanci un bat (o cmd)
    che avrà i comandi
    start /wait %WinDir%\System32\BootRec.exe /fixmbr
    start /wait %WinDir%\System32\BootRec.exe /fixboot
    exit

    - mettere la stringa del generalize come penultima nel firstlogoncommands e SENZA il parametro reboot (o shutdown) in modo che non riavii immediatamente, per esempio:
    %WINDIR%\system32\sysprep\sysprep.exe /generalize /quiet /oobe /quit /unattend:%SystemDrive%\INSTALL\Unattend2.xml

    -mettere come ultimo comando , comunque dopo il generalize, del firstlogoncommands un richiamo ad un altro file bat (o cmd) con i comandi del tipo
    bcdedit /set {bootmgr} device partition=%HOMEDRIVE%
    bcdedit /set {current} device partition=%HOMEDRIVE%
    bcdedit /set {current} osdevice partition=%HOMEDRIVE%
    start /wait %WinDir%\System32\BootRec.exe /fixmbr
    start /wait %WinDir%\System32\BootRec.exe /fixboot
    shutdown.exe -r -f -t 00
    exit

    in questo modo l’installazione andrà a buon fine, senza nessuna interruzione, ho fatto una decina di prove installando seven (devo ancora provare vista, ma non penso ci siano problemi) nella quarta partizione, tenendo nascosta la prima partizione con un altro seven, nonché quelle con altri so, tutte ok.

    forse potrebbe andare anche con l’export del bcd preventivo al generalize per poi reimportarlo dopo il generalize, sempre se non elimina stringhe id che sono essenziali.

    "I padroni del governo degli Stati Uniti sono i capitalisti e gli industriali del paese"
    "nella nuova america [...] la maggior parte degli uomini è schiava delle imprese"
    Woodrow Wilson, ex-presidente USA

    (citazioni prese da "Stati falliti" di Noam Chomsky)
  • OFFLINE
    Giadox.
    Post: 367
    Utente Senior
    00 18/05/2011 00:26
    Te la suoni e tela canti insomma [SM=x53921] [SM=x53915] [SM=x53915] [SM=x53920] [SM=x53912]


    Nel più profondo di voi stessi siate capaci di
    sentire ogni ingiustizia commessa contro chiunque
    in qualsiasi parte del mondo. È la qualità più
    bella di un rivoluzionario. (Che)