Anlan Blog

Un posto per scrivere quello che sento
Options:

Utilizzare immagini iso cd/dvd in modo virtuale

In un mio precedente articolo su come utilizzare un’immagine ISO senza bruciare un cd avevo illustrato brevemente l’utilizzo di Virtual CD Control Panel fornito da Microsoft. Francamente, sebbene VCD faccia il suo lavoro senza troppi problemi, non mi sono mai affezionato particolamente a questo tool.

Ho deciso allora di applicarmi nella ricerca di qualcosa che fosse un po’ più funzionale ed alla fine ho trovato Virtual Clone Drive di Elaborate Bytes che permette, in modo facile ed estremamente intuitivo, il montaggio e lo smontaggio delle più comuni immagini CD e DVD (iso, ccd, dvd, img, udf e bin).

Per cominciare basta scaricare il software direttamente dal sito di Elaborate Bytes ed installarlo sul vostro Windows Vista. Una volta installato, avviate l’applicazione (dal menu Start) ed indicate il numero di unità che volete avere a disposizione: aprite il tab “Settings” e selezionate il numero di drive che il software dovrà “virtualizzare” oltre ad altre utili impostazioni come, ad esempio, il montaggio automatico dell’ultima immagine utilizzata.

Dopo aver confermato con OK potete accedere alle risorse del computer e visualizzare le nuove unità che sono state installate.

Per utilizzare un’immagine che avete scaricato dal Web (senza dover per questo per forza masterizzare un cd), cliccate con il bottone di destra sull’icona del drive virtuale e selezionate la voce di menu contestuale “Virtual Clone Drive” e quindi l’azione che vi interessa.

Noterete che nell’immagine di esempio viene anche riportata la storia delle ultime immagini utilizzate. Se volete caricare una nuova immagine cliccate su “Monta” e navigate tra i file del vostro hard disk per aprire il file che vi interessa. Una volta montata l’immagine sarà come se aveste masterizzato un cd e lo aveste inserito nel lettore del vostro computer.

Mentre sto attendendo che il corriere consegni il pacchetto di Dell con il quale dovrei ricevere l’upgrade gratuito a Windows 7, ho voluto fare una ricerchina per vedere se l’annoso problema di una lentezza mostruosa nella copia dei file via rete sperimentata già con Vista fosse stato risolto.

Con mia grande sorpresa … no !!

Inserendo in Google i classici termini “slow network copy Windows 7″ si trovano ancora decine di migliaia di post irrisolti, inseriti da persone ormai disperate, il più delle volte arrese. Eppure questo secondo approfondimento ha portato i suoi frutti. Ho trovato una soluzione, illustrata per Windows 7, che, almeno per la mia configurazione, ha risolto il problema. Consideratelo quindi come un ulteriore tentativo di porre rimedio ad una delle tante annoyances di Windows Vista : non ne cercherò altri perchè, ripeto, ora finalmente la copia dei miei file anche di grandi dimensioni con Vista ( e spero anche con 7 ) funziona a velocità cristiane.

Ecco dunque come procedere (Windows Vista)

  1. Se avete UAC (Controllo Accesso Utente) abilitato, assicuratevi di aprire un prompt di comando (cmd) con privilegi di amministratore;
  2. Digitate il comando netsh int ip show offload Dovrebbe apparire un output simile al seguente: Interfaccia 1: Loopback Pseudo-Interface 1
    Interfaccia 7: Connessione alla rete locale (LAN)
    Checksum ipv4 transmit supportato.
    Checksum udp transmit supportato.
    Checksum tcp transmit supportato.
    LSO tcp supportato.
    Checksum ipv4 receive supportato.
    Checksum udp receive supportato.
    Checksum tcp receive supportato.
  3. Ovviamente i numeri di interfaccia potrebbero cambiare.
  4. Digitate ore il comando : netsh int ip set global taskoffload=disabled. Come unico output dovreste ricevere un OK.
  5. Dal menu Start eseguite ora : ncpa.cpl (viene avviata l’applet di gestione delle connessioni di rete)
  6. Sulla vostra connessione di rete (fatelo su tutte se ne avete più di una) cliccate con il bottone di destra e quindi scegliete Disabilita. Attendete che la disconnesione di rete sia completata e poi subito riabilitatela (clic destro -> Abilita)
  7. Ora tornate al prompt di comando precedente e digitate di nuovo : netsh int ip show offload. Questa volta, a parte l’elenco delle interfacce, non dovrebbe apparire alcun messaggio di stato.
  8. Molto bene. Provate ora ad eseguire una copia di un file corposo (un centinaio di mega) da o verso una condivisione di rete remota. Finalmente una velocità degna di questo nome (almeno per me … yuppiee).

