File desktop remotoRipristino del computer con Windows PE

Wes Miller

Negli articoli precedenti, ho accennato alla nostra visione iniziale di Windows PE quale ambiente di distribuzione. Come accade per tutti i buoni prodotti, Windows PE si è evoluto andando oltre questo concetto. I clienti (OEM, inizialmente) erano desiderosi di sviluppare una soluzione di produzione e di ripristino autonomo da parte degli utenti, così alcune aziende hanno realizzato

soluzioni Windows® PE che funzionavano per entrambe le esigenze.

La maggior parte degli strumenti di ripristino attualmente esistenti si basa sul presupposto di riportare un sistema in uno stato operativo conosciuto effettuando il mirroring del processo di distribuzione. In Windows Vista ® il ripristino è più semplice rispetto a Windows XP e fornisce un supporto standard per la creazione di immagini (vedere l'articolo sulle tecnologie di backup di Windows Vista di Christine Fok in questo numero di TechNet Magazine).

In questa rubrica mensile, verrà discusso lo sviluppo di una soluzione di recupero basata su Windows PE. Windows PE 2.0 è disponibile gratuitamente come componente del Windows Automated Installation Kit (AIK) per tutte le licenze di Windows. Oltre alle operazioni di distribuzione, questa licenza è valida anche per l'utilizzo di Windows PE a fini del ripristino e della risoluzione dei problemi.

Premesso che sarà ovviamente necessario tenere conto delle eventuali personalizzazioni e modifiche specifiche, qui verranno affrontati i punti generali da ricordare nella distribuzione di Windows XP o Windows Vista. Se si ha familiarità con la creazione di immagini, molti dei concetti affrontati di seguito saranno già noti.

I componenti principali di qualsiasi soluzione di ripristino di Windows PE sono:

  • Windows PE
  • Un'utilità di creazione di immagini
  • Elementi di scripting (o un'applicazione formale) che tengono insieme il tutto

Facoltativamente, è possibile includere il supporto di SQL e Active Directory® Service Interfaces (ADSI). Tramite la connettività SQL è possibile sviluppare indirettamente una soluzione che consente ai sistemi di disporre di una "distinta base" di tipi che definisce ciò che è necessario per l'installazione. Analogamente, la connessione ad Active Directory si rivela utile per gestire le proprietà dell'oggetto account (MAO) dei singoli computer.

Tenere presente che l'inclusione di ADSI in Windows PE non è supportata da Microsoft; tuttavia, sono disponibili alcuni articoli in linea nei quali viene spiegato come svolgere queste operazioni che, se completate in modo corretto, funzionano piuttosto bene. Se si ritiene che l'operazione sia fattibile, è possibile aggiungere il supporto SQL e sviluppare qui il flusso di lavoro dello strumento di ripristino di Windows PE. Se sono necessarie proprietà ADSI, è possibile utilizzare un sistema server che con un'operazione pianificata esegue una query sullo stesso SQL Server, e quindi su Active Directory tramite ADSI, svolgendo così la funzione di pass-through.

Non si tratta di una soluzione perfetta e sarà necessaria l'integrazione di qualche script o altro tipo di automazione, ma questa impostazione consentirà di interagire con Active Directory da Windows PE.

Tenere presente che è anche possibile utilizzare l'utilità LDIFDE per leggere le informazioni di Active Directory dall'interno di Windows PE (per ulteriori informazioni, vedere l'articolo della Knowledge Base su questo argomento all'indirizzo support.microsoft.com/kb/237677). Ad esempio, è possibile utilizzare il comando seguente:

ldifde -m -f x:\output.ldf -b <username> <domain netbiosname> <accountPassword> -s 
<DC or domain name> -d "DC=contoso,DC=com" -r "(&(objectclass=<computerclassname>)
(netbuisname=<mycomputername>))" - l "<attributename>"

L'immissione di questo comando consentirà di recuperare un attributo dall'oggetto computer specificato in x:\output.ldf, dove l'output può essere quindi analizzato.

SKU, bit e lingue

È necessario considerare le versioni, le architetture e le lingue di Windows che è necessario distribuire. In una piccola organizzazione che opera su scala nazionale, è probabile che si distribuisca un solo sistema operativo, quale Windows XP o Windows Vista, o si utilizzi ciò che viene fornito già installato nei nuovi PC. È probabile che il numero di eventuali sistemi Windows x64 sarà ancora piuttosto ridotto, se non nullo. È inoltre probabile che sia necessario supportare solo una lingua. Tuttavia, tanto più grande e più globale è l'organizzazione, tanto maggiore sarà il numero di architetture, versioni e configurazioni da gestire.

In un precedente articolo ho accennato alla possibilità di memorizzare le immagini di volumi x64 e x86 in uno stesso file WIM (Windows Imaging Format), ma questo non consentirà di risparmiare spazio. Se si sta sviluppando una soluzione di ripristino ed è necessario tenere conto di entrambe le architetture, è opportuno memorizzare ciascuna di esse in un file WIM separato. Allo stesso modo, se si sta per distribuire e supportare sia Windows XP che Windows Vista, non sarà possibile realizzare alcun risparmio memorizzando entrambi i sistemi operativi nella stessa immagine. Qualche risparmio rilevabile si otterrà solamente se si includono molte istanze della stessa applicazione, ad esempio il sistema Microsoft® Office 2007, in entrambe le distribuzioni. In tal caso, i file dell'applicazione non devono essere memorizzati molte volte, ma questo non produce ancora risparmi di spazio significativi.

Metodi di avvio di Windows PE

Windows PE 1.6

Avvio di PXE da installazione remota

Servizio (RIS) (senza RAMDisk)

Unità disco rigido

Unità memoria flash USB

PXE RAMDisk

CD/DVD RAMDisk

Unità memoria flash USB RAMDisk

Unità disco rigido RAMDisk

Windows PE 2.0

PXE RAMDisk

CD/DVD RAMDisk

Unità memoria flash USB RAMDisk

Unità disco rigido RAMDisk

Avvio di PXE da RIS è ottimale se è necessario PXE, ma occorre notare che questo metodo richiede più tempo per l'avvio e utilizza più risorse di rete rispetto a un RAMDisk PXE.

Unità disco rigido utilizza la quantità minima di memoria ma blocca l'unità. Questo metodo è ideale se si utilizza uno scenario di recupero flip-flop con doppia partizione.

Unità memoria flash USB l'avvio è più pratico; tuttavia, UFD (per entrambi gli scenari con e senza RAMDisk) è accidentale se i sistemi di avvio non sono stati verificati dall'OEM come volumi di avvio UFD e non si dispone del logo Windows Vista Capable, che assicura il supporto dell'avvio UFD come requisito del logo. L'avvio UFD richiede un'unità memoria flash ad alte prestazioni sia in lettura che scrittura e il supporto USB ad alta velocità da parte del controllore USB e del BIOS.

Avvio RAMDisk in tutte le sue varianti, richiede una maggiore quantità di memoria, ma garantisce prestazioni ottimali e toglie di mezzo Windows PE spostandolo in un RAMDisk nella memoria. L'avvio RAMDisk di Windows PE 1.6 va utilizzato in genere solo su sistemi con almeno 256 MB di RAM. Windows PE 2.0, che è sempre un avvio WIM RAMDisk, va eseguito generalmente solo con sistemi dotati di almeno 384 MB di RAM.

Va tuttavia osservato che è possibile ottenere risparmi di spazio significativi quando si memorizzano diversi SKU di una particolare versione di Windows nello stesso WIM. Ad esempio, supponiamo di combinare Windows XP Professional con Windows XP Tablet PC Edition oppure Windows Vista Business Edition con Windows Vista Ultimate Edition: queste combinazioni utilizzano lo spazio in modo efficiente in quanto due SKU della stessa versione e livello di Service Pack condividono gran parte del codice e dei file.

Infine, entra in gioco la lingua. Tanto più grande è un'organizzazione, tanto maggiore è il numero di lingue da tenere in considerazione. Con Windows XP, è possibile scegliere di utilizzare versioni localizzate o l'interfaccia utente multilingue (MUI). Nelle versioni interamente localizzate di Windows XP, pressoché ogni piccola stringa è stata tradotta nella lingua di destinazione. Con MUI, d'altra parte, la lingua di base è l'inglese mentre nei pacchetti in lingua MUI e nei successivi Language Interface Pack è stato modificato il maggior numero possibile di stringhe. I risultati ottenuti con MUI in Windows 2000 sono stati soddisfacenti e ancor più in Windows XP e Windows Server 2003.

Nelle organizzazioni che utilizzano MUI, è possibile ottenere buoni risultati combinando le varie versioni in lingua nello stesso file WIM. La ragione è dovuta al fatto che tutte utilizzano come base file binari in inglese. Questo non è il caso, tuttavia, delle versioni localizzate che sono state rilasciate prima di Windows Vista. Poiché i file binari sono localizzati, uno stesso file non troverà corrispondenze tra le varie lingue con il risultato che è necessario memorizzare quasi l'intero sistema operativo, e qualsiasi applicazione localizzata, per ciascuna lingua.

In Windows Vista, le versioni localizzate (localizzate come una parte di un singolo file binario con risorse al suo interno) sono considerate obsolete. Windows Vista utilizza file di risorse con estensione mui per ciascuna lingua, compreso l'inglese. Sostanzialmente, Windows Vista è libero dalle lingue in quanto la maggior parte di queste informazioni risiedono nei file MUI. Di conseguenza, la memorizzazione di più versioni in lingua di Windows Vista nello stesso WIM si tradurrà in significativi risparmi di spazio. Grazie alla memorizzazione di due, quattro o più lingue in un unico file WIM, non è necessario che la dimensione dell'immagine cresca drasticamente e in seguito è possibile cambiare o aggiungere lingue in base alle proprie esigenze.

In breve, nello sviluppo della soluzione, occorre tenere conto di quali versioni di Windows e di altre applicazioni condividono file binari identici, consentendo la memorizzazione di una singola istanza dei file. Ciò aiuterà a determinare il numero di file WIM necessari per l'intera organizzazione.

Scenari utente

Generalmente, la crescita di ogni organizzazione è accompagnata da crescenti livelli di complessità. Le cause non provengono solo dalla dimensione, ma da tutte le variabili che vengono introdotte: un maggior numero di utenti e unità aziendali, con esigenze più specifiche.

Ricordo il caso di una specifica organizzazione multinazionale: aveva decine di migliaia di utenti e un processo di distribuzione gestito completamente da un'unica posizione geografica e organizzativa. La persona che gestiva questa organizzazione poneva sempre domande alquanto impegnative. Ad esempio, un motivo di preoccupazione era costituito da alcuni dei suoi utenti remoti che lavoravano in varie parti dell'Africa, i quali spesso non avevano a disposizione una buona connessione di rete trovandosi a centinaia di miglia da una linea telefonica. Egli aveva l'esigenza di sapere in che modo questi utenti potevano ripristinare i propri sistemi senza rimanere inattivi per giorni e senza dover viaggiare a grandi distanze.

Quando si sviluppa un prodotto, e in tal senso occorre pensare alla soluzione di ripristino come un prodotto, è necessario tenere come punto di riferimento i relativi utenti. Pensare alle specifiche esigenze aziendali, ma anche alle varie complessità associate alle diverse categorie di utenti. È necessario incorporare casi di utilizzo, applicando brevi descrizioni per descrivere ciascun tipo di utente finale da supportare. Questi possono aiutare a individuare tutti gli utenti rimasti accidentalmente esclusi dalla soluzione di ripristino e garantire che ciascun tipo di utente venga tenuto in considerazione.

La versione corretta di Windows PE

Un'altra decisione importante consiste nel determinare quale versione di Windows PE è più adeguata alle esigenze specifiche. I numeri precedenti di questa rubrica posso essere di aiuto, ma tenterò qui di facilitare ulteriormente tale decisione. Se ci si ritrova in una qualsiasi delle seguenti condizioni, occorre utilizzare Windows PE 1.6:

  • Si deve ripristinare solo Windows XP (o Windows Server 2003)
  • Si devono ripristinare sistemi che non sono conformi alle specifiche ACPI (Advanced Configuration and Power Interface)
  • Si devono ripristinare sistemi che non sono dotati di almeno 512 MB di RAM
  • Si devono ripristinare sistemi che richiedono l'avvio Pre-Boot eXecution (PXE) con meno di 256 MB di RAM

Se ci si ritrova in una qualsiasi delle seguenti condizioni, occorre utilizzare Windows PE 2.0:

  • Si deve ripristinare solo Windows Vista (o Windows Server 2008)
  • Oltre a Windows XP si deve ripristinare Windows Vista
  • Viene utilizzato BitLocker™

Tenere presente che ImageX (vedere la sezione "Creazione, aggiornamento e memorizzazione") e la maggior parte delle soluzioni di creazione di immagini di terze parti funzionerà correttamente con qualsiasi versione di Windows PE.

Avvio di Windows PE

Il successivo elemento da considerare è la modalità con cui verrà avviato Windows PE. In questo caso, gli scenari utente svolgono un ruolo determinante. È realistico valutare che gli utenti portino con sé CD o DVD per il ripristino? Saranno in grado di gestirli con un computer portatile mentre si trovano in viaggio? Inoltre, come verranno tenuti aggiornati i supporti di ripristino? Le immagini di ripristino sui supporti rimovibili possono diventare obsolete molto rapidamente.

Indubbiamente lo scenario più comune che ho osservato è la partizione secondaria del disco rigido. Un'altra opzione è l'avvio di PXE. In alternativa, è possibile valutare l'utilizzo di unità USB esterne o anche di unità memoria flash USB (UFD), ma va tenuto presente che l'hardware in questione deve supportare esplicitamente l'avvio da un dispositivo UFD.

Nella barra laterale "Metodi di avvio di Windows PE" sono descritti i metodi supportati per l'avvio di ciascuna versione di Windows PE con alcune importanti considerazioni su ciascuno di essi.

L'avvio di Windows PE deve avere l'obiettivo di predisporre il processo di ripristino soddisfacendo determinati criteri:

  • Interazione utente minima
  • Spostamento minimo di componenti (supporti rimovibili o dispositivi rimovibili)
  • Possibile mancanza di connettività di rete per il computer
  • Impossibilità di avviare il computer in locale (Windows non viene avviato)

Spesso gli amministratori escludono la possibilità di inserire Windows PE (direttamente o in un RAMDisk) sul disco rigido perché sono preoccupati dalla possibilità che questo subisca dei guasti. In realtà, data l'affidabilità dei dischi attuali questa opzione è senz'altro praticabile; inoltre, se l'unità fisica viene danneggiata, l'utente non sarà comunque in grado di ripristinare autonomamente il sistema.

La mia preferenza è di creare una partizione secondaria sulla quale memorizzare l'immagine di ripristino. Non sono un sostenitore delle partizioni nascoste, perché tendono a confondere gli utenti. Anche l'utilizzo di un elenco di controllo dell'accesso (ACL) su di esse non è una scelta fattibile, a meno che gli utenti non siano amministratori locali.

Grazie alla riduzione della partizione utilizzata per Windows (vedere la barra laterale "Creazione di una partizione di ripristino"), può essere possibile creare spazio sufficiente per memorizzare Windows PE e l'immagine di ripristino. Per inserire Windows PE sulla partizione secondaria, è sufficiente creare il settore di avvio appropriato sulla partizione di ripristino e inserire Windows PE in tale partizione. Questa procedura è descritta nei documenti contenuti nel Windows AIK e nelle versioni precedenti di Windows PE, quindi non sarà necessario trattarla in dettaglio qui. La cosa principale da ricordare è che la partizione utilizzata per l'avvio viene determinata dalla partizione contrassegnata come attiva. Diskpart fornisce un flag attivo e un altrettanto importante flag inattivo. Per avviare la partizione di ripristino dall'interno di Windows (o da una copia di Windows PE), utilizzare diskpart per commutare le partizioni attive (vedere la Figura 1). Di seguito viene fornito l'esempio di uno script di diskpart (utilizzare diskpart /s nomescript.txt) usato per commutare un sistema con due partizioni su un singolo disco:

SEL DIS 0 
SEL PAR 1 
INACTIVE
SEL PAR 2
ACTIVE
EXIT 

Figura 1 Modifica della partizione attiva con diskpart

Figura 1** Modifica della partizione attiva con diskpart **(Fare clic sull'immagine per ingrandirla)

Questo è il processo che viene adottato da molti strumenti di ripristino consumer per invertire le partizioni; per alcuni tipi di partizioni, quali le partizioni OEM nascoste, l'operazione può essere eseguita solo dall'interno di Windows PE. In alcuni casi, questi strumenti saranno anche in grado di scoprire un tipo di partizione OEM nascosta.

Creazione, aggiornamento e memorizzazione

Creazione di una partizione di ripristino

Nel momento in cui sono noti i passaggi richiesti, il processo di creazione di una partizione di ripristino lasciando intatto Windows non è difficile. Di seguito viene fornita una rapida descrizione delle operazioni da svolgere. Tenere presente che questo processo richiede Windows PE 2.0. Anche se nelle operazioni di distribuzione e ripristino è possibile non utilizzare Windows PE 2.0, per questa attività è necessario utilizzare tale versione. Questo processo può essere utilizzato anche per distribuire Windows Vista e per creare una partizione di avvio da utilizzare per i file di avvio di BitLocker, il quale richiede almeno due partizioni (una per i file di avvio e una per il resto del sistema Windows).

  1. Deframmentare il disco (questo può contribuire ad accelerare il processo di compattazione, che richiede una notevole quantità di tempo)
  2. Avviare in Windows PE 2.0
  3. Eseguire diskpart (se si desidera, è possibile creare uno script per svolgere i passaggi da 4 a 9 e inviare a diskpart il seguente argomento: /s nome_dello_script
  4. SEL VOL 1 (o il volume da compattare)
  5. SHRINK DESIRED=N MIN=N (specificato in megabyte, DESIRED è l'obiettivo e MIN è il minimo assoluto necessario)
  6. Al termine della compattazione, eseguire SEL DIS 0
  7. CRE PAR PRI (è possibile indicare SIZE=N se si desidera specificare una dimensione diversa da quella residua del disco)
  8. ASSIGN LETTER=N: (questa lettera viene utilizzata solo in Windows PE)
  9. Uscire da diskpart
  10. FORMAT N: /Q /Y /F: NTFS (NTFS formatta la nuova partizione)
  11. Eseguire bootsect N: (/nt60 per 2.0, /nt52 per 1. x)
  12. Copiare i file di Windows PE desiderati sulla partizione di ripristino
  13. Arrestare il sistema

Anche se ImageX è una soluzione disponibile gratuitamente, è possibile che si disponga già di uno strumento di creazione di immagini che viene utilizzato da qualche tempo. È possibile utilizzare lo strumento che si ritiene più pratico. Se si sta considerano l'utilizzo di ImageX, vi sono alcune cose che ritengo valga la pena segnalare, oltre all'ottimo prezzo. In particolare, ImageX adotta un approccio aggressivo alla compressione. È degna di nota anche la possibilità di aggiungere un'immagine e di modificarla in modo relativamente semplice.

Un altro aspetto apprezzabile è che ImageX consente di gestire le immagini di uno o più volumi in modo non distruttivo, lasciando che i dati utente vengano spostati per preservarli. In altre parole, durante il ripristino di Windows, non è necessario distruggere completamente l'intero volume.

Quindi, ovviamente, è necessario decidere dove memorizzare l'immagine. Supponendo che la soluzione utilizzi una partizione di ripristino, qui è possibile memorizzare un file WIM o un altro file immagine. È anche possibile considerare l'utilizzo dei Servizi di distribuzione Windows (WDS), creando un'immagine standard del sistema operativo e memorizzandola nella rete. Questo consente di realizzare una soluzione di ripristino comune che è disponibile per l'intera infrastruttura. Ovviamente, in presenza di utenti sul campo, come il personale citato in precedenza che opera in varie parti remote del mondo, sarà necessario garantire che dispongano di una propria soluzione quando non è possibile accedere alla rete.

Ho accennato in precedenza alla possibilità di utilizzare supporti, quali i DVD, anche se esiste un certo numero di ragioni per cui non prediligo questa opzione per un utilizzo generalizzato. Ad esempio, la dimensione di un'immagine può crescere rapidamente oltre la dimensione di un DVD e i dischi di questo tipo non possono essere aggiornati facilmente. Inutile aggiungere che i supporti ottici non hanno una collocazione precisa; è necessario semplicemente considerare quale scenario è migliore per i vari tipi di utenti. La mia preferenza, se non ne è stata ancora individuata una personale, è di memorizzare l'immagine su una partizione di ripristino, su un disco rigido o unità memoria flash USB o, laddove possibile, nella rete utilizzando WDS.

Un aspetto che rende interessante la scelta di WDS è la possibilità di aggiornare facilmente un'immagine centralizzata. È ormai diffusamente noto che gli aggiornamenti di Windows Update vengono rilasciati ogni mese e che la loro importanza è cruciale. Progettare la soluzione in modo tale che l'immagine di ripristino sia quanto più aggiornata è possibile. WDS consente di aggiornare l'immagine su ogni server ed è completa.

Problemi relativi ai dati e alle impostazioni utente

Quando si progetta una soluzione di ripristino, vi sono alcuni problemi da considerare. Un aspetto centrale della pianificazione di qualsiasi soluzione di ripristino è garantire la protezione anche dei dati degli utenti. Non è certamente desiderabile che un utente sul campo esegua un ripristino per scoprire subito dopo di avere perduto tutti i dati importanti nel corso della procedura. Idealmente, sarà desiderabile che i dati degli utenti siano memorizzati in una posizione diversa dalla partizione C:, a meno che non venga prestata molta attenzione alla modalità con cui viene gestito il ripristino del sistema.

Ho già accennato in precedenza che ImageX consente di ripristinare un disco in modo distruttivo. Ad esempio, sposta la struttura della directory Documents and Settings (o Users) in un'altra directory, così un utente o uno script può recuperare manualmente i file al termine del ripristino. Gli utenti che memorizzano tutti i file sotto il proprio profilo o che utilizzano profili comuni dovrebbero, nella maggior parte dei casi, ripristinare un sistema senza perdere i propri dati. È tuttavia importante ricordare che se la soluzione di ripristino non viene messa a punto con attenzione o se non è disponibile una buona soluzione di backup, è comunque possibile perdere una certa quantità di dati utente.

Va ricordato che nonostante l'accuratezza della pianificazione, alcuni utenti memorizzeranno le informazioni in posizioni diverse dal proprio profilo. È necessario accertarsi che la soluzione tenga conto della possibilità di eliminare accidentalmente dei dati utente e avvisare gli utenti prima di procedere.

Se si utilizza Crittografia file system (EFS), assicurarsi di avere attuato un piano di ripristino delle chiavi: non è auspicabile perdere dei dati a causa di un sistema di crittografia non recuperabile. Allo stesso modo con BitLocker, assicurarsi di avere predisposto il ripristino dei volumi crittografati con questo metodo. Questo comporta l'utilizzo di Windows PE 2.0, in quanto la versione 1.x non è in grado di interagire con BitLocker. Per ulteriori informazioni sul ripristino di BitLocker, vedere blogs.msdn.com/si_team.

Infine, occorre essere preparati all'eventualità che alcuni utenti saranno contrariati dalla scomparsa di alcune delle loro personalizzazioni o applicazioni. Le personalizzazioni delle applicazioni e dello stesso Windows sono memorizzate in alcune posizioni casuali, non solo nel profilo utente. Quando viene ripristinata l'intera partizione del sistema operativo, alcuni utenti chiederanno "dove è finito x?" o "perché non c'è più Word?" Stabilire le aspettative degli utenti in modo che siano consapevoli che l'ambiente potrebbe non essere esattamente lo stesso che utilizzavano il giorno prima.

La creazione di una soluzione di ripristino con Windows PE richiede tempo ed è necessario tenere sempre presenti gli utenti durante tutte le fasi di pianificazione e progettazione. Una soluzione di ripristino non deve essere eccessivamente complicata: deve semplicemente consentire agli utenti di ritornare all'operatività nel più breve tempo possibile con supporto tecnico limitato.

Wes Miller è un responsabile di sviluppo presso Pluck (www.pluck.com), Austin (Texas). In precedenza, ha lavorato per Winternals Software ad Austin e in Microsoft come Program Manager e Product Manager di Windows. È possibile contattarlo all'indirizzo technet@getwired.com.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.