venerdì 2 aprile 2010

Giunzione di directory: Come spostare applicazioni di grandi dimensioni o giochi, etc...su un altro hard disk e farli funzionare ugualmente

Ultimamente va molto la soluzione che prevede un singolo hard disk principale sul proprio computer (magari anche bello performante) e poi un'altra unità di memoria di massa più capiente che contenga documenti, programmi che richiedono una certa quantità di spazio non indifferente, video, musica, film convertiti, etc...
Ma il problema che ora vi si pone è quello che alcuni giochi o programmi si installano per forza di cose nell'hard disk principale c:/ e, una volta che li avrete spostati, non funzioneranno più.

Una possibile soluzione, abbastanza semplice da spiegare, è quella di creare dei collegamenti tra il programma spostato nell'hard disk più spazioso e quello che esegue il sistema operativo, la vostra interfaccia di comunicazione con il computer.

1. Accedete al "prompt dei comandi" come amministratore. Per farlo basta scrivere "prompt dei comandi" nel box di ricerca presente in Windows Vista o Windows 7. Altrimenti andate in Start, cliccate su Tutti i programmi e poi su Accessori. Scorrendo la lista delle applicazioni che potete lanciare, troverete anche la voce prompt dei comandi. Cliccateci sopra con il tasto destro del mouse e poi selezionate dal menù contestuale "Esegui come amministratore".

2. Useremo il comando "mklink" per creare una "directory junction" - Giunzione di directory. Praticamente questa directory dirà al sistema operativo di creare un mirror (immagine speculare) di se stessa in un'altra directory che fornisce l'accesso a tutti i file della cartella selezionata nella directory specchio virtuale. I file e le cartelle presenti in questa dimensione virtuale sono in realtà ospitati in un'altra unità di memorizzazione di massa, verso la quale sono collegati.
Per dirlo in altre parole, tramite questo sotterfugi, Windows crederà che i file spostati sono ancora al loro posto d'origine e continueranno a funzionare alla perfezione.

Nota: una directory è una specifica entità del file system che elenca altre entità, tipicamente file e altre directory, e che permette di organizzarle in una struttura ad albero.

3. Utilizzate la seguente stringa di comando

mklink /J "Percorso Nuova cartella" "Percorso Cartella che ospita realmente i file"

Il parametro / J definisce il tipo di collegamento simbolico che stiamo creando, in questo caso la directory junction. Naturalmente la "Nuova cartella" sarà la cartella specchio. L'altra, quella nella quale sono caricati i file che volete continuare ad utilizzare e volete richiamare.

Per farvi un esempio, poniamo il caso che io abbia un programma, chiamato "Pippo Oggi", che ho spostato dalla seguente locazione C:\Programmi\Pippo Oggi\ ad E:\ProgrammiImmagine\Pippo Oggi.

La E indica l'hard disk nel quale ho spostato il programma di image editing che ho chiamato Pippo Oggi, per non fare pubblicità occulta.
Bene, a questo punto non mi resta che accedere al "prompt dei comandi" come amministratore e eseguire il comando mklink /J "C:\Programmi\Pippo Oggi\" "E:\ProgrammiImmagine\Pippo Oggi".

In questo modo il programma, che originariamente avevo installato in un hard disk e poi spostato, continuerà a funzionare come se io non lo avessi mai spostato. E' come se fosse lì, ma in realtà non c'è. Diciamo che è come la classica "redirect 301" che molti webmaster usano quando cambiano dominio.

Il comando Mklink funziona benissimo in Windows Vista e Windows 7. In Windows XP il comando giusto dovrebbe essere "fsutil". In caso di problemi provate ad utilizzare l'utilissimo Link Shell Extension. La pagina lincata è interamente in inglese, ma son presenti molte immagini che spiegano passo dopo passo la procedura da seguire.

Nessun commento:

Posta un commento

Vi ringrazio per le email ed i commenti di stima ed apprezzamento. Mi scuso in anticipo se non riesco a ringraziarvi tutti di cuore! Alessandro.

Per lasciare velocemente un commento, cliccate su [Seleziona profilo..] e poi su [Nome/URL]. Potete anche non inserire un indirizzo internet e mettere solo il nome :)