sviluppo-web-qa.it

Qual è il modo migliore per spostare c: \ users in d: \ users sotto Vista / W7

Ho appena installato Windows 7 RC1 e voglio spostare c:\utenti in d:\utenti.

Qual'è il miglior modo per farlo?


A causa del fatto che Windows 7 crea una partizione riservata montata come C: nella console di ripristino, ho dovuto usare i seguenti comandi

robocopy /mir /xj D:\Users E:\Users
mklink D:\Users D:\Users /j

Entrambe le D nel comando mklink sono corrette. Al riavvio del sistema, l'unità che era D nella console di ripristino diventa l'unità C.

65
Scott

È possibile spostare l'intera cartella C:\Users su un'unità diversa abbastanza facilmente dopo l'installazione di Windows:

Avviso: ciò potrebbe causare problemi se/quando è necessario eseguire un ripristino del sistema

  1. Avviare il supporto di installazione e accedere al comando Prompt ( premere Maiusc + F10 nella finestra di dialogo di installazione )
  2. Usa Robocopy per copiare C:\Users in D:\Users: robocopy c:\Users d:\Users /mir /xj /copyall
    un. /mir dice a robocopy di eseguire il mirroring delle directory, questo copierà tutti i file
    B. /xj è molto importante, questo dice a robocopy di non seguire i punti di giunzione. Se lo dimentichi, avrai molti problemi.
    C. /copyall copierà tutti gli attributi inclusi ACL e informazioni sul proprietario
  3. Verificare che i file siano stati copiati correttamente
  4. Elimina c:\Utenti
  5. Crea giunzione che punta a d:\Users: mklink c:\Users d:\Users /j

Questo è tutto. Uso questo processo da quando Vista è andato RTM senza problemi.

Ecco un articolo che lo spiega anche. Basta usare robocopy invece di xcopy come fa nell'articolo per evitare possibili problemi con le autorizzazioni ntfs.

Aggiornamento: poiché l'ho scoperto nel modo più duro, ho pensato di menzionare anche che se stai pianificando di spostare "Dati programma" o "File programma" con questo metodo, rimarrai deluso nello scoprire che tutto funziona come previsto , ma gli aggiornamenti di Windows non verranno più installati. Non sono sicuro che sia stato risolto Win 7.

Aggiornamento 2: @Benjol ha un post sul blog che descrive in dettaglio un metodo per spostare la cartella dei profili che ricrea le giunzioni che questo metodo lascia. Se riscontri problemi con le app legacy, dai un'occhiata qui e vedi se il suo metodo risolve il problema.

66
Jimmie R. Houts

Il modo più semplice e consigliato è di spostare le singole cartelle speciali all'interno di un directory utente, come Documenti, Musica, Video, ecc. Puoi farlo con i seguenti passaggi:

  1. Clic destro> Proprietà
  2. Scheda Posizione
  3. Compila la posizione desiderata e fai clic su "sposta"

Il rovescio della medaglia a questo è che lascia ancora in posizione la cartella principale 'Utenti'.

Il modo difficile è molto più complicato e rischioso:

Nella mia ricerca di una soluzione, gli unici due modi semplici che ho trovato per spostare le posizioni della directory del profilo utente dall'unità di sistema sono

  1. Impostare la cartella del profilo utente durante l'installazione utilizzando un file di installazione automatica.
  2. Sposta le singole cartelle all'interno del tuo profilo utente, cosa che puoi fare usando Explorer (che aggiornerà le chiavi di registro HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders e HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders).

Tuttavia, questo non era abbastanza buono per me, volevo che la mia cartella del profilo utente reale fosse spostata in una partizione/volume separato, comprese le impostazioni del registro. Ho scoperto che in realtà non è così difficile, a condizione che tu sia a tuo agio con la sostituzione di massa di chiavi e valori di registro.