Windows a 32 o 64 bit ?

Trovandosi a scegliere la migliore versione per Windows per il nostro computer, ci si imbatte, non ultimo, nella scelta tra un’architettura a 32 bit o a 64 bit. La percezione comune, purtroppo sbagliata, vuole che le versioni a 64bit dei sistemi operativi abbiano performance comunque superiori a quelle degli omologhi a 32 bit. Non è così: in linea generale è molto difficile apprezzare significativi aumenti di prestazioni nell’architettura a 64bit rispetto a quella a 32. E per di più potrebbero esserci delle implicazioni negative nell’adottare le versioni x64 di Windows Vista e Windows 7.

L’architettura a 64 bit è la naturale evoluzione di quella a 32 ma il suo sviluppo non ha mai avuto come obiettivo primario quello dell’aumento delle prestazioni: al contrario lo “scoglio” da superare era (ed è) quello della limitazione fisica nell’accesso allo spazio degli indirizzi di memoria utilizzabili. Per le architetture a 32 bit il limite superiore è 2^32 ovvero 4.294.967.296 (poco più di 4Gb). Limite per altro teorico perchè la quantità di memoria realmente disponibile per le applicazioni viene ridotta della quantità riservata alle periferiche su piastra motivo per cui in un sistema a 32 bit l’utente non avrà mai a disposizione 4GB pieni. Con l’architettura a 64 bit questo limite viene spostato sensibilmente in alto (2^64 = 18.446.744.073.709.551.616) rendendo disponibili spazi di indirizzi di memoria che verosimilmente (dati i valori esposti) non costitueranno un limite per un bel pezzo di tempo.

Ovviamente questa ampliata disponibilità può avere un impatto rilevante sulle prestazioni del nostro computer ma bisogna fare delle considerazioni. Tutti sappiamo che avere più RAM a bordo significa aumento delle prestazioni perchè così il sistema riesce a tenere in RAM i dati di più processi simultanei senza ricorrere al paging su disco. Se però si monta un sistema a 64 bit su un PC con meno di 4GB di RAM fisica è evidente che, anche potendo accedere ad indirizzi superiori ai 4GB, la RAM fisica oltre i 4GB non c’è quindi, giocoforza, il sistema operativo swappa su disco perdendo quindi ogni vantaggio. In queste condizioni appare chiaro che non è più l’architettura a 64 bit che può aumentare le nostre prestazioni quanto piuttosto, nel caso specifico, un hard-disk molto veloce. Al contrario, avendo a disposizione oltre 4GB di Ram, verrà consumato un minore numero di cicli per il roll-out / roll-in dei dati inRAM quando si passa da un processo all’altro.

Un’altra considerazione da fare è relativa a quali ambiti applicativi possono avvantaggiarsi dall’adozione di un sistema operativo a 64bit :

  • Ovviamente hardware che dispongono di oltre 4Gb di ram
  • Applicazioni che richiedono calcoli matematici in virgola mobile
  • Applicazioni che utilizzano ampi database ad elevate performance
  • Acquisizioni video o di analisi che richiedono trasferimento di grandi quantità di dati in memoria RAM ad alta velocità

Anche in queste condizioni comunque NON sempre un sistema operativo Windows a 64 bit può risultare più veloce di un omologo a 32bit.

  • Il maggior numero di indirizzi “visibili” da parte del kernel è comunque un aggravio di informazioni da gestire
  • I programmi applicativi a 32 bit avranno comunque un degrado di performance in quanto “girano” in uno strato di emulazione (WoW64 = Windows On Windows 64) che traduce le istruzioni a 32 bit in istruzioni a 64 bit. Ovviamente questo strato di emulazione rallenta il processo. L’applicazione a 32 bit “crede” di trovarsi all’interno di un sistema 32 bit ma in realtà è come se girasse (molto grossolanamente) dentro a VirtualPc o VirtualBox.

