Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 8
  • Configurazione di avvio di Windows. Che cos'è l'avvio pulito di Windows?

Configurazione di avvio di Windows. Che cos'è l'avvio pulito di Windows?

Il bootloader di Windows 7 smette di funzionare per molte ragioni: se boot.ini è danneggiato o se si tenta di installare XP insieme a Seven, dopodiché quest'ultimo non vuole avviarsi. Ciò è dovuto al fatto che XP sovrascrive il record di avvio dell'MBR di Windows 7. Di solito, il bootloader di Windows 7 viene ripristinato utilizzando gli strumenti di sistema standard. Puoi anche usare un altro strumento, come Bootice.

Il modo più semplice per ripristinare il bootloader

Se premendo F8 non si aprono ulteriori metodi di avvio e lo strumento di risoluzione dei problemi, sarà necessario utilizzare un disco di ripristino o un'unità flash di Windows 7. Da questa unità, sarà necessario avviare il computer nell'ambiente di ripristino facendo clic sul collegamento di ripristino del sistema nella parte inferiore della finestra di installazione del sistema operativo.

  1. Il computer proverà automaticamente a trovare una soluzione al problema, che ti avviserà nella finestra che si apre.
  2. Se l'utilità di ripristino è all'altezza dell'attività, non resta che riavviare.

Se non è stato possibile ripristinare il bootloader di Windows 7 dopo XP, utilizzare lo strumento di riparazione all'avvio, che, insieme ad altri, fa parte del disco di installazione o dell'unità flash. Di solito, questi semplici metodi possono gestire semplici problemi di avvio dell'MBR.

Modifica boot.ini

Boot.ini è responsabile dell'avvio del sistema per impostazione predefinita. Se uno dei sistemi operativi viene installato o rimosso in modo errato, il suo record non funzionante verrà archiviato nello stesso boot.ini. Si trova nella radice della partizione di sistema, quindi per modificarlo, il computer deve essere configurato per mostrare i file nascosti.

A volte boot.ini può essere danneggiato da un virus o qualche programma potrebbe contribuire ad esso, dopodiché il sistema operativo non si avvia da solo.

La soluzione è semplice: avvia dal LiveCD e modifica boot.ini con un normale blocco note. Ci sono solo due sezioni qui: boot loader, che controlla l'avvio e i sistemi operativi. Dovresti ricordare il valore di diversi parametri:

  • timeout=10 - tempo in secondi durante il quale l'utente può selezionare un sistema operativo da eseguire;
  • multi(0) e disk(0) sono parametri che devono avere valori zero;
  • rdisk(0) - numero del disco con la partizione di sistema (contata da zero).

In generale, boot.ini da un sistema operativo dovrebbe apparire come quello nell'immagine.

Utilizzo della riga di comando per ripristinare il settore MBR

Puoi entrare in modalità riga di comando dallo stesso disco di avvio o unità flash aprendo lo strumento di ripristino del sistema e selezionando l'ultimo elemento "Riga di comando".

  1. Digita il comando Bootrec e quindi premi Invio, verrà visualizzato un elenco completo di funzionalità
  2. Annotare il settore MBR, per il quale esiste il comando Bootrec.exe /FixMbr;
  3. Al completamento con successo dell'operazione dopo aver premuto Invio, il computer avviserà l'utente nella riga successiva;
  4. Successivamente, eseguire la procedura per la scrittura di un nuovo settore di avvio, per il quale inserire Bootrec.exe /FixBoot;
  5. Resta solo da entrare in Exit e provare a riavviare il computer.
  1. Immettere la riga di comando dal disco di installazione o dall'unità flash;
  2. Immettere Bootrec /ScanOs, dopodiché l'utilità eseguirà la scansione del computer alla ricerca di un sistema operativo;
  3. Scrivi il comando Bootrec.exe /RebuildBcd nella riga successiva, il programma ti chiederà di aggiungere tutte le versioni trovate di Windows al menu di avvio, incluso XP, ecc.;
  4. Resta da concordare premendo Y e Invio in sequenza, dopodiché, all'avvio del sistema, potrai scegliere quale sistema operativo avviare: XP o il sette.

Puoi risolvere il problema con l'MBR con un altro comando. Per fare ciò, dalla riga di comando, immettere bootsect /NT60 SYS, quindi Invio. Entra Esci per uscire. Di conseguenza, il codice di avvio principale verrà aggiornato e i tuoi sistemi verranno visualizzati nell'elenco durante l'avvio.

In caso di problemi seri, potrebbe non essere possibile ripristinare l'MBR utilizzando i metodi descritti, quindi dovresti provare a sovrascrivere i file nella memoria di avvio.

Bootmgr mancante

Tale messaggio su uno schermo nero viene solitamente visualizzato dal computer quando il settore MBR è danneggiato o eliminato. Il motivo potrebbe non essere correlato all'MBR, ad esempio, se il BIOS ha perso le impostazioni della scheda Boot e il sistema sta tentando di avviarsi dal disco sbagliato. Ma più spesso è colpa del bootloader, quindi descriveremo come ripristinare l'avvio di Windows 7.

