最近因為升級WM上的兩個小程序,又重新玩起了Windows系統,正好聽說Windows 7發布了Beta以及官方中文語言包,就順便安裝了一下,發現Windows 7確實在性能和資源占用上要比Vista有不少的改進,特別是系統啟動速度快了不少,穩定性不相當不錯,看來MS這兩年沒少花工夫。好了廢話不說轉入正題! 之前一直在玩ubuntu linux,被它那清晰高效的文件系統和文件結構所深深折服,特別是它的系統文件的結構,可以完全將系統文件和用戶自己的文件(包括用戶自己的文檔、圖片等內容和用戶自己的大量配置文件)放在完全不同的分區內,這樣當系統需要升級或重裝時,存放用戶文件的分區根本無需有任何變動,當系統重裝后,只有還是用這個用戶名,那你所有文檔和設置都將和重裝前完全一樣!這就省去了大量的時間和精力,也保證了用戶自己重要文件的安全性! 而Windows在安裝的時候是無法實現這樣的分區存放方式的,但從Vista開始,微軟提供了一個它至少10年前就應該提供的文件系統的功能:符號鏈接,命令行工具是mklink.exe(相當于linux下的ln),這是一個在linux廣泛使用的功能,說的簡單一點,有點像Windows的.lnk文件,但又完全不一樣,一樣之處在于訪問它和訪問目標文件本身沒什么區別,不一樣之處在于所有第三方程序都需要自己去解析這個.lnk文件,而不像符號鏈接那樣對程序是無縫透明的! 那么這個Vista提供了link有什么好處呢,至少第一個好處就是,當我們安裝完Vista或Windows 7時,發現系統盤下面沒有了名字又長又難以理解的"Documents and Settings"目錄,事實上它被當成系統文件隱藏起來了,當你用dia /a的時候還能看到它,但它被link到了另一個新目錄:ProgramData,這可以說是Windows的一大改進,它把軟件生成的數據和用戶自己的數據分離開來了,原先的"Documents and Settings"里的內容事實上被分開來放在”\ProgramData“和”\Users“這兩個地方,而后者更像是linux的home目錄,或者OSX的Users目錄,它將所有用戶自己的配置文件(包括注冊表的HKEY_LOCAL_USER的內容)以及“我的文檔”、“我的圖片”之類的用戶自己的內容都放在了一起,當然,配置文件相當的都放在一個隱藏的叫“AppData”的目錄下面,它和“我的圖片”之類都位于“\Users\我的用戶名”下面,這幾乎和linux以及OSX的文件結構完全一致! 上面說了這么多的鋪墊,不知道大家看明白了沒,接下來才是最關鍵的部分了。以上所有這些目錄在系統安裝完以后,都還在同一個分區下面,一般情況下都是在C:\下面,也就是說C:\Windows和C:\Users都在一起,這樣萬一我的系統壞了需要重新就很麻煩了,我得先把“C:\Users\我的用戶名”目錄里的東東都先備份出來(當然你可以說你自己的文件都不是放在C盤里的或者你自己重新定義了“我的文檔”的位置,這另當別論,至少你沒有好好利用這個目錄。而之前像“番茄花園”之類的XP優化版都是默認將“我的文檔”重定向到D盤或其它盤上的,這也是為了更方便的讓用戶管理自己的文檔)。 而現在我們有了更方便的方法,那就是用mklink.exe這個小工具,以下是一些簡要的步驟: 1。在“計算機管理”里把Administrator用戶激活,注銷后用Administrator登錄; 2。把“C:\Users\我的用戶名”整個目錄移到其它盤上,假設移到“D:\我的用戶名”; 3。用mklink.exe創建目錄鏈接:mklink.exe /D C:\Users\我的用戶名 D:\我的用戶名,提示會顯示鏈接已經建立,并且會有“<==>”這樣一個符號告訴你這兩個目錄是等同的; (注意,鍵入命令行時,用 mklink.exe 會報錯,只能用 mklink,很詭異) 4。重新登錄你自己的帳號,發現一切都沒有變化,變化的只是你的文件將和系統分離,它們將更安全! 5。下次重裝時,還用同一個用戶名,先用Administrator登錄后把新系統中的"C:\Users\我的用戶名"刪除(否則mklink.exe會報無法創建鏈接),再用第3步把你位于D盤上的目錄重新做下鏈接即可
如果你登錄系統就是用的帳號本身就是Administrator怎么辦?用PE啟動!有人已經在PE下測試過mklink.exe是可用的,當然在PE下你得用絕對路徑來執行,在系統分區上搜索一下mklink.exe所在的目錄即可。
前幾天我的Windows 7總是無法與PPC同步,就重裝了一下,用上面的步驟重新后,發現我所有的用戶相關的配置都還存在,包括注冊表里的HKEY_LOCAL_USER的內容,收藏夾,IE的cookies,等等內容。。。
用mklink.exe實現系統和用戶目錄分離只是一個簡單應用,事實上有了鏈接這個功能后,我們還能將更多的東西分離出來存放,比如Windows的Temp和Log目錄等(可以參考這個帖子:http://www.51nb.com/forum/tid774315),這些在linux都是完全可以獨立掛載到其它分區上的,要是Vista/Windows 7在安裝的時候就能讓用戶選擇將用戶目錄重定向到其它分區就完美了!
轉自:http://www.alensw.com/read.php?11
|