Ad aggravare il tutto ci si è messa la Microsoft che per le sue versioni a 64 bit di Windows 7 e di Vista richiede obbligatoriamente che i driver siano firmati elettronicamente (adducendo come giustificazione – sensata per altro – della necessità di un aumento di stabilità del sistema) : questo può comportare dei problemi per esempio a quegli utenti che, pur dotati di oltre 4GB di ram, hanno a bordo periferiche ancora valide ma per le quali i produttori non hanno ancora rilasciato versioni ufficiali dei propri driver per 64 bit.

In funzione di quanto sopra emerge un altro aspetto non trascurabile: il confronto di prestazioni tra un sistema a 32 bit ed uno puro a 64 bit è un esercizio senza significato. Bisogna tenere infatti presente che driver e programmi sono DIVERSI e spesso i produttori nella ricompilazione a 64bit li ottimizzano

Nella ricerca quindi delle migliori prestazioni il tipo di architettura è sicuramente uno degli elementi discriminanti ma non certo il più importante: ancora l’hardware è il pilastro portante delle scelte facendoci preferire ampie disponibilità di RAM, dischi molto veloci e processori multicore.

Backup e ottimizzazione del registro di Windows

In un mio precedente post ho cercato di spiegare come i programmi per la cosiddetta pulizia del registro sono fondamentalmente inutili. Ciò non toglie che il registro di Windows, come del resto tutte le altre componenti di questo sistema operativo, meriti una certa cura e, soprattutto, avere a disposizione delle indispensabili copie di sicurezza può essere utile per toglierci di impaccio in situazioni critiche, come ad esempio il danneggiamento dei file in cui i valori del registro sono scritti (hive).

Esistono diversi metodi per poter salvare una copia del registro di sistema e ripristinarlo in caso di necessità : il più comune è senz’altro il Punto di Ripristino del sistema (da Windows XP in poi). Il Punto di Ripristino permette di riportare il computer ad uno stato precedente senza perdere le informazioni personali più recenti come documenti, cronologie, preferiti o cookie. Generalmente l’utilità interna che si occupa di creare delle “foto” (snapshot) dello stato del computer (Il punto di ripristino appunto) tiene costantemente sotto controllo il sistema e numerose applicazioni creando un fix in automatico prima che vengano eseguite operazioni che possano avere impatti rilevanti sulla configurazione generale (come ad esempio l’applicazione di una patch di Windows Update o l’installazione di un nuovo programma).
Questo metodo tuttavia può non sempre rivelarsi affidabile perchè, ad esempio, nel caso vogliate ripristinare lo stato di parecchio tempo addietro, questo potrebbe essere stato automaticamente “cancellato” perchè non c’era spazio su disco sufficiente, o perchè risulta danneggiato. Fare affidamento sui punti di ripristino potrebbe essere rischioso specialmente se sono stati creati molto tempo addietro.

Un secondo metodo prevede l’esportazione del registro di sistema tramite l’utilità regedit (esportando singoli rami o l’intera radice) in file di testo che poi possono essere “reinseriti” all’interno del registro. Anche questa seconda modalità può avere delle controindicazioni. L’esportazione, infatti, genera dei file che saranno solo “fusi” con il registro in sede di ripristino, non riporteranno il registro allo stato in cui è stato salvato. Per esempio se il registro, al momento dell’esportazione, disponeva (si fa per dire) di solo 10mila chiavi e dopo qualche tempo ce le troviamo tutte incasinate ed incrementate di numero (per esempio 12mila) l’unica cosa che potremo fare è quella di riportare le 10mila chiavi iniziali al valore che avevano al momento dell’esportazione ma le eccedenti 2000 restano dove sono. Solo per nota tecnica l’esportazione del registro può essere effettuata anche da riga di comando utilizzando l’utilità reg. (es. reg export). La grave lacuna di questo metodo comunque è il fatto che l’esportazione del registro NON è completa : per esempio il hive SECURITY non viene esportato affatto. Per cui il semplice export tramite regedit è sempre monco.

