眾所周知,從vista開始,window開始支持符號鏈接(symbolic link),通過mklink命令創建的符號鏈接可以很方便的將用戶文件夾轉移出系統盤。但是在win8系統中,同樣的方式產生了新的問題,在解決這些問題的過程中,對符號鏈接和mklink有了進一步的了解。 先說問題: 1.同樣的方式在win8中應用造成metro應用閃退(打開之后馬上退出支開始菜單) 2.刪除用戶會造成符號鏈接的target文件夾徹底刪除。 再說經驗: 1.在win8種對于用戶文件夾有嚴格的權限要求,僅將用戶文件夾簡單的剪切出系統盤是不夠的,可以使用的方式是在命令提示符(重啟后進入的完全命令提示符模式)下使用xcopy命令,并打開/E /K /O /H /B五個開關進行完全復制(有關開關的詳細說明參見該命令的幫助),然后再以administrator賬戶登錄系統將原用戶文件夾刪除,最后再通過mklink命令建立符號鏈接,這樣就不會出現閃退的問題了。 題外話:不知道該方法可不可以用于winapp文件夾的轉移,有愿意做小白的可以一試。 2.符號鏈接不等于快捷方式,當刪除采用符號鏈接轉向(暫且形象的這么說)用戶文件夾的用戶賬戶時,千萬不要以為系統只會刪除符號鏈接本身,否則你會后悔莫及。 最后再說事件、認識和取得經驗教訓的過程: 事件的起因是win8中metro應用的閃退,搜索、論壇找了好多,但都感覺沒有對上癥。 后來在一個國外論壇上看到轉移win8系統用戶文件夾的方法,頓悟上述原因和解決方法,根源即在于權限的問題,關鍵要在未進入系統的條件下進行完全復制將用戶文件夾的任何屬性都一定轉移,看來win8對文件權限的管理更加嚴格。 采用該方法還要另外注意的是,對于采用vhd虛擬盤安裝win8的同學,在啟動時選擇進入命令提示符后,由于此時win8系統所在的虛擬盤還未加載,你會找不到win8系統盤,這時候需要用diskpart工具進行加載: select vdisk file=[vhd文件路徑] attach vdisk 退出diskpart后即可用xcopy文件進行完全復制。 在解決完上述問題后,本以為可以安心的開始使用win8了,結果今天又節外生枝: 今天由于原來在win7系統下有些文件下載沒有完成,進了win7系統(前面也提到過,我是采用win7下建立vhd安裝win8的,win7是宿主系統),又發現了前些時一直存在的一個問題,系統啟動后硬盤燈常亮,于是思考,聯想到win8下沒有出現該狀況,由于win8的用戶文件夾是完全新建的,即是原生初始狀態,而我的win7用戶文件夾是多次重裝系統積累下來的。 這里要說一下之前的一個習慣(現在看來是一個很不好的習慣):我每次重裝了win7系統后,都是通過新建符號鏈接將系統生成的初始用戶文件夾裝一出來,與原來的用戶文件夾進行合并,這樣操作確實很方便。 但是長此以往造成我的用戶文件夾成為了一個龐然怪物,自己卻還不知。回歸正題,正因為如此,結合一些論壇里的說法,懷疑硬盤燈常亮就是因為系統用戶文件夾太復雜(文件多,體積大)。 想到這個原因后,我進行了如下的操作: 1.首先想到的是用戶文件夾下有一些譬如appdata之類的復雜文件夾,于是考慮刪除當前賬戶,再新建一個賬戶,然后采用同樣的符號鏈接方法將新賬戶的用戶文件夾轉移到一個新的地方,再將原賬戶用戶文件夾中的有用的文件或文件夾移進來,譬如我的文檔、我的圖片、我的音樂、下載等等之類的,其他的沒意義的統統不要。 想到刪除賬戶的時候有一個選擇是刪除還是保留用戶文件,這時已擔心刪除賬戶同時刪除用戶文件會將用戶文件夾符號鏈接所指向的真正的文件一并刪除,于是先對真正的用戶文件夾進行備份,在備份的時候發現果然該文件夾真是無比巨大,復制窗口一直都停留在統計復制項目數量的狀態,于是取消復制,想采取刪除賬戶同時保留用戶文件的方法。 接下來就刪除賬戶,原以為保留文件即是不刪除文件,沒想到系統的操作竟然是:將原有用戶文件在桌面先進行一個備份,然后再刪除用戶文件。 在備份用戶文件的過程中,很顯然,出現了上述復制過程同樣的狀況,于是在復制中途沒有耐心等待果斷的點了取消,本以為系統會停止轉移文件,沒想到出現了如下慘痛的一幕: 系統停止了復制,但是并沒有停止刪除,于是我多年的數據就這樣被系統無情的刪除得一干二凈,我多年的數據啊,就這樣付諸東流了。 事后發現幸運的是,在剛才所取消的復制過程中,雖然顯示的狀態是正在統計待復制的項目,但是系統仍然復制出了一大批文件,包括我的文檔和我的圖片,竟然把這兩個主要的文件夾完整的復制出來了,不幸中的萬幸! 這里節外又生出一枝,前面我在win8下轉移出的用戶文件夾,target放在了我在win7系統的用戶文件夾中,剛才刪除win7系統賬戶用戶文件時,連該文件夾一并刪除了。當我再進入win8系統時,很顯然,丟失了用戶文件,系統對該賬戶進行了臨時的初始化。于是又老老實實的刪除該賬戶,老老實實的按照本文開頭的方法重新進行了用戶文件轉移。 至此,所有事件終于完全平息,win8系統中metro應用正常了,win7下系統硬盤燈也不再常亮了。 總結: 1.win8下文件夾權限管理更加嚴格,采用符號鏈接的方式轉移用戶文件夾時,要進行完全屬性轉移。 2.系統對于用戶文件夾的監控非常頻繁,一定要防止用戶文件夾過大。 重裝系統后,采用符號鏈接轉移用戶文件夾時,應將target設置為一個新的文件夾,再僅將原來用戶文件夾中有用的內容轉移到這個新的文件夾中來,防止用戶文件夾急劇膨脹,造成系統運行緩慢。 3.采用符號鏈接轉移用戶文件夾的用戶,進行刪除賬戶操作的時候,當慎之又慎。 |
|