A cosa serve BCDEdit e come si usa

Ogni interazione con un sistema operativo Windows inizia con un processo di avvio riuscito, che apre la strada a un ambiente utente stabile. Al centro di questo processo c’è l’archivio dei dati di configurazione di avvio (BCD), che contiene le informazioni di avvio essenziali che guidano il sistema durante il processo di avvio. La gestione di questi dati cruciali è affidata all’utility a riga di comando BCDEdit, o “Boot Configuration Data Editor”.

Garantisci coerenza tra tutti gli endpoint. Automatizza le attività di configurazione di avvio con script BCDEdit personalizzati utilizzando NinjaOne.

Scopri subito le funzionalità di automazione di NinjaOne!

Che cos’è BCDEdit

BCDEdit è uno strumento a riga di comando fondamentale per la gestione dell’archivio BCD, un database indipendente dal firmware che si trova nella partizione di sistema, tipicamente in BootBCD. Il ruolo fondamentale di BCDEdit è quello di garantire la stabilità e la ripristinabilità del sistema attraverso una precisa gestione della configurazione di avvio. BCDEdit consente agli utenti e agli amministratori di gestire le voci di avvio, di modificare le impostazioni di avvio e di controllare il processo di avvio del sistema, con modalità di avvio normali, sicure o di debug.

Qual è lo scopo di BCDEdit?

I comandi BCDEdit modificano le impostazioni dell’archivio BCD, dettando il comportamento del loader del sistema operativo durante l’avvio, compresi i file di driver e di sistema da caricare e in quale sequenza. BCDEdit è fondamentale per la risoluzione dei problemi, l’abilitazione della modalità provvisoria in caso di guasti del sistema e la gestione delle voci di avvio in ambienti multi-boot, in quanto permette il ripristino e la manutenzione del sistema.

Il passaggio da boot.ini all’archivio BCD e a BCDEdit, a partire da Windows Vista, ha introdotto un quadro più strutturato, sicuro e flessibile per la gestione delle configurazioni di avvio, migliorando la sicurezza e il controllo del processo di avvio.

Funzioni e comandi chiave di BCDEdit

La comprensione dei comandi BCDEdit e delle loro interazioni è fondamentale per una gestione efficace dell’avvio. Per esempio /enum, l’opzione di runtime predefinita, è fondamentale per elencare tutte le voci e facilitare l’accesso ai codici identificativi del sistema. Il parametro {current} nella sintassi di BCDEdit è uno strumento potente che consente di eseguire operazioni sulla voce di avvio del sistema attualmente in esecuzione, semplificando molte operazioni.

Ottenere un aiuto di base

Mostra l’elenco dei comandi di BCDEdit o la guida dettagliata per un particolare comando:

  • bcdedit /? [command] – eg.:
  • bcdedit /? createstore per vedere informazioni dettagliate sull’uso del file bcdedit createstore per vedere informazioni dettagliate sull’uso del comando bcdedit createstore.

Agire su un archivio

Creare un nuovo archivio dati vuoto di configurazione di avvio

  • bcdedit /createstore C:newstore.bcd

Esportare il contenuto dell’archivio di sistema in un file

  • bcdedit /export C:bcdexport.bcd

Ripristinare l’archivio di sistema utilizzando un file di dati di backup

  • bcdedit /import C:bcdexport.bcd

Specificare l’archivio da utilizzare con la maggior parte dei comandi BCDEdit

  • bcdedit /store C:externalstore.bcd

Impostare il dispositivo di archiviazione del sistema (riguarda solo i sistemi basati su EFI)

  • bcdedit /sysstore {fwbootmgr}

Agire sulle voci di un archivio

Eseguire una copia di una voce di avvio specificata

  • bcdedit /copy {current} /d “Copied Entry”

Creare una nuova voce nell’archivio dati della configurazione di avvio

  • bcdedit /create /d “New Entry” /application osloader

Eliminare un elemento da una voce specificata

  • bcdedit /delete {identifier}

Creare una replica delle voci nell’archivio

  • bcdedit /mirror {identifier}

Modifica delle opzioni di inserimento

Eliminare un elemento specificato da una voce di avvio

  • bcdedit /deletevalue {identifier} element