Vi è poi, come terzo strumento disponibile, la possibilità di salvare “Lo stato del sistema” (system state) utilizzando NTBackup. Installato per default su tutte le versioni di Windows da NT in poi, fanno eccezione Windows XP Home (per il quale gli utenti che desiderano NTBackup devono seguire queste istruzioni di Microsoft) e le recenti versioni di Windows Vista e Windows 7 per le quali è comunque possibile copiare il tool da una installazione di Windows XP. Tramite NTBackup è possibile salvare il System State che comprende il registro, il database di registrazione degli oggetti COM+ e i file di avvio (boot).

Tutti gli strumenti appena elencati sono compresi  nel vostro sistema operativo oppure facilmente ottenibili tramite download Microsoft. Non c’è quindi bisogno di arrovellarsi alla ricerca di strumenti offerti da terze parti … ricerca che spesso è pericolosa dato che quando si parla di “Registro di sistema”  si sta parlando dell’ossatura principale di Windows. Eppure tutti questi strumenti sono incompleti e non garantiscono un vero ripristino del registro di sistema in caso di necessità.

Viene allora da pensare : perchè semplicemente non copiarsi i file in cui è scritto il registro di sistema e buona notte. Semplice … perchè il sistema non ve lo fa fare in quanto sono in uso. (Per i curiosi i file hive del registro si trovano in %Windir%\System32\Config)

In soccorso ci viene una piccola utilità freeware (quindi gratuita) che si chiama ERUNT Emergency Recovery Utility for Windows NT. I più anziani ricorderanno senz’altro che per Windows 9x/ME esisteva un tool simile, ufficiale Microsoft, che si chiamava appunto ERU. Purtroppo dall’avvento di Windows NT in poi questa utilità non è più stata riproposta dal big di Redmond, grazie anche alle minori possibilità di danneggiamento al registro di sistema.

Ci ha pensato dunque Lars Hederer (lo sviluppatore di ERUNT) a mettere a disposizione per le nuove generazioni di Windows un tool di backup e recovery del registro di sistema oltre ad un utile strumento per l’ottimizzazione del registro (no … non l’ottimizzazione che pensate voi fatta di eliminazione di chiavi orfane … solo la vera ottimizzazione ovvero la compattazione e la deframmentazione degli hive su disco)

Con Erunt potrete tenere effettuare le copie di backup del registro e, se le ripristinate, sarete sicuri che il registro tornerà all’esatto stato in cui era al momento del salvataggio. Come opzione Erunt vi chiede di essere inserito nei programmi ad esecuzione automatica per eseguire un backup automatico all’avvio del pc: lo ritengo superfluo. State attenti però a fare le copie di backup prima di iniziare qualche attività “rischiosa”.

Purtroppo l’intero software è in inglese anche se molto intuitivo: l’unica cosa che mi sento di tradurre dagli avvisi importanti riguarda gli utenti di Windows Vista e di Windows 7
ERUNT e NTREGOPT nella versione corrente 1.1j sono compatibili con Windows 7 e Windows Vista ma per entrambi è richiesto che sia disabilitato UAC .

Voglio un computer nuovo senza sistema operativo

Mettere in atto un proposito del genere, specialmente in italia, è cosa piuttosto ardua.

Ci tengo subito a sottolineare che questo mio post non vuole essere in nessun modo un tentativo di denigrazione di questo o di quel sistema operativo: è mia intenzione invece tentare di ragionare sulle numerose implicazioni che hanno portato ad una situazione di mercato “bloccato” sia a causa di politiche di lock-in messe in pratica dal più grande vendor di sistemi operativi al mondo, sia a causa della scarsa propensione dell’utenza in genere ad entrare nel merito di questioni “tecniche” apparentemente improduttive.

Ma partiamo da principio … cosa è un computer ? Il computer è una macchina, fatta di pezzi ferro (o altri metalli nobili), plastica, fili ecc la cui struttura, di per se, è assolutamente inerte o per meglio dire è in grado solo di eseguire elementari operazioni rappresentate da flussi logici di impulsi elettrici. Punto.
Ma allora com’è che con il computer si fanno mille cose come ad esempio, navigare in internet, ascoltare musica, memorizzare e stampare foto ecc. ? Semplicemente perchè al “ferro” è stato aggiunto uno strato “impalpabile e immateriale” detto software che contiene tutta una serie di istruzioni che lo rendono “vivo” ed in grado di intergire con l’utente. Lo stesso software va diviso poi in due sotto categorie: il sistema operativo e gli applicativi. Il sistema operativo è quella parte dello strato software che permette il “caricamento” e l’esecuzione delle istruzioni base affinchè gli applicativi possano interagire (tramite interfacce) con l’utente.

