Qual è il modo migliore per spostare c: \ users in d: \ Users in Vista / W7 [chiuso]


64

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.


1
Buona pesca! Dovrò ricordare i dettagli della partizione riservata quando mi sposterò su Windows 7
Jimmie R. Houts,

1
Si prega di consultare questa domanda correlata (per Vista) e le risposte: serverfault.com/questions/4624/…
Benjol,

Non posso lasciare commenti, quindi scrivo questo in una risposta. Qualcuno dovrebbe avvertire che l'opzione / mir (che sembra significare "mirror") nell'esempio: robocopy / mir / xj D: \ Users E: \ Users eliminerà tutto in E: \ Users che non si trova in D : \ Users. In effetti mi chiedo se l'opzione / mir sia davvero necessaria. Ho finito per eliminare molti dei miei file nella mia cartella / Utenti non vuota da un'installazione precedente.

Non è esilarante che la domanda sia chiusa come fuori tema, ma ha un enorme seguito di risposte e voti positivi.
captcha

È perché le plebe usano questo sito per porre domande reali come questa per problemi molto reali, ma i nostri potenti e potenti signori sentono che è inutile perché hanno imparato queste cose anni fa, invece di essere gettati nel caos di massa che è l'IT in questi giorni come noi .
David,

Risposte:


65

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

Avvertenza: ciò potrebbe causare problemi se / quando è necessario eseguire un Ripristino configurazione di sistema

  1. Avviare il supporto di installazione e accedere al prompt dei comandi ( premere Maiusc + F10 nella finestra di dialogo di installazione )
  2. Utilizzare Robocopy per copiare C: \ Users in D: \ Users: robocopy c:\Users d:\Users /mir /xj /copyall
    a. /mirdice 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. /copyallcopierà 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 è diventato 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ù difficile, 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.


1+ soluzione più semplice offline-move + junction point - ma aggiungerei che anche uno script di installazione automatica potrebbe eseguire questa operazione durante l'installazione ^^
Oskar Duveborn,

Questo è davvero un ottimo trucco ... e sono felice che qualcuno abbia pubblicato tutti i passaggi necessari per preformare questa azione.
sig

8
-1: Si noti che questo approccio NON ricrea tutte le giunzioni che non vengono copiate da robocopy (nb robocopy non può copiare giunzioni anche senza / xj, crea nuove cartelle). Questo non smetterà di funzionare con Windows, ma probabilmente interromperà le app legacy che vanno alla ricerca di cartelle come "I miei documenti" ecc ...
Benjol,

1
Modifica le impostazioni della cartella per visualizzare i file di sistema e nascosti. La cartella Users è piena zeppa di giunzioni che puntano (ad esempio) da Documenti a Documenti, ecc. È per compatibilità con le versioni precedenti di app legacy, quindi potresti notare la differenza, a seconda di ciò che hai installato.
Benjol,

3
+1 @Jimmie per aver spiegato in dettaglio come fare. Sono davvero stanco di Windows che mi fa impazzire e mette i dati dell'utente e l'installazione dell'applicazione ovunque e poi, senza prima chiedermelo! WTF hanno reso così difficile cambiare ?? Cosa succede se la mia partizione primaria è un'unità SSD e ho Windows installato su quello per le prestazioni? Sono sicuro che non voglio che Windows usi quella partizione come un dannato pancreas per tutto!
greatwolf il

11

Il più semplice e consigliato modo è quello di spostare le singole cartelle speciali all'interno di una directory utente, come ad esempio Documenti, Musica, Video, ecc Si può fare questo con le seguenti operazioni:

  1. Tasto destro del mouse> Proprietà
  2. Scheda posizione
  3. Inserisci 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 più 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 patto che tu abbia dimestichezza 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 prompt dei comandi 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 notato 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 (es. C: \ ~ Users).

Origine: 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 delle cartelle degli utenti, ti consiglio vivamente di adottare un approccio semplice .