Impostare il valore di un’opzione di una voce

  • bcdedit /set {bootmgr} flightsigning on

Controllo dell’output

Enum è anche l’opzione di runtime predefinita. Cioè, eseguire bcdedit /enum è  equivalente a eseguire bcdedit senza parametri. Spesso combinato con l’opzione /v (verbose), per accedere a tutti gli identificatori.

Elencare le voci di un archivio

  • bcdedit /enum

Modalità verbosa, visualizza tutti gli identificatori per intero

  • bcdedit /v

Controllo del gestore di avvio

Specificare un ordine di visualizzazione unico per l’avvio successivo

  • bcdedit /bootsequence {identifier}

Specificare la voce predefinita per la selezione del gestore di avvio

  • bcdedit /default {identifier}

Specificare l’ordine di visualizzazione del boot manager

Facoltativamente, l’opzione /addfirst o /addlast aggiungono rispettivamente una voce all’inizio o alla fine dell’ordine di visualizzazione:

  • bcdedit /displayorder [/addfirst|/addlast] {identifier1} {identifier2} [{identifier3} …]

Specificare il tempo di attesa prima che il gestore di avvio selezioni la voce predefinita

  • bcdedit /timeout 30

Specificare l’ordine di visualizzazione del menu Strumenti

  • bcdedit /toolsdisplayorder {identifier}

Opzioni per i servizi di gestione delle emergenze (EMS)

Abilitare/disabilitare l’EMS per il gestore di avvio stesso

  • bcdedit /bootems {identifier} ON

Abilitare/disabilitare l’EMS per la voce di avvio del sistema operativo specificata

  • bcdedit /ems {identifier} ON

Configurare le impostazioni globali dell’EMS per il computer

Il parametro baudrate del comando /emssettings specifica la velocità di baud per la connessione alla console seriale quando si utilizzano i servizi di gestione delle emergenze (EMS). Una velocità di trasmissione più elevata consente una trasmissione dei dati più veloce, ma entrambe le estremità della connessione devono concordare la velocità di trasmissione per comunicare in modo efficace. Questa impostazione è fondamentale per una corretta configurazione e funzionalità quando si utilizza una console seriale per la gestione remota o la risoluzione dei problemi.

  • bcdedit /emssettings baudrate:115200

Debug

Abilitare/disabilitare il debugger di avvio

  • bcdedit /bootdebug {identifier} ON

Abilitare/disabilitare il debugger del kernel

  • bcdedit /debug {identifier} ON

Impostare i parametri dell’hypervisor

  • bcdedit /hypervisorsettings hypervisordebug ON

Questo elenco fornisce un’ampia panoramica delle opzioni della riga di comando BCDEdit disponibili per la gestione delle configurazioni di avvio e la risoluzione dei problemi sui sistemi Windows.

Utilizzo di BCDEdit per la correzione e il ripristino dell’avvio

BCDEdit è fondamentale per risolvere i problemi di avvio e ripristinare gli errori che impediscono il corretto avvio di Windows. Fornisce un’interfaccia a riga di comando per la gestione dei dati di configurazione di avvio (BCD), consentendo un controllo preciso delle opzioni e delle impostazioni di avvio.

Guida passo per passo all’uso di BCDEdit per correggere i problemi di avvio più comuni

Spesso i problemi di avvio derivano da impostazioni di configurazione di avvio errate o mancanti. Per esempio, se la voce del boot manager è danneggiata o è stata eliminata, BCDEdit può aiutare a ricrearla:

  1. Avvia il Prompt dei comandi come amministratore.
  2. Visualizza le voci di avvio correnti con bcdedit /enum.
  3. Individua eventuali voci mancanti o errate.
  4. Utilizza bcdedit /create per creare le voci mancanti o bcdedit /set per correggere le impostazioni errate.
  5. Riavvia il sistema per applicare le modifiche.

Recupero da errori e guasti di avvio con i comandi BCDEdit

I comandi BCDEdit sono versatili per il ripristino da vari errori di avvio:

  • Correggi i record di avvio utilizzando bcdboot C:Windows per ripristinare il bootloader di Windows.
  • Imposta la partizione di avvio corretta con bcdedit /set {default} device partition=C:
  • Ripristina le impostazioni predefinite del boot manager utilizzando bcdedit /deletevalue per rimuovere le impostazioni errate.