Diffusa invece è la convinzione che la definizione di “computer” sia da intendersi nell’accezione “collettiva” di hardware + software. E’ vero infatti che un computer funzionante è una delicata alchimia di hardware + software ma è anche vero che questa alchimia non definisce un computer. Definisce, al contrario, una macchina che sia già in grado di interagire con il proprio utente. Così come un tornio è assolutamente inutile (per l’utilizzatore) senza un programma di modellazione del pezzo di acciaio, anche il computer è, per l’utente finale, inutile senza lo strato software che lo rende utilizzabile. Ma il tornio, come il computer, può esistere indipendentemente dal programma che lo fa funzionare.

Su questa base e su questo misunderstanding comune, un’azienda in particolare ha costruito la sua fortuna: Microsoft. Ed è tanto forte la leva che agisce su questa percezione da rendere praticamente impossibile la ricerca di un computer nuovo che non abbia un sistema operativo basato su Windows preinstallato.

Ovviamente tutto ciò ha un impatto su quella che, in numerose battaglie sia ideologiche sia economiche, viene definita essere la “libertà di scelta del consumatore”. Anche se sembra superfluo riportarlo all’attenzione è però bene sottolineare che Windows non è l’unico sistema operativo disponibile per far funzionare un computer. Esistono numerose altre possibilità: Linux (nelle sue varie e variegate distribuzioni), Unix, Apple Mac … solo per citare alcune tra quelle che trovano il maggior numero di riferimenti.

Ma se da un lato è arcinota l’aggressività di Microsoft nel perseguire i propri scopi commerciali spingendo per Windows su ogni desktop, non altrettanto facile ed immediatamente attuabile sarebbe l’individuazione di una soluzione alternativa che impedisse a Microsoft di preinstallare, in accordo con i produttori di hardware, il proprio sistema operativo sulla quasi totalità dei computer.

Perchè ? Provate ad immaginare di recarvi in un centro commerciale tra quelli che ospitano i più famosi marchi di catene specializzate nella vendita di prodotti per l’informatica di tipo consumer e di trovare solo computer spenti perchè non dotati di un qualsiasi sistema operativo. Sarebbe un disastro per il mercato in quanto gli utenti non sarebbero in grado, per esempio, di “percepire” le prestazioni di una macchina rispetto a quelle di un’altra, non capacitandosi delle differenze di prezzo tra questo o quel modello e nella impossibilità di leggere complicate tabelle comparative fitte di dati tecnici con mille acronimi come Ghz, RPM, RAM ecc. Gli addetti alle vendite verrebbero subissati di richieste di chiarimenti, di istruzioni su cosa fare una volta che si torna a casa con “lo scatolo” e su cosa sia meglio installare o meno … paralizzando di fatto le vendite.

A questo punto, molti sostenitori del software Open-Source, potrebbero avere la tentazione di suggerire come possibile alternativa l’adozione sui computer di sistemi operativi open e gratuiti basati su Linux … ma anche questo sarebbe causa di non pochi problemi. Innanzitutto : quale distribuzione Linux ? E’ verosimile correggere un errore di monopolio suggerendone un altro che, seppur libero e di nessun costo per l’utente finale, danneggerebbe irrimediabilmente gli altri produttori di distribuzioni Linux e, per di più, danneggerebbe un’azienda commerciale ? E poi : come rispondere ad una esigenza di “compatibilità” universale in modo che il “pezzo di ferro” venduto possa validamente e senza problemi ospitare sistemi operativi di diversa natura e che richiedono, giusto a titolo di esempio, driver diversi ?

E come risolvere poi i problemi di help-desk nel servizio di post vendita in presenza di un pubblico dotato di un parco software disomogeneo ? Sarebbe il panico: quasi tutti i maggiori vendor di harware guidano l’utente in fasi di test e disagnostica dei possibili problemi attraverso l’uso di strumenti progettati per uno specifico sistema operativo e se ne lavano allegramente le mani nel momento in cui l’utente non dispone di quella configurazione hardware/software considerata standard. Come individuare un problema hardware e distinguerlo nettamente da un bug software ?