5
Yikes! Non consiglierei questo processo al mio peggior nemico :-) ma ... +1 perché funziona, indipendentemente da quanto possa sembrare disordinato. Mi chiedo quali altre cose come un 'hack' potrebbero interrompere la linea ...

Ho visto questo articolo, ma volevo spostare l'intera directory degli utenti e volevo evitare di perdere tempo nel registro.
Scott,

1
Vorrei aggiungere che il problema con lo spostamento di tutte le directory "speciali" e non degli utenti è che non è possibile spostare AppData come una cartella speciale e un numero crescente di programmi mantiene le loro cache, salvataggi e grandi quantità di dati lì.
Aquarion,

2
@Aquarion: MA le directory Local, LocalLow e Roaming possono essere spostate utilizzando la scheda della posizione :)
Milind R

I progressi della tecnologia in quattro anni sono davvero illimitati. La possibilità di reindirizzare quasi ogni cartella separata in una directory e ogni cartella separata in una sua sottodirectory, ma di non reindirizzare facilmente entrambe le directory padre è sicuramente una limitazione ragionevole che è chiaramente nel migliore interesse della base utenti.
Aquarion,

5

Ecco il processo corretto

  1. Avvia il supporto di installazione e accedi al prompt dei comandi (credo che devi prima fare clic su Ripara)
  2. Utilizzare Robocopy per copiare C: \ Users in D: \ Users: robocopy c: \ Users d: \ Users / mir / xj / copyall
    a. / 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 :


Grazie. Non riesco a modificare la risposta o aggiungerei le tue modifiche.
Scott,

+1 per il / copyall volevo aggiungere questo molto tempo fa e non ci sono mai riuscito.
Jimmie R. Houts,

3

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

Microsoft ha un KB con alcuni problemi legati allo spostamento di cartelle speciali che potrebbero essere utili da leggere.

Quando si tratta dello script di installazione automatica stesso, 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 sulla distribuzione di Vista che includono come gestire unattend.xml ed ecco la migliore fonte che ho trovato sull'articolo esteso Come spostare le cartelle speciali di Ramesh Srinivasan che spiega in dettaglio come fare questo e cosa fare attenzione (incluso il fatto che anche dopo l'esecuzione di questo script di installazione automatica, ad esempio come argomento per setup.exe, ci sono ancora punti di giunzione come c: \ documenti e impostazioni che indicano la vecchia posizione che dovresti correggere manualmente (se possibile)).



Windows 8: come spostare i
XP1

Windows 7: come creare account utente su un'altra partizione o disco durante l'installazione di Windows 7: sevenforums.com/tutorials/…
XP1

2

"C:\users"è una cartella di sistema equivalente a "C:\Documents and Settings"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 anziché la 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;314843

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/


Come ho detto nella mia risposta, non è possibile spostare C: \ Users su un'unità diversa. Mentre i tuoi collegamenti si ripetono, puoi spostare alcune delle "cartelle speciali" al suo interno, ma non è possibile spostare C: \ Users.

2

È 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


0

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 Users .


1
Sono stato in grado di spostare la directory degli utenti.
Scott,

0

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 e quindi facendo clic su Proprietà. 2. Nel riquadro sinistro, fare clic su Protezione 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

Usando 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 riportano 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 prompt dei comandi verrà utilizzato 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 pubblicità: \ Users dir 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 / QE: \ Users

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

Ho usato: mklink / JE: \ Users D: \ Users

Utilizzare l'opzione / J per creare un incrocio che è un collegamento simbolico rigido. (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 nell'effettivo Windows / SSD ed esegui il comando "dir", e vedrai: "Users [D: \ Users]"

Ora riavvia e vedrai / Users 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.


1
Sembra una versione più lunga della risposta di Jimmie R. Houts, ma non affronta nulla di nuovo o i problemi con la sua risposta (non copiando i collegamenti simbolici).
James McMahon,

0

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 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.