Utilizzo di BCDEdit per ricostruire la configurazione di avvio da zero

La ricostruzione della configurazione di avvio può essere necessaria in caso di gravi problemi di avvio:

  1. Effettua il backup dell’archivio BCD esistente con bcdedit /export C:BCD_Backup.bcd.
  2. Elimina l’archivio BCD corrente utilizzando bcdedit /store C:WindowsSystem32ConfigBCD-Template /createstore.
  3. Crea nuove voci e imposta i valori appropriati utilizzando bcdedit /create e bcdedit /set.
  4. Importa il backup se necessario con bcdedit /import C:BCD_Backup.bcd.

Esempi di correzione dell’avvio con BCDEdit

Correzione dei loop di avvio

La disabilitazione del riavvio automatico in caso di guasto del sistema è un’operazione comune per la risoluzione dei problemi di boot loop:

  • bcdedit /set {current} bootstatuspolicy ignoreallfailures

Assegnazione di un dispositivo di avvio in una virtual machine o in un server

Negli ambienti virtualizzati, specificare il dispositivo di avvio è fondamentale. Imposta il dispositivo di avvio per la virtual machine con:

  • bcdedit /set {current} device boot

Abilitazione del debug nella virtual machine o nel server

  • bcdedit /set {current} bootdebug on

Specificare il percorso del boot manager

Nei casi in cui i server o le virtual machine si avviino da una rete o da un’unità condivisa, specificare il percorso del gestore di avvio con bcdedit /set {bootmgr} path sharedbootmgr può essere fondamentale.

Grazie a questi metodi, BCDEdit si rivela uno strumento prezioso per diagnosticare e risolvere i problemi legati all’avvio, assicurando che i sistemi rimangano accessibili e operativi anche in caso di configurazioni errate.

Personalizzazione delle opzioni di avvio con BCDEdit

Questi esempi danno un’idea delle capacità di personalizzazione avanzate di BCDEdit, che offre un controllo granulare sulle impostazioni di avvio e UEFI per soddisfare requisiti operativi specifici.

Modificare la voce di avvio predefinita

  • bcdedit /default {identifier}

Modifica del timeout di avvio e gestione del menu di avvio

La regolazione del timeout di avvio può essere utile per la risoluzione dei problemi. Parametro del valore in secondi.

  • bcdedit /timeout 30

Aggiunta e rimozione di voci di avvio

Creare una nuova voce

  • bcdedit /create

Eliminare una voce

  • bcdedit /delete {identifier}

Personalizzazione avanzata: Avvio sicuro, impostazioni UEFI

  • Abilitare l’avvio sicuro: bcdedit /set {current} secureboot on.
  • Regolare le impostazioni UEFI: bcdedit /set {fwbootmgr} displayorder {bootmgr} {identifier}.
  • Disabilitare il secure boot: bcdedit /set {current} secureboot off
  • Impostazione di un logo di avvio personalizzato: bcdedit /set {bootmgr} custom:16000002 “C:pathtologo.bmp”
  • Accedere alle impostazioni UEFI all’avvio successivo: bcdedit /set {fwbootmgr} displayorder {bootmgr} {identificatore}
  • Specificare un dispositivo di avvio personalizzato: bcdedit /set {current} device partition=G:

BCDEdit in ambienti multi-boot

Panoramica delle configurazioni multi-boot

Le configurazioni multiboot consentono la coesistenza di diverse configurazioni, selezionabili al momento dell’avvio. Le configurazioni multiboot consentono a un computer di ospitare più sistemi operativi, come Windows e Linux, su partizioni o unità separate della stessa macchina, permettendo all’utente di scegliere quale sistema operativo lanciare all’avvio. Questa configurazione è preziosa per coloro che hanno bisogno di accedere a diversi ambienti di sistema operativo, per questioni legate a compatibilità del software, sviluppo, test o preferenze personali.