Le soluzioni possibili si sprecano ma tutte avrebbero dei costi mostruosi e comporterebbero complicazioni tecniche inimmaginabili. Sarebbe facile infatti proporre, ad esempio, l’adozione di Windows preinstallato solo in modalità “trial” (versione di prova a scadenza dopo x giorni) e, per il supporto, la fornitura insieme al pc di un cd avviabile (o di una partizione disco) che esegua automaticamente le procedure di diagnostica secondo le specifiche del produttore del computer. Ma che succederebbe alla scadenza del periodo di prova ? Siamo sicuri che nel momento in cui l’utente si accorge che la sua versione di Windows sta per scadere abbia le conoscenze tecniche per : valutare e scegliere una distribuzione linux confacente alle proprie esigenze, salvarsi i dati già creati magari con altre applicazioni trial, installarsi da zero un sistema operativo (magari facendo casino con le partizioni disco che contengono anche l’area di recovery del pc), e ritrovare i necessari applicativi che assolvono ai compiti che l’utente si aspetta di eseguire.

Forse è più forte lo standard de-facto che si è creato (o che è stato abilmente creato) delle contingenti politiche commerciali messe in campo da Microsoft: la limitazione delle scelte del consumatore è primariamente dovuta al fatto che nella stragrande maggioranza dei casi l’utente NON ha gli strumenti e le conoscenze tecniche per scegliere nè li vuole avere. L’approccio medio è : compro il pc, vado a casa, lo accendo, confermo tutto, mi collego ad internet e sono su Facebook.

Un computer senza sistema operativo questo non lo può offrire: anzi … aggraverebbe la situazione data l’impossibilità (a meno di un passamano fisico di un cd o un dvd) di potersi approvvigionare, attraverso il web, di una soluzione alternativa a Windows dato che, per lo più, Linux nelle sue varie distribuzioni non lo trovate sugli scaffali dei centri commerciali. Il paradosso è … se non hai Windows e non conosci nessuno non riesci nemmeno a scaricarti una distribuzione Linux, sempre ammesso poi che tu sappia masterizzarla, avviarla ed installarla “sopra” il tuo Windows.

Diventa quindi talmente stringente il rapporto tra pc e Windows che perfino a livello normativo diventa una battaglia titanica la richiesta della doverosa applicazione del diritto di rimborso ad una licenza Windows che non vogliamo: Paolo Attivissimo nel suo blog lo spiega dettagliatamente.

Fin qui abbiamo discusso di uno scenario che si applica all’utenza domestica. Ma cosa succede nelle aziende ? Perchè, in un momento di crisi come questo, non si cerca un modo per tagliare i costi rivolgendo la propria attenzione a soluzioni operative open-source ? Una piccola/media impresa dotata di un centinaio di pc riceverebbe un beneficio di oltre 20mila euro in sede di rinnovo parco macchine scegliendo di comprarle senza sistema operativo. Anche qui però entra in gioco la generale cultura informatica del personale addetto: in azienda i computer non lavorano da soli, ci sono delle persone davanti che devono interagire con essi. E tanto più utilizzano strumenti “noti” tanto più alto è il risparmio in formazione interna e nell’erogazione di servizi di help-desk. Certamente un approccio del genere porterebbe dei vantaggi, come ad esempio la maggiore difficoltà da parte di utenti “smanettoni” di sminchiamento delle configurazioni dei loro computer : difficoltà però controbilanciata da un vezzo fin troppo diffuso di “inerzia” da parte del dipendente che di fronte alla minima difficoltà accampa scuse le più fantasiose per non arrangiarsi un po’.

Chi vuole dunque un computer senza sistema operativo deve prendere coscienza di appartenere ad una nicchia di “alto” livello tecnologico, dispone di conoscenze che lo rendono in grado di avviare una macchina “inerte” senza ausili, e che, all’occorrenza, sa come sfruttare le risorse offerte dal web per cercare di risolvere i problemi. Ed in quanto “nicchia” non può lamentarsi delle difficoltà che si incontrano nel cercare un hardware nuovo di zecca, magari di marca, che sia pronto ad accogliere ciò che l’acquirente decide, non ciò che ha già deciso il produttore o il venditore: le aziende commerciali lavorano sulle masse, non per le nicchie.

Valga allora l’assunto : stai cercando un computer senza sistema operativo ? Congratulazioni : sai usare un computer.