Su un disco con Windows 7 c'è sempre una piccola partizione nascosta riservata da 100 megabyte per la scrittura dei file di avvio del sistema operativo, incluso un BOOTMGR danneggiato. Puoi semplicemente copiare BOOTMGR dal supporto di installazione e scrivere su questa partizione. Per questo:

  1. Vai alla riga di comando dal disco di ripristino.
  2. Immettere in sequenza i comandi diskpart e list volume, dopodiché sullo schermo apparirà un elenco dei propri dischi e le lettere che il sistema ha assegnato a ciascuno di essi. Siamo interessati a una partizione riservata da 100 MB e un'unità ottica - unità C e F, rispettivamente, come nell'immagine.
  3. Per uscire, digita Esci e premi Invio.

Digitare la lettera dell'unità di installazione seguita da due punti e il comando per copiare bootmrg nella partizione riservata. Sembrerà così:

  • F: e poi Invio;
  • copia bootmgr C:\ e premi Invio;
  • Esci, l'utilità verrà chiusa.

Se la copia nella partizione nascosta non riesce, il download store può essere completamente sovrascritto. Il ripristino del bootloader di Windows 7 viene eseguito con il comando bcdboot.exe N:\Windows, dove N è la lettera di unità con il sistema operativo. Dopo essere stato informato che i file sono stati creati correttamente, è possibile uscire dallo strumento con il comando Esci e riavviare il computer.

  • scrivere la riga diskpart sulla riga di comando, che chiama l'utilità;
  • per elencare tutti i dischi fisici disponibili scrivi l'elenco dei dischi;
  • il disco richiesto viene selezionato con il comando sel disk 0, dove 0 è il numero dell'unico HDD installato;
  • per visualizzare tutte le partizioni del disco rigido, immettere l'elenco delle partizioni;
  • per selezionare una partizione riservata, scrivere il comando sel part 1, dove 1 è il numero della partizione;
  • renderlo attivo digitando attivo;
  • Uscire dall'applicazione scrivendo exit.

In casi estremi, è possibile eliminare e formattare completamente manualmente la partizione di sistema partendo da alcuni LiveCD e quindi utilizzando il comando bcdboot.exe per creare nuovamente il settore.

Usando Bootice

Se Windows XP è stato installato dopo il "Seven", a causa del settore MBR sovrascritto, si avvia solo XP e non hai la possibilità di selezionare un sistema dopo aver acceso il computer. Tuttavia, entrambi i sistemi sono completamente operativi e puoi tornare al menu di avvio molto facilmente, per il quale viene utilizzata l'utilità Bootice:


Nella nuova finestra Bootice sulla sinistra vedrai l'elenco di avvio del sistema operativo, in cui dovrai aggiungere i "Seven" mancanti a Windows XP:

  • fare clic su "Aggiungi";
  • nell'elenco che si apre, seleziona la riga della nuova voce di Windows 7;
  • sul lato destro nel campo di immissione in alto, selezionare il disco rigido;
  • nel campo sottostante, indicare la sezione con il "Sette";
  • fare clic su salva impostazioni di base.

Il programma ti avviserà della modifica riuscita di questo elemento in Boot e potrai uscire da Bootice. La prossima volta che accendi il computer, puoi già scegliere quale sistema operativo avviare dal tuo disco rigido: Windows 7 o XP.