BCDEdit può coesistere con i boot loader Linux come GRUB e LILO in una configurazione multi-boot. In genere, un gestore/loader di avvio viene impostato come primario, e poi carica a catena gli altri. Per esempio, puoi configurare GRUB per caricare il Windows Boot Manager, controllato da BCDEdit.

Sfide e soluzioni

Le sfide nascono dalle diverse configurazioni di avvio, come BIOS o UEFI. Le soluzioni spesso prevedono strumenti di terze parti come EasyBCD o la configurazione di un loader per il caricamento a catena dell’altro.

Best practice

  • Ordine di installazione: Installa prima Windows, poiché i programmi di installazione di Linux generalmente riconoscono le installazioni di Windows esistenti, mentre non è vero il contrario.
  • Strumenti di gestione dell’avvio: Utilizza uno strumento di terze parti come EasyBCD per gestire le configurazioni multi-boot, per avere un’interfaccia grafica per configurare le voci di avvio tra i diversi gestori di avvio del sistema operativo.
  • Backup: Conserva un backup dei dati di configurazione di avvio per ripristinarli in caso di configurazione errata.
  • Documentazione: Conserva una documentazione completa della configurazione di avvio, comprese le voci o le impostazioni di avvio personalizzate.
  • Controlli regolari: Rivedi e aggiorna periodicamente la configurazione di avvio per assicurarti che sia in linea con i requisiti attuali del sistema.
  • Test: Testa a fondo le nuove configurazioni in un ambiente controllato prima di applicarle a un sistema attivo.
  • Strumenti di recupero: Tieni a portata di mano gli strumenti di ripristino dell’avvio e familiarizza con le procedure di ripristino.
  • Apprendimento: Rimani aggiornato sulle best practice e sugli strumenti più recenti per la gestione del multi-boot attraverso forum, community e pubblicazioni tecnologiche affidabili.

BCDEdit e piattaforme di virtualizzazione

Le piattaforme di virtualizzazione come VMWare, Hyper-V, KVM, Xen e VirtualBox consentono di eseguire più sistemi operativi su un’unica macchina fisica, ciascuno all’interno della propria virtual machine (VM). Negli ambienti virtuali, BCDEdit opera all’interno delle virtual machine Windows esattamente come farebbe su una macchina fisica, gestendo i dati di configurazione di avvio.

Considerazioni particolari, limitazioni e suggerimenti:

  • Quando utilizzi BCDEdit con virtual machine, assicurati che il firmware di avvio della virtual machine corrisponda alla configurazione prevista (BIOS/UEFI).
  • E che le impostazioni della virtual machine siano in linea con le configurazioni di avvio.
  • Mantieni semplici le configurazioni di avvio della virtual machine per evitare conflitti.
  • Usa gli snapshot per tornare a configurazioni note e valide quando stai sperimentando.

Argomenti avanzati in BCDEdit

  • Debug e messa a punto delle prestazioni: Utilizza BCDEdit per il debug del tempo di avvio, la configurazione dei parametri di avvio per la regolazione delle prestazioni.
  • Scripting per l’automazione: Automatizza le attività di configurazione di avvio eseguendo lo scripting dei comandi BCDEdit in file batch o script PowerShell.
  • Interazioni con le funzioni di sicurezza: I comandi BCDEdit potrebbero avere un impatto sulle funzioni di sicurezza come BitLocker alterando le configurazioni di avvio.
  • Distribuzione di Windows: Personalizza le configurazioni di avvio negli scenari di distribuzione, per impostare varie opzioni di avvio e strumenti di risoluzione dei problemi per le installazioni Windows appena distribuite.

Considerazioni sulla sicurezza

È indispensabile comprendere le implicazioni per la sicurezza e assicurarsi che vengano adottate misure di protezione adeguate quando si utilizza BCDEdit.

  • Livelli di autorizzazione: Richiede privilegi amministrativi, per garantire che solo gli utenti autorizzati possano modificare le configurazioni di avvio.
  • Possibilità di errore: L’uso improprio può rendere i sistemi non avviabili e lo strumento può rappresentare un rischio se usato in modo malevolo.
  • Avvio sicuro: La modifica delle impostazioni di avvio potrebbe potenzialmente disabilitare Secure Boot, indebolendo la protezione contro le infezioni da bootkit/rootkit.
  • Controllo degli accessi: Limitare l’accesso a BCDEdit e garantire un forte controllo dell’account utente è fondamentale per evitare alterazioni non autorizzate.