Ecco come ho spostato la posizione del mio profilo utente. Tieni presente che volevo spostare tutti i profili, inclusi Pubblico e Predefinito, quindi alcuni di questi passaggi possono essere saltati se non lo desideri:

  1. Assicurati di avere un backup completo del tuo sistema!
  2. Copia la directory del profilo predefinito originale nella nuova posizione (ad es. Da C:\Users\Default a D:\Users\Default).
  3. Copia la directory del profilo pubblico originale nella nuova posizione (ad es. Da C:\Users\Public a D:\Users\Public).
  4. Passare a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
  5. Modificare il valore della chiave Predefinita nella posizione del nuovo profilo utente (ad es. D:\Utenti\Predefinito).
  6. Modificare il valore della chiave pubblica nella posizione del nuovo profilo utente (ad es. D:\Users\Public).
  7. Modificare il valore di ProfilesDirectory nella posizione del nuovo profilo utente (ad es. D:\Users).
  8. A questo punto, è necessario riavviare e riconnettersi come un altro utente che non ha mai effettuato l'accesso prima e pertanto non è stato creato un profilo. Nel mio caso, l'utente amministratore non aveva mai effettuato l'accesso prima, quindi l'ho abilitato in modo che l'amministratore potesse accedere e utilizzarlo. È possibile abilitare l'accesso dell'amministratore caricando Gestione computer, quindi andare su Account utente, modificare le proprietà dell'amministratore, quindi deselezionare Disabilita accesso.
  9. Dopo aver effettuato l'accesso per la prima volta con il nuovo account utente, vedrai "Creare desktop" e altre cose simili mentre Windows sta creando il tuo profilo. Si noti che il nuovo profilo deve essere creato nella nuova posizione.
  10. Dopo aver effettuato l'accesso, prova a chiudere quante più applicazioni possibile. Ciò impedirà il blocco della maggior parte dei file in modo che non sia possibile copiarli.
  11. Copia l'intera cartella dei profili utente originale dalla posizione originale nella nuova posizione (ad es. C:\Users * in D:\Users). (Vedere il passaggio successivo dopo l'avvio della copia).
  12. Ci sono alcune cose da notare durante questa copia. C'erano migliaia di file .TMP che erano bloccati e non potevano essere copiati. Ho appena saltato questi file. Ho tenuto premuto Alt-S in modo da poter vedere tutti i file saltati e assicurarmi che fossero saltati solo file .TMP. Sì, ci è voluto un po 'di tempo, ma almeno ero sicuro di aver copiato tutti i miei file. Probabilmente questo processo potrebbe essere semplificato usando il comando Prompt o powershell.
  13. Se, nel tuo caso, ci sono alcuni file che non verranno copiati, puoi eseguire procexp.exe, che è un file fornito da sysinternals. Quindi esegui un handle di ricerca e cerca parte del nome file. procexp ti dirà quali programmi stanno bloccando il file. Finché hai chiuso il maggior numero di programmi possibile, ciò non dovrebbe accadere.
  14. Trova e scarica un programma che eseguirà una ricerca e sostituzione nel registro. Non te lo suggerirò perché non ho trovato un singolo programma che ha funzionato perfettamente. Ho finito per scaricare alcune diverse applicazioni freeware e usarle tutte.
  15. Utilizzando il programma Cerca e sostituisci registro, cerca la cartella del profilo utente originale e sostituiscila con la nuova cartella del profilo utente (es. Cerca "C:\Users" e sostituisci con "D:\Users". Nota che alcuni dei le applicazioni che ho usato avrebbero cambiato solo i valori e non i nomi delle chiavi. Tuttavia, le chiavi che dovevano essere modificate erano tutte correlate a MuiCache. Non so se queste debbano effettivamente essere aggiornate.
  16. Disconnettersi. Accedi nuovamente con lo stesso utente. Ripetere il passaggio 14 fino a quando non è rimasto nulla da sostituire. Il motivo di questo passaggio è che al logout alcuni programmi sembrano aggiornare il registro usando il vecchio percorso del profilo utente.
  17. Esegui regedit.exe ed esegui una ricerca del percorso del profilo utente originale e assicurati che non esista. Il motivo di questo passaggio è perché (come indicato nel passaggio 13), non mi fidavo di nessuno dei programmi di ricerca e sostituzione del registro che ho usato. Ho finito per dover aggiornare manualmente circa una dozzina di chiavi e valori, poiché la ricerca e la sostituzione li hanno persi.
  18. Affinché sia ​​possibile trovare facilmente programmi che non utilizzano il registro e i percorsi dei profili codificati, rinominare la cartella del profilo originale (ad esempio rinominare C:\Users in C:\~ Users).
  19. Disconnettersi. Esegui nuovamente l'accesso come al solito utente. Tutto dovrebbe funzionare correttamente ad eccezione dei programmi che utilizzano una posizione del profilo utente "hardcoded".
  20. Esistono due semplici metodi che possono essere utilizzati per trovare programmi che utilizzano una posizione del profilo "hardcoded" e stanno ancora cercando il percorso del profilo utente originale. È possibile utilizzare il trucco procexp.exe sopra menzionato e cercare handle nella posizione del profilo originale. Puoi anche monitorare la posizione del profilo originale per vedere se sono state create nuove cartelle o file. Ad esempio, nel mio caso, FolderShare ha creato alcune cartelle e file nella directory C:\Users\MyUsername\AppData\Local\FolderShare. Quindi, ho aggiornato le impostazioni di FolderShare per puntare al diverso percorso e quindi ho eliminato la directory C:\Users (si noti che C:\~ Users esisteva ancora come backup).
  21. Dato che ora sei sicuro che tutti i tuoi dati siano stati spostati (giusto ??????), puoi eliminare il backup della posizione del profilo utente originale (ad es. C:\~ Users).

Fonte: cambia la posizione della cartella del profilo utente in Vista

Visto che Microsoft ha reso così facile cambiare la posizione delle cartelle speciali e così difficile cambiare la posizione dell'intera struttura di cartelle utente, vorrei consiglio vivamente tu adotti l'approccio semplice .

11
Aron Rotteveel

Ecco il processo corretto

  1. Avvia il supporto di installazione e arriva al comando Prompt (credo che prima devi fare clic su Ripara)
  2. Usa Robocopy per copiare C:\Users in D:\Users: robocopy c:\Users d:\Users/mir/xj /copyall
    un./mir dice a robocopy di eseguire il mirroring delle directory, questo copierà tutti i file
    B./xj è molto importante, questo dice a robocopy di non seguire i punti di giunzione. Se lo dimentichi, avrai molti problemi.
    c./copyall copierà tutti gli attributi inclusi ACL e informazioni sul proprietario
  3. Verificare che i file siano stati copiati correttamente
  4. Elimina c:\Utenti
  5. Crea giunzione che punta a d:\Users: mklink c:\Users d:\Users/j

Ho seguito le istruzioni di Jimmie e stavo quasi lavorando. Tuttavia, ho avuto uno strano problema con IE, non sono riuscito a scaricare un file. Ho trovato la soluzione per risolvere il mio problema di download ed è documentata su superutente :

5
Hapkido

Alcune risorse per lo spostamento "automatico" di C:\Users con uno script automatico durante l'installazione.

Microsoft ha un KB con alcuni problemi che circonda le cartelle speciali in movimento che potrebbero essere utili da leggere.

Quando si tratta dello stesso script automatico, c'è un elemento chiamato FolderLocations che ha un figlio ProfilesDirectory che puoi specificare come tale:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-Microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
processorArchitecture="x86">
<FolderLocations>
<ProfilesDirectory>d:\users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
</unattend>

Ecco gli articoli di Microsoft su distribuzione di Vista che include come gestire unattend.xml ed ecco la migliore fonte che ho trovato sull'esteso Come spostare l'articolo sulle cartelle speciali di Ramesh Srinivasan che spiega in dettaglio come eseguire questa operazione e a cosa fare attenzione (incluso il fatto che anche dopo l'esecuzione di questo script automatico, ad esempio come argomento per setup.exe, ci sono ancora punti di giunzione come c:\documenti e impostazioni che indicano nella vecchia posizione che dovresti correggere manualmente (se possibile)).

3
Oskar Duveborn

"C:\users" è una cartella di sistema equivalente a "C:\Documents and Settings" su Windows XP/2000/NT, e per questo motivo è stato davvero difficile, se non impossibile, spostare la cartella. Esistono diversi modi per aggirare questo problema spostando le sottocartelle tramite TweakUI o alcuni hack simili invece della cartella principale e ci sono molti post su questo vedi qui:

http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/

http://support.Microsoft.com/kb/236621

http://support.Microsoft.com/default.aspx?scid=kb;en-us;31484

http://support.Microsoft.com/default.aspx?scid=KB;EN-US;q310147&ID=KB;EN-US;q310147

Ma per quanto riguarda Vista/Windows 7, sembra che questo processo sia diventato più semplice. Ecco alcuni post che ti dicono come farlo su Vista, che alla base di cosa è Windows 7:

http://www.ehow.com/how_2064387_relocate-user-files-windows-Vista.html

http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-Vista/

http://www.howtogeek.com/howto/windows-Vista/moving-your-personal-data-folders-in-windows-Vista-the-easy-way/

2
mrTomahawk

È un po 'tardi ...

I problemi con lo spostamento di c:\utenti su un altro disco possono essere evitati spostando i singoli profili anziché l'intera directory.

Se lasci un incrocio in c:\utenti che si collega alla nuova directory, tutti i percorsi continuano a funzionare, come con la soluzione Jimmie Houts, tuttavia non sposto amministratore, servizio di rete, pubblico, ecc. Quindi tutte le normali funzioni di sistema, come Windows Update, continua a funzionare normalmente.

Ian

2
Ian Murphy

Ho ricercato la stessa cosa per molto tempo. Non si può fare. Puoi spostare le cartelle "speciali" (Documents, My Music, ecc.), Ma non puoi spostare la directory sers.

0
user1797

Questo non è esattamente ciò di cui hai bisogno, ma se sei in Windows 7 una buona alternativa è quella di cambiare la posizione delle Librerie. Con questo metodo si salvano documenti, immagini, ecc. Ma non tutto il profilo nell'unità D.

Ieri sera ho creato uno strumento che potrebbe esserti utile: Imposta librerie .

0
Ricardo Polo

Gran parte di questo viene copiato da altri, quindi modificato ed ampliato dall'attuale scrittore, tu servidor.

Per spostare più facilmente tutti i file utente e i file del programma utente dall'unità di avvio (un SSD nel mio caso), seguire queste istruzioni.

PRIMO, creare un punto di ripristino, nel caso in cui: 1. Aprire Sistema facendo clic sul pulsante Start, facendo clic con il pulsante destro del mouse su Computer, quindi su Proprietà. 2. Nel riquadro sinistro, fare clic su Protezione del sistema. Se ti viene richiesta una password amministratore o una conferma, digita la password o fornisci la conferma. 3. Fare clic sulla scheda Protezione sistema, quindi su Crea. 4. Nella finestra di dialogo Protezione sistema, digitare una descrizione, quindi fare clic su Crea.

POI: vai su Ripristino del sistema/Prompt dei comandi: avvia con il DVD di installazione di Win7, scegli lingua, valuta e tastiera e premi Avanti. Nella schermata con "Installa ora" scegli "Ripara il tuo computer". Ti verrà chiesto se desideri "Ripara e riavvia" dalle opzioni di Ripristino del sistema, scegli "No". Quindi assicurarsi che Windows 7 sia elencato come uno dei sistemi operativi installati disponibili per il recupero e che sia selezionato, quindi premere Avanti. Ti verrà fornito un elenco di strumenti di recupero. Scegli "Prompt dei comandi".

Trova il tuo disco virtuale Windows caricato dal supporto Win7 (probabilmente C o X), trova il tuo attuale disco Windows/SSD (D o E) e trova il tuo HDD (disco rigido normale) (D o E).

Nel mio sistema normalmente, C = SSD con Windows su di esso, D = unità dati HDD

Utilizzando Win7 Update media, le unità in modalità di ripristino sono state impostate in modo diverso, quindi: X: unità Windows virtuale/temporanea, E: unità Windows/SSD effettiva, D: HDD, disco rigido che volevo mettere su\Utenti.

Alcuni riferiscono che la modalità Ripristino configurazione di sistema imposterà le loro unità in questo modo: C: unità Windows virtuale/temporanea D: unità Windows/SSD effettiva E: HDD, che vogliono mettere/Utenti.

Nel comando Prompt utilizzerai Robocopy (NON xcopy!) Per copiare c:\Users in d:\Users, quindi eliminare il vecchio c:\Users, quindi creare un collegamento simbolico da c:\Users a D:\Users. Nota che devi fare queste cose in ordine e non devi avere una directory d:\Users prima di farlo.

NOTA: nella finestra del prompt dei comandi di ripristino del sistema, le unità non sono le stesse che saranno dopo aver lasciato la modalità di ripristino! Quindi regola i comandi di seguito su come le unità sono in modalità di ripristino e poi verranno visualizzate correttamente in seguito.

Ho usato: robocopy/mir/xj E:\Users D:\Users

Per spostare/Utenti da Windows/SSD a HDD./mir dice a robocopy di eseguire il mirroring delle directory, questo copierà tutti i file e le autorizzazioni./xj è molto importante, questo dice a robocopy di non seguire i punti di giunzione. Se lo dimentichi, avrai molti problemi. Assicurarsi che nessun file non sia stato copiato (colonna FAILED = 0).

Quindi è necessario rimuovere la vecchia cartella Users dall'unità Windows/SSD (c :), prima di poter creare il collegamento simbolico: Ho usato: rmdir/S/Q E:\Users

Creare una giunzione/collegamento simbolico NTFS che punta alla nuova cartella Users:

Ho usato: mklink/J E:\Users D:\Users

Utilizza l'opzione/J per creare un incrocio che è un collegamento simbolico. (Se usi l'opzione/D, dovrai anche modificare il registro, perché non sarà un collegamento reale.) Usando/J, quando Windows cerca la directory C:\Users, la troverà! Ma sarà sull'HDD anziché sull'SSD. Difficile!

Per vedere la prova di ciò che hai creato, sempre nella finestra del prompt dei comandi, vai all'effettivo Windows/SSD ed esegui il comando "dir", e vedrai: "Users [D:\Users]"

Ora riavvia e vedrai/Utenti sul tuo HDD, e il gioco è fatto. Non sono necessarie ulteriori configurazioni o violini. I nuovi profili utente saranno tutti memorizzati sull'unità d: così come tutti i dati specifici dell'utente. Ed è realizzabile senza fare confusione nel registro, cercare e sostituire valori, o dover fare confusione con nuovi profili in alcun modo. Totalmente impostato e dimenticare.

0
ohdannyboy