Denunciare il contenuto


  • Violazione del copyright Spam Contenuto non valido Collegamenti interrotti


  • Inviare

    Per coloro che non capiscono cosa c'è in gioco, mostrerò tutto in immagini:

    Ecco come appare il menu di avvio durante l'installazione dell'ultimo Windows 8.

    Ed ecco come appare il menu quando si installa l'ultimo Windows Vista, 7.

    Prima di Windows Vista (Windows 2000, XP), al file venivano apportate tutte le modifiche di avvio boot.ini. Boot.ini è un file di sistema che contiene informazioni sui sistemi operativi Windows installati sul computer. Questi dati vengono visualizzati durante l'avvio del computer/laptop. Per modificare le opzioni di avvio, apri i file boot.ini con qualsiasi editor di testo e apporta le modifiche.
    A partire dal sistema operativo Windows Vista (Windows 7, 8, 10), il file boot.ini è stato sostituito dal file Boot Configuration Data (BCD). Questo file è più versatile di boot.ini e può essere utilizzato su piattaforme che utilizzano mezzi diversi dal BIOS per avviare il sistema.

    Ma come apportare modifiche alle opzioni di avvio in Windows Vista 7, 8, 10? Per fare ciò, ci sono due modi forniti dagli sviluppatori di Windows:

    1 tramite interfaccia grafica;

    2 Utilizzando la riga di comando.

    Modifica le opzioni di avvio utilizzando la GUI in Windows Vista, 7, 8.

    Per utilizzare questo metodo, premere la combinazione di tasti "Win" + "R", Nella riga "Run", digitare msconfig e premere il tasto Invio.

    Devo dire che in questo modo sono disponibili parecchie impostazioni, ma per la maggior parte degli utenti questo sarà sufficiente. Questo strumento ti consentirà di:

    1) Ottieni informazioni sui sistemi di avvio correnti e predefiniti.
    2) Modifica tempo (timeout). Trascorso questo tempo, il sistema operativo predefinito verrà caricato senza l'intervento dell'utente. Per fare ciò, specificare il tempo (in secondi) nel campo "Timeout".


    3) Modifica il sistema di avvio predefinito. Per fare ciò, seleziona quale sistema desideri avviare per impostazione predefinita (senza intervento esterno) e fai clic sul pulsante "Utilizza per impostazione predefinita".


    4) Rimuovere la voce indesiderata dal menu di avvio. Seleziona la voce che desideri eliminare e fai clic sul pulsante "Elimina".

    Tutte le modifiche avranno effetto dopo aver premuto il pulsante "OK" e aver riavviato il sistema.

    Modifica le opzioni di avvio utilizzando la riga di comando (bcdedit) in Windows Vista, 7, 8.

    L'utilità bcdedit fornisce più opzioni per modificare le opzioni di avvio. Bcdeditè uno strumento da riga di comando per la gestione dei dati di configurazione di avvio. Può essere utilizzato per una varietà di attività: creazione di nuovi repository, modifica di repository esistenti, aggiunta di opzioni del menu di avvio e altro ancora.

    Per conoscere meglio questo comando, avviare un prompt dei comandi con diritti di amministratore ed eseguire il comando:

    /bcedit/?

    In questo articolo, vorrei soffermarmi più in dettaglio sugli esempi di utilizzo del comando bcdedit. .

    Un esempio di utilizzo di bcdedit.

    Prima di iniziare ad apportare modifiche al bootloader di Windows, devi prima crearne una copia di backup. Per fare ciò, crea una cartella BootBackup su qualsiasi unità e inserisci il seguente comando al prompt dei comandi (il prompt dei comandi deve essere eseguito come amministratore):

    bcdedit /export D:\BootBackup\bcd

    Se ritieni che qualcosa sia andato storto, per riportare tutto allo stato originale, emetti il ​​comando di ripristino BCD:

    bcdedit /import D:\BootCopy\bcd

    Dove D:\ è l'unità in cui si trova la cartella BootBackup.

    Il prossimo passo è scoprire le informazioni di base sul tuo BCD. Per fare ciò, esegui il comando bcdedit.

    Dove:
    identificatore– ID di questo o quel record;
    dispositivo- mostra la partizione su cui si trovano i file di avvio (può essere il sistema operativo o la cartella BOOT);
    osdispositivo- mostra la partizione su cui si trovano i file di sistema del sistema operativo. Di solito, i valori del dispositivo e i parametri del dispositivo sono uguali;
    sentiero– se il dispositivo ha definito una partizione del disco che contiene file del sistema operativo, questo parametro specifica il resto del percorso del caricatore del sistema operativo;
    predefinito– mostra l'ID del sistema operativo caricato di default, se il sistema operativo su cui è stata lanciata la riga di comando è caricato di default, al parametro di default viene assegnato il valore (corrente);
    Ordine di visualizzazione- mostra l'ordine in cui si trovano le voci sui sistemi avviabili;
    tempo scaduto– timeout (vedi sopra), il valore viene visualizzato e impostato in secondi;
    locale– indica la lingua del menu di avvio o del menu delle opzioni di avvio avanzate;
    descrizione- mostra il nome del sistema operativo visualizzato nel menu di avvio.

    Come modificare il sistema operativo di avvio predefinito.
    Specificare il valore /default e l'ID del sistema operativo che dovrebbe essere avviato per impostazione predefinita.
    bcdedit /predefinito (ID)
    Ora il sistema operativo con l'ID specificato si avvierà per impostazione predefinita.

    Come modificare il valore del ritardo di download
    Per modificare il valore del ritardo dopo il quale il sistema operativo inizia a caricare, eseguire il comando seguente:
    bcdedit /timeoutXX
    dove XX è un numero in secondi, il valore predefinito è 30 secondi.

    Rimozione di una voce da BCD e Boot Manager si fa con il comando:
    bcdedit/cancella (ID)
    Esiste una caratteristica dell'esecuzione del comando: se una voce nota viene specificata come ID, ad esempio (ntldr), il comando deve essere eseguito con l'opzione /f:
    bcdedit /cancella (ntldr) /f
    Se l'ID è scritto in codice alfanumerico, l'opzione /f non è necessaria.

    Per ottenere informazioni più dettagliate sulle capacità dell'utilità bcdedit, è necessario utilizzare la guida bcdedit /?

    Dopo l'installazione di Windows 2000, nella directory principale della partizione di avvio viene visualizzato un piccolo file di testo nascosto di sola lettura, boot.ini. Questo file è un componente importante nel meccanismo che controlla il processo di avvio del sistema operativo. Il contenuto del file viene generato durante il processo di installazione, quindi boot.ini è unico per ogni computer. Un amministratore che ha familiarità con il formato delle informazioni inserite nel file e le regole per organizzare boot.ini acquisisce contemporaneamente due importanti strumenti di gestione del sistema. Innanzitutto, può modificare il contenuto del file e riprogettare il processo di bootstrap. In secondo luogo, puoi creare un file boot.ini per aiutarti a riparare le cose se il tuo sistema non si avvia.

    Puoi modificare il file boot.ini in qualsiasi editor di testo. Ma prima, ti consiglio di copiare la versione originale del file su un floppy nel caso in cui le modifiche fallissero. Boot.ini è di sola lettura, quindi è necessario impostare un valore diverso per questo attributo prima di salvare le modifiche. Naturalmente, dopo aver terminato la modifica, l'attributo di sola lettura dovrebbe essere ripristinato.

    Contenuto del file: sezioni boot.ini

    Tutti i file .ini hanno le stesse regole di formattazione. I dati sono organizzati in sezioni e ogni sezione ha un'intestazione tra parentesi quadre. Come mostra la schermata 1, boot.ini è composto da due sezioni: e .

    La sezione contiene il valore dell'intervallo di attesa (timeout) e un puntatore al sistema operativo predefinito. Il timeout definisce il periodo di tempo (in secondi) durante il quale gli utenti possono selezionare una delle voci del menu OSD di avvio. La scelta è di 30 s e, se l'utente non rientra in questo tempo, viene caricato il sistema operativo predefinito.

    Tipicamente, la scelta della modalità di avvio è prevista su macchine con più sistemi operativi (ad esempio, l'utente ha sostituito il vecchio sistema con Windows 2000, ma ha mantenuto la versione precedente, oppure sono state installate due versioni di Windows).

    La scelta è disponibile anche se si utilizza Recovery Console, che aggiunge automaticamente la voce Microsoft Windows 2000 Recovery Console al menu OSD (RC è un potente strumento con cui è possibile riparare un'istanza danneggiata del sistema operativo).

    Se l'utente non ha scelta, il menu non viene visualizzato. Il sistema ignora il timeout e procede immediatamente all'avvio del sistema operativo.

    La sezione contiene il percorso o i percorsi del sistema operativo o dei sistemi del computer. Come mostra la Figura 1, le stringhe di testo racchiuse tra virgolette sono parti di testo visualizzate nell'OSD. Il testo può essere modificato aggiungendo commenti speciali. Ad esempio, se installi una versione beta del seguente sistema operativo nella famiglia Windows, puoi aggiungere una nota: "Non per scopi di produzione".

    Convenzioni del percorso ARC

    Sia le informazioni sulla posizione del sistema operativo in , sia le informazioni sul percorso dei file del sistema nella partizione sono presentate in un formato definito dalla specifica Advanced RISC Computing (ARC). Windows 2000 riconosce tre strutture di percorsi ARC: sintassi multipla, sintassi SCSI e sintassi della firma.

    Multisintassi. Su macchine con un disco rigido IDE, il file boot.ini utilizza in genere la sintassi multipla. L'utilizzo della sintassi multipla significa che i file di sistema di Windows 2000 vengono caricati sotto il controllo del BIOS. Il sistema operativo richiama gli interrupt del BIOS INT 13 per individuare il disco contenente ntoskrnl.exe e altri file necessari per avviare il sistema operativo. La sintassi multipla si applica anche alle unità SCSI se il dispositivo SCSI è configurato per utilizzare l'interrupt INT 13 anziché le impostazioni del BIOS del dispositivo.

    In teoria, utilizzando la multisintassi, è possibile identificare qualsiasi dispositivo riconosciuto tramite INT 13. In effetti, la maggior parte dei BIOS di sistema riconosce solo un controller del disco tramite INT 13, quindi di solito la multisintassi consente di avviare Windows 2000 solo da una delle prime due unità collegate al controller del disco primario (se si dispone del BIOS appropriato, è possibile utilizzare la sintassi multipla per quattro unità associate a due controller). La riga multi-sintassi ha la forma seguente:

    Multi( )disco( )rdisk() partizione()

    A - numero di serie dell'adattatore di avvio. Il primo adattatore, che di solito svolge il ruolo di adattatore di avvio, è il numero 0. Il parametro B contiene informazioni sulle caratteristiche del disco. In una stringa multisintassi, il valore di questa variabile è sempre 0 perché utilizza una chiamata INT 13 anziché un metodo di autodefinizione.

    C è un numero di serie che indica l'unità collegata all'adattatore; il suo valore può essere compreso tra 0 e 3, a seconda del numero associato all'adattatore dell'unità. D - numero di sezione; il primo numero possibile è 1 (a differenza di adattatori e drive, che sono numerati a partire da 0).

    Sintassi per SCSI. Se Windows 2000 si avvia da un dispositivo SCSI, è probabile che il computer utilizzi la sintassi SCSI. La sintassi SCSI specifica che il driver del controller deve essere utilizzato per accedere alla partizione di avvio, non al BIOS di sistema o alle chiamate INT 13. Il driver del dispositivo è sempre denominato ntbootdd.sys e si trova nella directory principale della partizione di sistema. La procedura di installazione di Windows 2000 crea ntbootdd.sys copiando un driver di periferica SCSI speciale sul disco rigido. Windows 2000 quindi rinomina il file in ntbootdd.sys. Normalmente, Windows 2000 copia il driver dal CD di Windows 2000 (che contiene i driver per la maggior parte delle schede SCSI), ma il sistema operativo può copiare e rinominare il driver fornito dal produttore del dispositivo. La stringa di sintassi SCSI è la seguente:

    Scsi( )disco( )rdisk() partizione()

    A è il numero di serie dell'adattatore associato al driver ntbootdd.sys. B - ID SCSI per l'unità di destinazione su questo adattatore. C è il numero logico del dispositivo SCSI (LUN) contenente la partizione di avvio (il dispositivo con questo numero può essere un disco separato, ma nella maggior parte dei casi il numero di LUN è 1 per ogni ID SCSI). Il parametro D specifica il numero della partizione.

    Se si dispone di più controller SCSI, ciascuno con un driver diverso, l'opzione A specifica il controller associato a ntbootdd.sys. Durante il processo di installazione, Windows 2000 determina, in genere in base a quale partizione l'utente sceglie di installare, con quale controller lavorare. Anche se l'unità SCSI può gestire INT 13, è preferibile utilizzare la sintassi SCSI perché riduce la possibilità di errori e forza il sistema operativo a utilizzare i dati ntbootdd.sys durante il processo di avvio.

    sintassi della firma. La sintassi della firma è tecnicamente la stessa della sintassi SCSI, ma il programma di installazione utilizza la sintassi della firma per la compatibilità con il meccanismo Plug-and-Play (PnP) di Windows 2000. La stringa della sintassi della firma è:

    Firma( )disco( )rdisk() partizione()

    A - firma del disco (ad esempio, 6c156c 97); il resto delle variabili sono le stesse della sintassi SCSI. A è un numero esadecimale univoco specificato nel Master Boot Record (MBR) come parte della parte in modalità testo della procedura di installazione di Windows 2000.

    Quando si utilizza la sintassi della firma, NT Loader (NTLDR), il primo file che Windows 2000 viene avviato all'avvio del sistema operativo, cerca un'unità con una firma del disco che corrisponda ad A. Tenere presente che se sono stati aggiunti nuovi controller SCSI a macchina, questa unità può essere collegata a un controller SCSI con un numero diverso da quello che era installato quando è stata installata la prima volta Windows 2000. Come per la sintassi SCSI, per il metodo di firma è necessario disporre di un'istanza del SCSI appropriato driver nella directory principale del disco, rinominato in ntbootdd.sys .

    In alcune circostanze, sembra che la procedura di installazione di Windows 2000 debba utilizzare la sintassi della firma. I casi più tipici sono l'utilizzo di un disco con più di 1024 cilindri (i problemi sorgono se nella partizione di sistema è presente un cilindro con un numero superiore a 1024) e la disabilitazione del BIOS del controller SCSI.

    Configurazione del file boot.ini

    L'utente può modificare il file boot.ini per migliorare il processo di avvio. Modificando il file, puoi trovare il motivo del guasto di un computer difettoso.

    Designazione del sistema operativo selezionato per impostazione predefinita. È possibile modificare il sistema operativo di avvio predefinito e la durata della visualizzazione del menu di avvio. Questo può essere fatto senza modificare il file boot.ini; basta utilizzare la finestra di dialogo Proprietà del sistema (per un rapido accesso ad essa, fare clic con il pulsante destro del mouse sull'icona Risorse del computer e selezionare Proprietà dal menu). Una volta nella scheda Avanzate, fare clic sul pulsante Avvio e ripristino per aprire la finestra di dialogo Avvio e ripristino mostrata nella Figura 2. È quindi possibile selezionare un sistema operativo dall'elenco a discesa Sistema operativo predefinito nella sezione Avvio del sistema.

    È possibile utilizzare la funzione Visualizza elenco dei sistemi operativi in ​​questa sezione per modificare la durata della visualizzazione del menu di avvio. Non dovresti impostare il tempo a meno di 10 secondi, altrimenti gli utenti non avranno il tempo di leggere le righe del menu e fare una scelta. Non consiglio di deselezionare la casella di controllo e disattivare l'OSD. Se devi eseguire qualsiasi azione con un altro sistema operativo installato qui, dovrai ripetere tutti i passaggi precedentemente eseguiti per poter accedere nuovamente al menu.

    A differenza di Windows NT, Windows 2000 non può specificare un tempo di visualizzazione di -1 per lasciare il menu sullo schermo finché l'utente non effettua una selezione. La finestra di dialogo di avvio e ripristino di Windows 2000 non accetta un numero negativo. Se modifichi manualmente boot.ini per specificare una durata di timeout pari a -1, Windows 2000 lo ignorerà e lo ripristinerà al valore precedente all'avvio successivo.

    L'utente può salvare il menu sullo schermo premendo un tasto qualsiasi diverso da Invio (ad esempio, è possibile premere un tasto freccia per evidenziare un'altra voce). Naturalmente, questo metodo richiede l'intervento dell'utente, quindi se accendi il computer e vai a preparare il caffè, quando torni alla macchina, il menu sullo schermo non verrà più trovato.

    Diagnostica. Boot.ini ha un numero significativo di opzioni, la maggior parte delle quali sono utili in determinate condizioni, di solito quando si diagnosticano problemi seri. Per compatibilità con alcune configurazioni hardware, è necessario specificare alcune chiavi nel file. La tabella 1 elenca le chiavi principali di boot.ini e le relative funzioni.

    Crea un disco di ripristino. Se uno dei file di avvio è mancante o danneggiato e Windows File Protection (WFP) non può risolverlo automaticamente, in genere è possibile avviare il sistema dal disco di ripristino di Windows 2000 e sostituire il file. Poiché l'avvio del sistema operativo dipende interamente dalle informazioni in boot.ini, è necessario averlo sul disco di ripristino, anche se non è tra i file danneggiati.

    Per creare un disco di avvio, è necessario formattare il disco floppy su un altro computer Windows 2000. Quindi copiare i file NTLDR e ntdetect.com dalla directory principale di quel computer al disco floppy. Questi file sono gli stessi per tutte le versioni del sistema operativo, quindi il computer donatore può eseguire qualsiasi versione di Windows 2000 Server o Windows 2000 Professional.

    Se il computer "donatore" ha la stessa organizzazione del disco rigido (tipo di disco, numero di disco e la stessa partizione allocata al sistema operativo) della macchina guasta, il file boot.ini può essere copiato e utilizzato senza modifiche. In caso contrario, copia boot.ini su un floppy disk, raccogli informazioni sul tipo di disco fisico del computer di destinazione e modifica le informazioni nella sezione per ottenere boot.ini necessario per l'avvio. Quindi avviare il computer di destinazione dal disco di ripristino e sovrascrivere il file o i file danneggiati dal disco di ripristino.

    Conoscendo le capacità del file boot.ini e come funziona, puoi controllare il processo di avvio del sistema operativo. Ciò è particolarmente importante se devi diagnosticare un computer bloccato su una schermata blu, poiché gli specialisti del supporto Microsoft potrebbero chiederti di modificare boot.ini e aggiungere chiavi per facilitare la diagnosi.

    Cathy Ivens è l'editore di Windows 2000 Magazine. È coautore di oltre 40 libri sull'informatica, incluso Windows 2000: The Complete Reference (Osborne/McGraw-Hill). Può essere contattata a:

    Ti sei mai chiesto cosa succede al sistema operativo nel momento in cui disegna il suo logo e dice "Avvio di Windows"? E perché ci mette così tanto a caricarsi? Infatti, all'inizio del sistema, nessun compito complesso dal punto di vista computazionale viene sicuramente risolto!

    Cosa significa quindi di per sé caricare un sistema operativo? Per la maggior parte, si tratta della proiezione in memoria di moduli eseguibili e dell'inizializzazione delle strutture dati di servizio. Le strutture dati risiedono nella memoria, quindi le operazioni su di esse dovrebbero essere veloci. Tutto suggerisce che il tempo viene consumato dal processo di caricamento dei moduli eseguibili in memoria.

    Per motivi di interesse, scopriamo quali moduli, in quale quantità e in quale ordine vengono caricati all'avvio del sistema operativo. Per scoprirlo, puoi, ad esempio, ottenere il registro di avvio del sistema. Il sistema operativo sperimentale nel mio caso è Windows 7 Enterprise x64. Registreremo il processo di avvio utilizzando il debugger del kernel. Ci sono diverse opzioni per i debugger del kernel, la mia preferenza personale è WinDbg. Avremo anche bisogno di alcuni strumenti per trasformare magicamente il registro in qualcosa di più piacevole alla vista.

    Estrazione e artigianato

    L'impostazione di debug è ben cercata su Google, quindi non descriverò questo processo in dettaglio. Poiché siamo interessati a tutto ciò che accade dal momento dell'avvio del sistema, dobbiamo selezionare la casella "Cycle Initial Break", con la quale il debugger si fermerà non appena il sottosistema di debug del kernel viene caricato sul sistema in fase di debug. L'output duplicato in un file può essere eseguito con i comandi ".logopen" e ".logclose", è facile. Un altro comando utile è ".cls". Cancella la schermata dei comandi e sì, solo la schermata dei comandi.

    La funzione che ci interessa è "MiCreateImageFileMap". Questa è una funzione interna del gestore della memoria che mappa il file eseguibile in memoria. La mappatura della memoria si verifica quando viene creata una sezione, ad esempio quando viene avviato un file eseguibile. Nota, tuttavia, che se un eseguibile è mappato in memoria, ciò non garantisce che il suo codice verrà eseguito! Questa funzione crea semplicemente una proiezione, il più delle volte "in riserva", in modo che se qualcuno decide di eseguire il modulo per l'esecuzione, puoi risparmiare tempo nel caricarlo. Mettiamo un punto di interruzione della registrazione su questa funzione.

    Se hai abbastanza mana, inserisci il seguente comando:
    bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
    La linea magica significa letteralmente quanto segue:

    • bu (Imposta punto di interruzione non risolto) - Imposta un punto di interruzione non risolto. Non è che qualcuno o qualcosa non lo abbia permesso, solo per installarlo bisogna decidere a quale indirizzo metterlo. Il fatto è che non si sa in anticipo a quale indirizzo dovrebbe trovarsi. Quando si carica un modulo, verifica la presenza della funzione necessaria al suo interno e, se viene trovata tale funzione, viene impostato automaticamente un punto di interruzione. Questo metodo di impostazione è indispensabile quando ASLR è abilitato: randomizzazione dello spazio degli indirizzi, poiché i moduli verranno caricati ogni volta a indirizzi diversi ed è probabile che un punto di interruzione impostato su un indirizzo fisso non funzioni.
    • nt!MiCreateImageFileMap è il personaggio a cui fermarsi. WinDbg accetta una voce nella forma "nome_modulo!nome_funzione". In questo caso, nt è un alias predefinito per ntoskrnl.exe.
    • la seguente è una parte dello script WinDbg che verrà eseguito ogni volta che questa funzione viene interrotta. "dt nt!_EPROCESS -d ImageFileName @$proc" in russo significa "visualizzare il campo ImageFileName della struttura _EPROCESS dal modulo nt, a condizione che sia visualizzato all'indirizzo specificato nello pseudo-registro "processo corrente"". Avanti dopo il delimitatore ";" il comando significa più o meno lo stesso, dal registro rcx viene preso solo l'indirizzo della struttura, in cui il primo parametro della funzione viene passato all'ABI Microsoft x64. "g" significa "vai", cioè continuare l'esecuzione.

    Una piccola raccomandazione per l'utilizzo dei punti di interruzione della registrazione: cerca di non utilizzare le estensioni del debugger (comandi che iniziano con "!"), poiché ciò renderebbe la registrazione di un ordine di grandezza più lenta.

    Andare! Rilasciare il freno del punto di interruzione e attendere. Ho aspettato fino al caricamento del desktop, ad es. Ho effettuato l'accesso. Il "raccolto" risultante è leggermente modificato, tutto ciò che è superfluo viene tagliato per comodità di ulteriori elaborazioni e alimentato al pitone amico. Non concentriamoci sull'analisi dei log. Notiamo solo che il grafico si adatta alla forma della spirale di Archimede con un'ulteriore correzione manuale, poiché i nodi erano sovrapposti l'uno all'altro. Il grafico risultante tiene conto dell'ordine di caricamento delle librerie. Sfortunatamente, abbiamo dovuto sacrificare tenendo conto dell'ordine di caricamento dei file eseguibili rispetto alle librerie per motivi di leggibilità del grafico.

    Mappa stellare


    Selezioniamo condizionatamente diversi gruppi di caricamento.

    L'OC inizia a funzionare nel modulo ntoskrnl.exe, che è il cuore del sistema operativo. E più specificamente, dalla funzione KiSystemStartup(). Insieme ai componenti di sistema caricabili, costituisce la base del sistema operativo: separazione delle modalità operative, servizi di base per le applicazioni utente, ecc. Lo stesso gruppo include i driver contrassegnati per il caricamento durante l'avvio del sistema. In poche parole, il sistema operativo Windows nasce in questa shell.

    Il nodo successivo è il gestore di sessione. È rappresentato dal primo dopo il processo di sistema che si avvia in Windows - smss.exe. Il processo è notevole in quanto è un processo Windows nativo (nativo), ovvero non utilizza il sottosistema Win32, che, in generale, non è ancora caricato. Questo processo utilizza solo i servizi nativi del sistema operativo tramite ntdll.dll, che è un'interfaccia in modalità utente per i servizi del sistema operativo. Inoltre, questo processo è un componente affidabile del sistema operativo e ha diritti esclusivi, ad esempio può creare token di sicurezza. Ma il suo scopo principale è creare sessioni e inizializzare sottosistemi, sia grafici che vari eseguibili (Windows, POSIX). Questo guscio rende a ciascuno secondo i suoi bisogni.

    Il gruppo di accesso è costituito da diversi processi. In generale, sono responsabili dell'inizializzazione delle sessioni. Ciò include la visualizzazione della schermata di benvenuto, la creazione di desktop, l'avvio dei processi di avvio e l'inizializzazione del sottosistema di sicurezza e così via. Questa scopa spazza via tutti gli estranei.

    Il gruppo di servizi si è rivelato il più massiccio. Deve molto del suo volume al servizio SuperFetch. Questo è quello di cui si dice che nei fine settimana scarichi la suite per ufficio in anticipo e all'inizio della settimana lavorativa - Steam con i giocattoli. Superfetch carica un numero enorme di moduli all'avvio del sistema, in modo che in seguito "tutto funzioni più velocemente". Inoltre, il sistema non dispone di applicazioni di servizio e driver di avvio automatico. Penso che tutti abbiano visto lo snap-in Servizi e applicazioni. Questa stella della vita accende tutto ciò che è necessario e non tanto nel sistema.

    L'ultima cosa che noterò è explorer.exe, amato da tutti. È interessante notare che quando viene avviato, tutti i moduli che utilizza sono già caricati in memoria. Nello screenshot è entrato anche un certo vcredist_x64.exe: il poveretto era sdraiato sul desktop della macchina virtuale sperimentale ed è stato caricato in memoria da Explorer.

    In generale, il modulo ha molti modi per essere caricato in memoria. Ad esempio, è sufficiente richiedere informazioni dalle risorse del file eseguibile, inclusa la sua icona. Nello specifico, in questo esempio, l'esploratore ha verificato se questo programma richiede privilegi elevati, ad es. vale la pena aggiungere all'icona un disegno corrispondente con uno scudo giallo-blu. Anche in questo caso, caricare un modulo in memoria non significa eseguire il suo codice!

    Personalmente, tengo l'immagine risultante al mio fianco. Le dipendenze, ad esempio i driver, sono ben tracciate su di esso. Inoltre, abbinato all'utilità Sysinternals Autoruns, puoi vedere in quale fase del caricamento vengono estratti determinati moduli.

    Il grafico di avvio è stato creato per Windows 7 Enterprise x64 installato su una macchina virtuale VMware. Di seguito è riportata un'immagine vettoriale del grafico e del file gml stesso, con cui puoi giocare in qualsiasi editor di grafici.

    Dopo aver installato diversi sistemi operativi su un computer, ad esempio Vista e Windows 7, le impostazioni iniziali del menu di avvio vengono perse, portando al fatto che ogni volta che si avvia il PC si deve scegliere da quale OS avviare e quali parametri applicare . Il processo, diciamo, è spiacevole, poiché richiede molto tempo. In questo caso, ripristinare l'aspetto originale del menu di avvio modificando l'ordine di avvio del sistema nel bootloader di Windows aiuterà a riportare la situazione al suo corso. Tuttavia, può essere fatto in più di un modo.

    Opzione n. 1: debug tramite il pannello di controllo "Sistema".

    Per avviare il processo di ripristino delle impostazioni e rimuovere opzioni di avvio aggiuntive dal bootloader di Windows utilizzando questo metodo, devi prima accedere alla sezione "Sistema". Puoi farlo in diversi modi:


    In ogni caso, sullo schermo verrà visualizzata la finestra "Sistema". In esso troviamo e selezioniamo la sezione "Impostazioni di sistema avanzate", quindi facciamo clic nella finestra di sistema che appare di fronte alla scheda "Avvio e ripristino", il pulsante "Impostazioni":

    Di conseguenza, agli utenti viene data l'opportunità di:

    • modificare l'ordine di avvio dei sistemi operativi selezionando il sistema operativo caricato di default;
    • determinare il tempo di attesa (timeout) prima dell'avvio del sistema;
    • rimuovere l'elenco dei sistemi operativi disponibili nel menu di avvio:

    Forse è facile vedere che il vantaggio di questo metodo è la semplicità e la velocità di risoluzione del problema con la modifica del menu di avvio. Tuttavia, non sarebbe logico negare che possa determinare solo i parametri di avvio di Windows più elementari.

    Opzione n. 2: configurazione con l'utilità di configurazione del sistema

    È anche possibile rimuovere le varianti non necessarie dei sistemi operativi installati sul computer dal bootloader di Windows modificando le impostazioni nell'utilità Configurazione del sistema. Puoi aprirlo in diversi modi:

    In un modo o nell'altro, dopo che la finestra di sistema "Configurazione del sistema" appare sullo schermo del monitor, per ripristinare il metodo standard di avvio di Windows, dovrai accedere alla sezione "Download". Qui, in particolare, è possibile effettuare impostazioni come:

    • rimuovere una voce aggiuntiva dal bootloader di Windows;
    • assegnare un sistema operativo da eseguire per impostazione predefinita;
    • impostare un timeout all'avvio del sistema;
    • imposta memoria massima, numero di processi eseguibili, blocco PCI:

    Grazie all'interfaccia semplice e comprensibile dell'utilità, il processo di esecuzione di ciascuna di queste azioni non è difficile. Ad esempio, per rimuovere un sistema operativo non necessario dal menu di avvio, è sufficiente fare clic su di esso con il mouse e fare clic sul pulsante "Elimina". Di conseguenza, nella sezione "Timeout", viene impostato il tempo di ritardo all'avvio del sistema e così via.

    Opzione n. 3: ripristino delle impostazioni predefinite tramite il comando bcdedit.exe

    Il processo sul computer OS può essere avviato anche lavorando nell'utilità bcdedit.exe. Si trova nella cartella Windows\System32, ma puoi eseguirlo solo con i diritti di amministratore tramite la riga di comando.

    Per fare ciò, il modo più semplice, ovviamente, è utilizzare la barra di ricerca disponibile nel menu Start. In questo caso, la procedura sarà la seguente:

    1. entrare in "Start" e impostare la parola di ricerca cmd;
    2. fare clic con il tasto destro del mouse sul risultato visualizzato nell'elenco dei programmi e definire per esso "Esegui come amministratore":

    Dopo l'apertura del "Prompt dei comandi", prima di tutto dovresti occuparti di salvare una copia di backup del bootloader per un successivo accesso al ripristino rapido dei dati. Per fare ciò, crea la cartella BCDREZ sull'unità C, quindi digita bcdedit /export C:\BCDREZ\bcd nella riga di comando e premi Invio. In futuro, per annullare tutte le modifiche e ripristinare le impostazioni di base, sarà sufficiente utilizzare il comando bcdedit /import C:\BCDREZ\bcd.

    Articoli correlati in alto