Questi usi avanzati di BCDEdit ne illustrano la versatilità e il ruolo cruciale in vari aspetti della configurazione e della risoluzione dei problemi del sistema.

Domande frequenti sulla risoluzione dei problemi di BCDEdit

D: Ho commesso un errore con BCDEdit. Come posso ripristinare le modifiche?

R: Usa bcdedit /import per ripristinare un backup dell’archivio BCD.

D: Come posso visualizzare la configurazione di avvio attuale?

R: Esegui bcdedit /enum per vedere tutte le voci dell’archivio.

D: Ricevo un errore L’archivio dati della configurazione di avvio non può essere aperto. Cosa devo fare?

R: Assicurati di eseguire il prompt dei comandi come amministratore.

D: Come posso aggiungere una nuova voce di avvio?

R: Usa bcdedit /copy per copiare una voce esistente, quindi modifica la nuova voce con bcdedit /set.

D: Come posso cambiare l’ordine di avvio?

R: Utilizza bcdedit /displayorder seguito dagli identificativi delle voci nell’ordine desiderato.

D: Come posso impostare l’avvio da un VHD (Virtual Hard Disk)?

R: Crea una nuova voce con bcdedit /copy {current} /d “Description”, quindi imposta il dispositivo e osdevice sul percorso VHD con bcdedit /set.

D: Come posso abilitare o disabilitare Hyper-V all’avvio?

R: Usa bcdedit /set hypervisorlaunchtype auto per abilitare o bcdedit /set hypervisorlaunchtype off per disabilitare.

D: Come posso eseguire il debug dei problemi di avvio con BCDEdit?

R: Abilita il debug di avvio tramite bcdedit /bootdebug on e configura le impostazioni di debug con bcdedit /dbgsettings.

D: Come posso abilitare l’EMS su una voce di avvio?

R: Usa bcdedit /ems {identifier} on per abilitare l’EMS per la risoluzione dei problemi. Usare bcdedit /bootems {identifier} on per abilitare EMS sul gestore di avvio stesso.

Risolvi i problemi di configurazione dell’avvio da remoto con le potenti funzionalità di accesso remoto di NinjaOne!

Inizia subito la tua prova gratuita!

Ulteriori informazioni e risorse

Per quanto riguarda le alternative o le aggiunte open-source a BCDEdit, puoi prendere in considerazione la possibilità di esaminare progetti di bootloader come GRUB. L’articoloOpzioni della riga di comando BCDEdit su Microsoft Learn è una buona risorsa di partenza per ulteriori approfondimenti. Argomenti e casi d’uso più avanzati sono trattati in Opzioni della riga di comando di BCDBoot e in Impostazioni dell’archivio di sistema BCD per UEFI per l’uso di Secure Boot (consigliato).

BCDEdit: Sfruttare la padronanza dell’avvio

BCDEdit è una pietra angolare nella gestione dell’avvio di Windows, in quanto garantisce un avvio regolare del sistema e fornisce un canale per la risoluzione dei problemi e il ripristino. La padronanza di questa utility aumenta il controllo sulle impostazioni di avvio, rappresentando un’ancora di salvezza fondamentale per i team IT durante i malfunzionamenti del sistema.

Passi successivi

La creazione di un team IT efficiente ed efficace richiede una soluzione centralizzata che funga da principale strumento per la fornitura di servizi. NinjaOne consente ai team IT di monitorare, gestire, proteggere e supportare tutti i dispositivi, ovunque essi si trovino, senza la necessità di una complessa infrastruttura locale.

Scopri di più su NinjaOne Endpoint Management, fai un tour dal vivoinizia la tua prova gratuita della piattaforma NinjaOne.

Ti potrebbe interessare anche

Vuoi diventare un Ninja dell’IT?

Scopri come NinjaOne può aiutarti a semplificare le operazioni IT.
×

Guarda NinjaOne in azione!

Inviando questo modulo, accetto La politica sulla privacy di NinjaOne.

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.