Warung Bebas
Showing posts with label 我的手作. Show all posts
Showing posts with label 我的手作. Show all posts

Tuesday, April 27, 2010

命令提示字元介面語言一鍵轉換——Englishize Cmd

(Read in English)




englishize-cmd-1-result
「雙語的命令提示字元:上為應用 Englishize Cmd 之後(變成英文界面),下為恢復後(至原來的語言)。」



[2012-04-08] 更新:1.4a 版推出。修正了 "_lang_codes.txt"。自 v1.4 開始支持更多系統語言。
(如果你用的語言不受支持,請告知)



功能一覽





  1. 在英文和中文(或其他語言)間切換視窗指令介面


  2. 方便偏好英語介面的視窗系統管理員


  3. 無需登出;設定後即時生效。


  4. 包括還原工具。設定和回復都只是一按那麼簡單。


  5. 字元相容性比改變 DOS codepage 的方式更佳。


  6. 支援大部份語言和程式。用者可隨意增減。


  7. 需要系統管理員權限。它會自動詢問是否提升權限。(經網絡除外)


  8. 支援 Windows Vista/7 或以後。





為何需要





englishize-cmd-2-shortcut
「437 = 英文代碼」



最近有人在討論區問如何在中文 Windows 以英語顯示內置的命令列工具,因為對一些專業的系統管理員來說,命令列介面還是英文好用。人們分享各種方式,如改變 DOS codepage;在運行命令前輸入「chcp 437」 (437 = 英文代碼)。或者,創建一個捷徑指向 cmd.exe 和將其屬性內的「當前內碼表」設定設置為 437。




不過這兩種方法會令中文字元不能顯示(變為問號 ????)。另外前者每次都要輸入「chcp 437」(儘管可以在「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun」註冊表項內設定成自動這樣做),而後者則只限用於捷徑。為解決此問題,以下介紹的作法使用另一種原理。




對於命令列程式來說,中文或其他非英語版本的 Windows Vista 和 7 其實跟來就有英語和一種非英語的 MUI(多語言使用者介面),例如中文台灣(zh-TW)。這意味著如果我們不喜歡被本地化成中文的命令列介面,或者會有某種簡單作法能將其轉為英語而無需在區域選項(Regional Options)內切換然後重新登入。這種作法就算不是 Ultimate/Enterprise 版本也應沒關係。




englishize-cmd-3-ipconfig-2
「轉換字元的方法會令中文字變成問號。」




原理



經過 Sysinternals Process Monitor 進程監視器的調查,我注意到,每當 Windows 無法在 zh-TW 目錄下找到相應的 .exe.mui 檔案,它就會自動使用 en-US 目錄下的 .exe.mui 檔案。所以一個想法來:為什麼不重新命名(刪除都可,但不建議)zh-TW 下的 .exe.mui,以使到它自動回落,使用 en-US 下的 MUI?現在我可以證實這技巧是可行的,只是過程殊不簡單 -- 決定哪些系統檔可被重新命名、取消保護這些檔(因為它們都受 WRP 資源保護)、重新命名每一個命令列程式等等。於是對 Englishize Cmd 的需求來了。Englishize Cmd 是一個簡單的可自訂程式(批次處理指令檔)用以自動化這個繁厭的過程,方便以後在兩種語言間互相切換。




englishize-cmd-4-startup
「上:Englishize.bat;下:Restore.bat」


說明



「Englishize Cmd」帶有 4 個檔案




  1. 「Englishize.bat」將命令列工具從非英語變成英語。



  2. 「Restore.bat」恢復一切,回到原來的語言。



  3. englishize-cmd-5-docs
    「左:_files_to_process.txt;右:_lang_codes.txt。一些檔案並不存在。」



  4. 「_lang_codes.txt」是個可修改的列表,其中包含所有非英語語言的代碼。它包括大多數語言(如中、法、俄),但萬一你的語言不存在,把它添加然後 Englishize Cmd 便可支援你的系統。


  5. 「_files_to_process.txt」是個可修改的檔案名列表,其中包含所有會被轉換 MUI 的命令列程式。所有 Windows Vista 和 7 的命令列程式預設都已包括(實際上它包含更多沒有的命令,但這也沒關係,因為對不存在的命令它是起不了任何作用的。)如果不希望某些命令轉成英文,運行「Englishize.bat」之前就要將他們從這個名單中刪除。此外,雖然這份清單只包括命令列程式,你也可以添加 GUI(圖形化使用者介面)程式,例如把小畫家(mspaint.exe)加到「_files_to_process.txt」。這裡有一個問題,中文 Windows 僅得命令列程式是同時附帶英語和中文的 MUI,GUI 程式則預設只有中文,所以 en-US 下的 mspaint.exe.mui 預設是不存在的。直到用戶安裝英文 MUI,通過 Windows Update 或 Vistalizator(對於非-Ultimate/Enterprise Windows 用戶),GUI 程式方可被支援。






englishize-cmd-6-during-process-2
「有趣的是,在運行 Englishize.bat 時有一刻是會同時顯示兩種語言。」



Englishize Cmd 影片示範





Englishize Cmd 在設計時考慮到安全;為了避免造成系統問題,它不容許在 en-US 目錄找不到對應 MUI 時處理那個檔案。




建議



你有任何建議或臭蟲要報告嗎?請於下面回覆。




版本歷程 / 下載

















































版本 日期 更新內容 MD5
1.4a 20120408修正了上一版的 "_lang_codes.txt"。不應加上 en-XX 語言否則會連英文都會被停用。6793d377acd497643a9c762d3fed6c81
1.4 20120407改良了 "_lang_codes.txt"。現在應該支持所有系統語言。(如果你用的語言不受支持,請告知)dc458d3e02d72956a61021bb0d90c2ff
1.3 20100428增加提升權限詢問、視窗版本檢查2312bb99d93915a7645237dbb1de2191
1.2 20100420改善讀我檔案和一些程式碼b25aa93e43577b3209f4aa57d9966e60
1.1 20100416增加系統管理員身份檢查d4082b73326963ecf17f4801106bc371
1.0
20100401首個公開發行d8f0e80c6c6fc9f03629aab911f102ee




下載最新版 Englishize Cmd [或這裡]




歡迎用以下方式儲存或分享本文:

















Share

















Tuesday, April 20, 2010

AeroZoom + Windows 7 放大鏡 = 簡報滑鼠

01-aeromouse
AZ, 窮人的教學滑鼠
AeroZoom 1.7
滑鼠叫出 AZ 面板
(Read in English)

AeroZoom 是個以 AutoHotKey 編寫,Windows 7 放大鏡的增強程式。AeroZoom 將普通滑鼠變成適合展示投影片 (presentation) 用的滑鼠,無需鍵盤亦能輕而易舉的放大、縮小和移動。


[2012-05-27] 更新:AeroZoom 3.3 推出。這裡跳到下載區。


注意: 這篇文章只涵蓋 AeroZoom 1 最初版。




功能一覽

  1. 將教學時常用的鍵盤操作,改成滑鼠按鍵組合和「AeroZoom 面板」上的按鈕(右)。

  2. 無需鍵盤就能放大、縮小或重置縮放級別;用一隻手做更多。

  3. AeroZoom 面板的設計(大按鈕、按後消失特性)是基於方便切換放大鏡(次)功能的原則(平常在放大鏡選項需要 3 下點擊的,在 AeroZoom 面板只需要 1 點擊)或增加原來沒有的功能。當用者以滑鼠喚出面板,面板便在游標位置下彈出,從而無需在工作列尋找消失了的放大鏡。

  4. 按鈕 [Show]、[Kill] 和 [Reset] 分別啟動或恢復最小化了的放大鏡、關閉程式和回復預設選項;[Draw]、[Type] 和 [Calc] 分別運行剪取工具 (視它為畫板,以滑鼠在螢幕繪畫)、WordPad(輸入文字)和小算盤。

  5. 另有左撇子專用版。

  6. 綠色版。設定值寫入當前用戶的登錄檔。

  7. 開放源碼。以 AutoHotKey 編寫。

  8. 配合無線滑鼠使用更佳。

  9. 快速和流暢的使用體驗有賴 Windows 7 大大增強其放大鏡。

    (作為新放大鏡的增強器,只有比 XP 和 Vista 新的系統才能對應 AeroZoom)

操作說明

03-aerozoom-files-cht
02-aerozoom-illustration-cht
AeroZoom 1.0 和 Windows 7 放大鏡的構成元件和其關係

AeroZoom 將時常用到的鍵盤操作與下列鼠鍵組合聯繫。(左撇的用者請運行 Lefthand 版,並把 [左] 和 [右] 調換)









功能 滑鼠 鍵盤
AeroZoom 面板 [左鍵] & [右鍵]  
顯示放大鏡 [左鍵] & [滾輪-上移] [視窗鍵] & [+]
重設縮放級別 [左鍵] & [中鍵]  
放大 zoom-in [左鍵] & [滾輪-上移] [視窗鍵] & [+]
縮小 zoom-out [左鍵] & [滾輪-下移] [視窗鍵] & [-]


那...該怎樣使用?

基本上,首先運行 AeroZoom.exe(或 .ahk 如您有安裝 AutoHotKey),試試按鼠鍵組合 [左] + [滾輪] 作縮放,和 [左] + [中] 還原縮放。(後者是原來放大鏡沒有提供的功能,所以上表中鍵盤列位置是空白的)。如果需要更多功能,按 [左] + [右] 以喚出 AeroZoom 面板。

使用技巧

04-aerozoom-in-emergency
有了 AeroZoom,這再不是一場災難
  1. 如我突然想改變放大鏡的一個設置,例如「讓放大鏡跟隨文字插入點」,儘管可能放大鏡不在能看見的範圍,我亦無需要找它,因為可以簡單的以鼠鍵組合 [左] + [右] 喚起 AeroZoom 面版,然後在面版上點擊「Keyboard (鍵盤)」按鈕以切換功能。



    萬一我搞砸任何設定,例如屏幕色彩反轉,畫面放大了甚至縮放功能都被鎖掉,我很想糾正這情況,但不幸的是放大鏡被最小化了並移出視線範圍外。這時候我會做的是按滑鼠 [左] + [右] 鍵快速啟動 AeroZoom 面版。因為面版總是出現在滑鼠游標旁邊,我就能用面版修正錯誤的設定。



    遇上緊急情況時,可點擊「Kill(殺掉)」來關閉放大鏡或點擊「Reset(重設)」來恢復預設設定和縮放級別。



    若要更迅速甚至可不用面板,直接按鼠鍵組合 [左] + [中] 來重置縮放級別,不過這樣做不會恢復其他預設設定。




  2. windows-7-magnifier
    「Show」按鈕找出放大鏡,調整鏡類型
  3. AeroZoom 面版上的「Show(顯示)」按鈕除能將縮到最小的放大鏡恢復,還能全新啟動它。



    然而最快的放大鏡啟動方式只需按鼠鍵組合 [左] + [滾輪-上移]。



    但要小心不要因滾得太遠而使到「輕鬆存取中心」彈出。訣竅是在剛開始時不要太用力的滾。(之後你想怎樣滾、縮放都可以了)




  4. Draw in AeroZoom with Win 7 Snipping Tool
    AZ 採用新的剪取工具在螢幕繪畫
  5. 如想在螢幕上揮筆,可點擊「Draw (繪畫)」,那就會開啟 Windows 7 新增的剪取工具,然後便可以剪下螢幕成為圖片,用滑鼠在圖片上繪畫(請看下面示範影片 1:20 位置)。同樣地,想輸入文字可點擊「Type(WordPad 文字處理器)」(WordPad 那裡可以貼上 Snipping Tool 的圖片作後續處理);想進行數學運算的可點擊「Calc(小算盤)」。




  6. AeroZoom 的鼠鍵連繫有時會不方便進行某些特定應用,那時候無需要關掉 AeroZoom,只需點擊左下角的 [off] 來暫停連繫。如要恢復鼠鍵,點擊多一次即可。



    如想將 AeroZoom 面板縮到系統托盤,只需關閉它或點擊「hide (隱藏)」按鈕;如要退出,請點擊「quit (離開)」。




  7. 除了教學,另一個用途是將電腦畫面錄成教程影片。專業的教程影片通常包括很多放大、縮小動作,但這樣做原牽涉不少步驟和需要使用專業影像剪輯軟體,例如 Adobe Premiere。現只要在錄製過程中利用 AeroZoom 縮放已可(其時把放大鏡隱藏),減輕後期製作的負擔。




  8. AeroZoom 在關掉 UAC 或者有系統管理員權限的情況下運作較好。如有 UAC,AeroZoom 會詢問提升權限。 請注意 AeroZoom 不能在標準使用者帳戶下完全正常運作,無論後來有沒有以系統管理員身份執行。

示範影片








建議

你有任何建議或臭蟲要報告嗎?請於下面回覆。





下載版本/歷程












Get it from CNET Download.com!



(下載舊版本?)




























版本 日期 更新內容 MD5
3.3 20120527

(ws.az.33)

- 解決自訂熱鍵長按滑鼠中鍵的動作容易被激發的問題

- 改善面板元素在視窗基本主題下的顯示效果

- 新增重新啟動選項(Restart)在工具欄圖示和 Az 選單內

- 滑鼠左鍵雙擊面板切換放大鏡/ZoomIt 面板模式;滑鼠中鍵雙擊面板激發重啟

- 改良了的技巧提示

- 應用更多 OSD。大大小小的臭蟲修正

- 首個(非官方)支持 Windows 8(消費者預覽版)的版本

a32d9e2bec5852c3a92b4ac5cca93f6a
3.2a 20120509

(ws.az.32a)

修正選單分隔線問題、一些改良

539cfe44a1502d5d68760edb866e613d
3.2 20120505

(ws.az.32)

- 許多 UI/UX 小改良(例如選單的分隔線)

- 在面板上按滑鼠右鍵切換經典和傳統(Modern/Classic)模式

- 滑鼠單擊系統通知欄圖示能快速地停用或啟用 AeroZoom 熱鍵

- 支持非系統管理員自動備份設定

- 修復了自訂熱鍵(Custom Hotkeys)佔用過多熱鍵的 bug(現在兼容 Firefox 的 Image Zoom 插件)

- 更多地方裡利用了 OSD

- Custom Hotkeys 能批次的啟動或停用

- 最新的 AutoHotkey_L 版本

4011bca908e7de2850533cfd99c8262b
3.1 20120110

(ws.az.31)
AeroSnip(改良了的擷取工具)、 Elastic Zoom(有“彈性”的放大鏡)、 ZoomIt Panel(ZoomIt 面板)、Custom Hotkeys(自定義快捷鍵),支持標準使用者權限賬戶(有限度支持 UAC、Vista 和 XP) 811fd292551db9e6f285b4a6c1f06233
3.0 20110824

(ws.az.30)
公開測試版 200ae3b7fef9d52ee8bcfed0d45489af
2.1 20110505

(ws.az.21)
內部發行
2.0a 20110405

(ws.az.20a)
改良 ZoomIt 安裝過程和一些小改善。

解決了原來鍵盤熱鍵問題。
ec6eac6b1312972c645da438877f5cee
2.0 20110403

(ws.az.20)
重大的發行。完全重新設計。詳見這文件 57511c2d459b2a3e13d0f5ffe6789d66
1.7 20100424 修正開啟 UAC 執行時的錯誤。

提升調整設定和重設的反應速度。

修正鍵盤 Help 選單和 [hide] 按鈕的 alt text 。
86d38c042bc7f50546444a771fba3ca5
1.6 20100419 首次公開發行。

增加 [off] 按鈕以暫停鼠鍵連繫。
51a025f7ef39cf5bee645e679feefb2b
1.5 20100417 增加 Draw、Type 和 Calc 功能。
1.0

20091210 內部版本  















※ 如果您喜歡 AeroZoom,歡迎 donating US $1 以鼓勵作者和支持開發。



歡迎用以下方式儲存或分享本文:



Share

Tuesday, September 8, 2009

又一破解 Windows 密碼保護 - Sneaky Win Intruder


Sneaky Win Intruder in Windows 7 PESneakyWinIntruder 在 Windows PE 3.0 下的運行畫面。






做電腦維修的,其中一樣常做的就是向客人查詢 Windows 密碼,因為 Windows 內的事件檢視器、當機報告 (Minidump) 等都是很有用的除錯工具。例如當見到事件編號 (Event ID) 為 7 的紅色交叉,硬碟編號是 0 (Harddisk0) 又顯示有錯誤區塊 (bad block) 的話便已可以確診有壞磁區 (如果之後又沒有了壞磁區,可能是硬碟自己修復了,但始終曾經出現問題)。另一方面,有不少有名的系統診斷軟體例如 Sysinternals Autorun 都是要 Windows 在登入後才能運作的 (如果 Windows 不能進入,其實仍可以用 Paraglider's Runscanner 在非登入時模擬登入狀態使用該些軟體,這個下次再談)。那是否表示如果聯絡不上客人維修便要延誤了嗎?客人的電話錯了怎辦?除了等他再打過來,其實可以主動點 - 強行登入 Windows!





坊間破解 Windows 密碼的方法和軟體破多,有窮舉法 (brute force attack),但不能準確知道所花時間,例如 Elcomsoft 便有能使用 CUDA GPU 加速的產品;一類是重設密碼的,例如使用 ERDCommander LockSmith 或 NTPWEdit 重設 Windows 密碼,這方法個人從沒有使用,因為密碼重設後難保不會讓客人懷疑或帶來麻煩,例如若客人有 EFS (Encrypting File System) 加密了的檔案,不用回本來的密碼是開不了的;另一類則不會更改密碼,直接進入 Windows,例如 Konboot、WindowsGate;一類則可製作一個新帳戶,用它來「為所欲為」也不怕。小弟常用最後一種,因為很重視個人私隱;使用客人的帳戶應可免則免。完成後只要刪除新建的帳戶便可消除大部份足印



這一種方法的代表者有「將 sethc.exe/utilman.exe 換成 cmd.exe」技巧。不知道大家有沒有試過在登入時碰下 shift 鍵太多次之後 Windows 出現啟動相粘鍵的訊息?sethc.exe 就是那時執行的程式。而 utilman.exe 則是 Vista/7 登入畫面左下角的輕鬆存取功能。只要將它們換成 cmd.exe 就可以在登入畫面喚出由系統身份 (NT Authority\System) 執行的「命令提示字元」,然後在那裡輸入 lusrmgr.msc 或用 net user 指令就可以新增帳戶然後進入 Windows 了。



由於小弟偏好這個技巧,但坊間的軟體好像沒有一種是完全利用這種技巧 (近似的雖有 WindowsGate、Sala's Password Renew、Dc-PASS,但都不是利用 sethc.exe),所以小弟編寫了一些指令檔,在令自己對工作生厭之前將這堆刻板的步驟自動化... 接下來會介紹 Sneaky Win Intruder Type 1,以下簡稱 Swi 1。







注意:執行 Swi 前請確定它所依賴的程式已經放在 Swi 資料夾或者系統資料夾 (System32)。請參閱 Readme.txt。



Swi 1 所做的可以簡單分成三部份:



1 - 置換 sethc.exe



因客人 Windows 受密碼保護,首要是用另一個作業系統起機 (e.g. Windows PE),進入後執行 Swi1.bat。跟著指示做。過程中如果它偵測到目標 Windows 為 Vista/7,而且 UAC (User Account Control) 狀態為開啟,便需輸入「y」關上 UAC 以確保後期運作無誤。成功後可關機然後啟動目標 Windows,進入第二部份。




Sneaky Win Intruder in Windows 7在 Windows 7 下搜尋 Windows 的畫面;可輸入「s」進入此選單





Sneaky Win Intruder in NoName XPE在 NoName XPE 下的 Part 1 完成畫面

(在 Windows PE 1.x 下執行前需先從 XP 補回 attrib.exe 和 find.exe,放在 Swi 資料夾)





2 - 新增帳戶



在目標 Windows 的登入畫面按下 shift 鍵五次,在彈出的「命令提示字元」輸入「adduser1」便會自動建成帳戶。過程中它會問是否重新載入歡迎畫面,如新增帳戶後歡迎畫面仍未出現新帳戶,可輸入「y」。最後用以下的帳戶資料登入:



  • 用者:temp

  • 密碼:Password12! (區分大小寫)




Windows 7 logon screen, sethc.exe hacked


Windows 7 下的 Part 2 過程動畫


(可見 Windows 7 下些訊息未能正常顯示,但不影響運作,按任何鍵繼續便可)




※ 3 -
還原系統



電腦修好,是時候刪除帳戶、「抹掉足印」了!先打開命令提示字元 (cmd.exe),輸入「clean1」。(注意不要經 shift 鍵技巧打開,否則恢復過程可能失敗。)



至目前為止,帳戶已刪除,sethc.exe 已恢復,上次登錄用戶記憶已刪除 (僅在 AutoAdminLogon 項目沒有設定時)。這時候其實您的部分已經完成,餘下的將在客人取回電腦後首次登入時在背景繼續執行。但是,若該用戶沒有系統管理員權限,作業便會失敗 (透過 RunOnce 執行的原故)。儘管真的失敗了,
其實普通用戶也不會輕易察覺到剩餘的痕跡;若成功,UAC 將重新啟用 (若最初是開的),用者設置檔 (user profile) 和其餘遺留下來的程式將被刪除。



已試過能用在中文或英文的 Windows XP、2003、Vista、7,基礎系統為 Windows PE 1.x 的 (NoName XPE,Hiren's Boot CD),PE 2.0 (VistaPE),PE 3.0 (C7PE)。不過仍有一點 bugs,請參閱 Readme.txt。



最後,按此下載。(請注意 Part 2 指令錯寫為「adduser」,要知道應為「adduser1」。下一版本會修正。)








歡迎用以下方式儲存或分享本文:

















Share

















Saturday, September 5, 2009

增強「命令提示字元」綠色版

Click here for English version of this article

您是否在 USB 隨身碟存放了很多命令列工具?


Command-line tools

作為系統管理員,您可能要隨身備用一堆有用的命令列工具。每當使用時,您首先要插入 USB 隨身碟,在目標電腦啟動命令提示字元,然後瀏覽磁區,確定程式位置後「CD」進去,最後啟動它。但您無時無刻都在使用,而且當程式數量、子資料夾不斷增加,您開始想會否有更簡單的方法 - 那就是命令提示字元綠色版 



命令提示字元綠色版 (Command Prompt Portable) 是又一個來自 PortableApps.com 的綠色軟體,它給我們一個可隨意自訂的命令提示字元;其中一種最有用的應用是設置 PATH 路徑到任何需要的位置。我們只需編輯在 CommandPromptPortable\Data\Batch 一個名為 commandprompt.bat 的批次檔,把 PATH 路徑設置為 e.g. %~d0\CommandPromptPortable\Exe、Sysinternals 等等我們把程式所存放的地方,%~d0 將自動成為 USB 隨身碟的根目錄。那麼,無論在哪台電腦,只要一打開命令提示字元,我們就可以立刻使用所有指令了!所以,與其對其它電腦的設置感沮喪,我們其實可以把命令提示字元和其設置隨身。



再進一步,這是小弟的增強型命令提示字元便攜版 (配合 PStart 作為啟動器)。




Enhanced Command Prompt Portable, ECPP 1.0, PStart
放在 CommandPromptPortable\Exe 根目錄的可執行檔 (.exe .bat .cmd .vbs...) 顯示為 file1.exe file2.bat ... 而資料夾顯示為 [dir1] [dir2] ... 因為量多的關係,小弟喜歡把程式分組 - 放進不同的資料夾。而用了這個指令檔後,只需記得程式的名稱 (在任何一個資料夾內) 便可以直接輸入並執行它,避免了要先進入子資料夾,而且再不用編輯 commandprompt.bat 來增加新 PATH 路徑;這指令檔實現了為所有包含程式的子資料夾動態設置 PATH 的功能。



一個可自選的功能是,只有當資料夾包含程式時才附加到路徑;這意味著 PATH 總長較短,消耗較少的記憶體,搜尋速度更快,但缺點是需要額外處理,啟動速度較慢。如要啟用它,請參閱 "commandprompt.bat /?"。



下圖顯示資料夾和路徑的關係。請特別留意綠線;雖然 UnxUtils 內有很多資料夾,但唯有 bin 和 wbin 被追加到 PATH 中。那是因為只有該兩個資料夾包含程式。



Command-line, Path


程式地點可不用理會,但假若不記得指令的名稱連要輸入甚麼都不知道該怎辦?可以首先用 DirC 或 ListC 命令看看子資料夾裡面有什麼。



這例子輸出 [Microsoft] 和 [PnP] 裡面有什麼 - "listc microsoft pnp"




ListC, ECPP

或者,以 DirC 輸出 Dir /w 風格 - "dirc microsoft netcat"

預設情況下,只有可執行檔 (定義為 .exe .bat .cmd .vbs...) 會被顯示。




DirC, ECPP



功能概要:


  • 隨運行時顯示歡迎訊息,同時列出放在 USB 隨身碟 CommandPromptPortable\Exe 內的程式;根目錄的 (.exe .bat .cmd .vbs) 顯示為 file1.exe file2.bat... 資料夾顯示為 [folder1] [folder2]...


  • PATH 路徑隨每次運行自動更新 (以檢測新程式)

  • 再不用編輯 commandprompt.bat 來增加新路徑


  • 只有包含可執行檔的資料夾會附加到 PATH,以節省空間 (可自訂)


  • 把不同命令列程式分類,放到不同資料夾 (以避免溢位)

  • 運用 DirC.bat 和 ListC.bat 列出指定子資料夾 [folder] 內的可執行檔,從而簡單地得知有甚麼程式名稱能輸入,e.g. "listc linux windows" (或 dirc) 將顯示所有在 [Linux] 和 [Windows] 內的程式

  • 指令檔不依賴特定位置;可把命令提示字元放在任何地方使用。




設置範例:


ECPP sample setup

(註:只有在 "Data\Batch" 內的 scripts 是小弟製作的)



您可以下載我的「Enhanced Command Prompt Portable」指令檔連同幾個免費的命令列工具一起使用。






※ 從「這裡」下載 | MD5: 3930227f85901741c7c20911a92dca3c






歡迎用以下方式儲存或分享本文:

















Share

















Sunday, August 16, 2009

繁體 Windows PE 3.0 (Windows 7 PE) 草擬及維修技術探討

微軟最近推出了 Windows OPK (OEM Preinstallation Kit) 和 AIK (Automated Installation Kit) for Windows 7 的 RTM 版。這兩套部署工具連同 Windows 7 DVD 都包括了最新的 Windows PE 3.0 (Vista 是 2.0,XP/2003 是 1.0-1.6)。小弟趕緊造了一套半製成品。



Startup of Windows 7 PE (3.0), C7PE


Desktop of Windows 7 PE (3.0), C7PE(圖一:登入選項,圖二:桌面和程式)



製作原因



小弟之前的工作之一是在客人面前測試他們帶來的硬體和組裝電腦,例如懷疑主板的內建網卡壞了,便可用包含所有網卡驅動程式和 Firefox 的 PE 測試。30 秒起機,一試,如果可以上網即便知道只屬 Windows 問題,節省重裝 Windows 來測試的時間。



另外也要維修電腦,有時是軟體成因的便需看看可否起動 Windows,如入到還要看看有沒有被密碼鎖上,兩種情況都需要支援 NTFS 的 Windows PE 幫助。首先,入不到 Windows 的可以在進入 PE 後用 nirSoft BlueScreenView 查看所有出現過的藍畫面,假如藍畫面是關於檔案系統或硬碟的 (UNKNOWN_HARD_ERROR、UNMOUNTABLE_BOOT_DEVICE),可以執行檢查磁碟工具 (chkdsk) 以檢查檔案系統和硬碟。想簡單點也可以直接使用系統還原 (Vista/7 可使用「系統修復工具」的「啟動修復」,它會自動偵測和修正包括檔案系統/系統檔案在內問題。XP 則可使用 Registry Restore Wizard,但只能還原登錄檔)。第二,如 Windows 被鎖上,便需使用破解密碼的軟體,有幾種方法甚至不影響已存帳戶的密碼 (WindowsGate、Sala's Password Renew、Sneaky Win Intruder),近乎不留痕跡。



還有就是安裝 Windows 了,我的同事不會用 winnt32 或 unattend 的方法裝 Windows。如果是 最流行的 XP Home 或 Vista Home Basic 中文版,因效率問題,會用 Sysprep 一般化了的 DOS Ghost DVD 而非新裝,而其它沒有製成映像的版本才會新裝。似乎和 Windows PE 毫無關係。但據我所見他們的 Windows 好像不能夠用在 AMD 系統,必需要 Intel CPU 和 IDE 控制器為 Intel 的系統,就算 nVidia/ATI/VIA 晶片組的 Intel 平台底板就不可以了。要解決這問題,可以在倒種後第一次啟動前用 Windows PE 起機,然後載入目標 Windows 的 SYSTEM 登錄檔(hive),然後有兩種做法,(1) 載入經「修改」的 MergeIDE.reg (參考微軟文章 KB314082) 或 (2) 用 Save Hardware ID 或 devcon 工具查看那塊底版的 IDE 控制器的硬體識別碼是甚麼,然後用登錄編輯程式直接更新「HKLM\目標Windows\ControlSet001\Control\CriticalDeviceDatabase」機碼內 ClassGUID 值開首為 4D36E96A,Service 值為 *ide 的對應選項。至於要解決 Intel 平台轉 AMD 的問題,都有兩種作法,(1) 修改「HKLM\目標Windows\ControlSet001\Service\intelppm」將 Start 值改為 4,或 (2) 這方法要在 Sysprep 時做的,方法是使用第三方軟體 OfflineSysprep 內的 AMD 系統修正功能 (Sysprep 不可用於 Windows PE;OfflineSysprep 是在 PE 環境執行的版本)。裝 Windows 小弟很少會用這兩個技巧,但在維修電腦時都間中會用的,因為不少客人壞機要轉底版(不同晶片組)但又不想重裝 Windows。還有想一提,因為新舊底版的驅動不同,在登入 Windows 後裝會很麻煩(例如最好要 PS/2 滑鼠和鍵盤,USB 的很可能需要等待其它驅動裝好後才會辨認),如果預先將新底板的驅動給目標 Windows 利用那就可以解決。這個可使用 SysPrep Driver Scanner 或 DriverPacks BASE 達成 (後者沒有試過)。



還有很多很多情況可以應用 PE 達成的。最後最後一點,曾經試過一次都是在替客人換新板後的舊電腦執行 Sysprep (目的是 Sysprep 的另一副功能 - 延長舊 Windows 的啟用期限,因為換底板後 Windows XP 命令三天內必須重新啟用),但執行前忘了使用 Keyfinder 抄下原有的產品序號,他正在途中來不及問他,但又必須要現場試給他看。Mini-setup / OOBE 需要序號才能繼續完成安裝,怎麼辦呢?最後突然想... 在 Windows PE 使用 Keyfinder 可不可以呢?原來是可以的!最後使用 nirSoft ProduKey (Keyfinder 同類) 搜尋 external Windows installations 就可以了。




Using Keyfinder in Windows 7 PE (3.0), C7PE(圖三:Sysprep 一般化後仍能使用 Windows PE 取回 Windows 的 CD-key)




為何不使用建基於 Windows XP 的 PE 1.x? 因為需要最新版的「系統修復工具」(對應 Windows 7) 和 BCDEdit 等支持。



為何不使用 DOS? Windows PE 的驅動 (大量儲存控制器、網絡、USB) 易找、支援較好 (支援 Windows 的大都可以了),程式多 (支援 Windows 正常版的大都可以了,最多需要抄多幾個 DLL 檔),應用空間大,隨著高速 USB 隨身碟流行,是開機碟未來的大方向;最新 Ghost Solution Suite 2.5 的 Boot Wizard 都預設以 PE 2.0 來做開機碟了,Hiren's Boot CD 9.7 開始都內置了 PE 1.6。



理想中的 project 工作清單


  1. * 設計給 USB 隨身碟結合 PStart (綠色軟體開啟器) 用 (CD 亦可)。PStart 內的程式便是 PE 內的程式,用者可隨意增減

  2. * 每次開機都會偵測隨身碟內的 PStart.xml 檔案,實時更新在「開始程式集」內的連結

  3. 起動快、佔記憶體少,因為將大部份程式*、驅動都放於主 .wim 外**,以佔用最少 PE的運作記憶體為目標。最低運作要求為 256MB,但建議 512MB 或以上 (*1 除需要關聯 zip, rar 等檔案的 7-zip. *2 以 DriverPath 方式,自Vista開始支援自動掃瞄子資料夾)

  4. * 如記憶體不夠,支援啟動虛擬記憶體

  5. 包括至今所有 mass storage controller (大量儲存控制器) 和有線網卡驅動 (來自 driverpacks.net)

  6. 如沒有驅動可由用者隨後加在隨身碟或光碟機「a-z:\driver」資料夾 (以支援任何未來的新晶片)。只要按下桌面上「啟動網絡」PENetCfg 便會開始搜尋、安裝

  7. 可以設定密碼保護登入 (利用 PreLogonConfig.exe,密碼保護後便更適合當成公共電腦用的還原分區)

  8. * 多種開機選項,可與 Ultimate Boot CD/Hiren's Boot CD 結合 (使用 Grub for Dos)

  9. 除了給隨身碟或CD用的軟體外置 .wim 版本,另設有軟體內置 .wim 的版本,為了適合 network boot (PXE) 用途和取代 Windows 7 C:\Recovery 內 winre.wim (啟動修復用途)

  10. 支援中文輸入法,包括舊式倉頡、速成、廣東

  11. * 支持執行 non-Unicode 簡繁體程式 (需切換)

  12. 支援 MMC、CPL (磁碟管理、地區選項等)

  13. 但除 MMC 外並沒使用 WinBuilder,不採用 vpeldr/7peldr (試過可能阻礙 USB、網卡在 PE 上運作)。不使用 explorer.exe,改用 BSExplorer (快和節省 100MB 記憶體,但沒有了「連上網絡磁碟機」功能,需由第三方軟體提供)

  14. 自行中文化 BSExplorer 工作列和開始功能表

  15. PE 和所有軟體盡量為繁體

  16. 補回一些 PE 沒有的 CLI/GUI 程式和 DLL 檔案,例如 devcon, fciv, telnet, nc, nslookup, 小畫家, 計算機

  17. 可上網(內置Firefox、Opera、MSN...)、倒種(Ghost8.3,11,11.5等/Ghostcast Server/ImageX/GImageX/DriveImage XML...)、部署 Windows XP/2003/Vista/2008/7/2008 R2 (內置 OfflineSysprep、XPSetupLauncher...)、救硬碟(用 PE 就不用拆走硬碟,內置GetDataBack、Partition Find and Mount及其餘十多個)、救機(Kaspersky、BlueScreenView、HDDScan、Everest、MBRWizard、TestDisk、ServicePE、RegistryPELoader...)、破解 Windows/網絡/應用軟體密碼(KeyReader、ProduKey、NTPWEdit...)、遠端控制 (Remote Desktop 7, VNC, Putty, WinSCP...)、檔案總管 (Free Commander、7-Zip Explorer、A43...)、一般軟體(Office、SHA/MD5 checker、Eraser、File Renamer、螢幕測試、Notepad++...),專業工具 (SysinternalsSuite、nirSoft Tools、Roadkil Tools、Windows Support Tools、Windows Resource Kits) 及更多。

  18. 還欠甚麼?


(「*」在前的為仍未完成的功能)



Windows PE 3.0 比舊版進步之處


  1. 更新了的指令,包括 BCDBoot, DISM, 支援 VHD 的 Diskpart

  2. 再不需要 peimg /prep 以犧牲 serviceability 來減少大小

  3. 內建 PE 2.o 沒有的 PPPoE 支援 (但怎樣使用?)


  4. WinBuilder Win7PE project 支援無線網卡*、DirectX*、.Net Framework* (* 因佔記憶體太多和運作可能有問題,不會採用)

  5. ...?




製作教學和所需工具



- Windows 7 繁體版 (因 WinBuilder 需要目標語系的 Windows 配合)

- WOPK 或 WAIK 或 Windows 7 DVD (包括 Diskpart, DISM 工具, ImageX, Oscdimg 工具)

- WinBuilder 的 Win7PE project (包括 BSExplorer)

- Nu2Convert (用來編輯 BSExplorer 的 bs_start.ini 等)

- 虛擬電腦, e.g. VMWare Workstation,用作測試效果

- CDImage GUI (用來配合 Oscdimg 製作 ISO),雖然 USB 不需要但虛擬電腦只支援 ISO 或 network boot

- TFTPD32、3Com PXE Server (如使用 network boot 配合虛擬電腦便需這個)

- ...?



方法就留待完成後才繼續寫吧,如果真的有機會能夠完成...



Windows PE 簡介



Windows PE 是一個超簡化版的 Windows,微軟原意只是用來部署

Windows,經 DVD (Windows Vista/7 的 setup 介面就是 Windows PE),或經

network boot (Windows Server 的 WDS 服務)。



因為是 Windows 簡化版,本來只得「命令提示字元」可以用,但坊間下載到的 PE 多是被人180度翻轉自訂,導致出現 IE、工作列/桌面、MMC 這些功能,變到與正式 Windows 接近,加上預載很多有用的救機軟體,最出名在外國有 BartPE、LiveXP、VistaPE,大中華有 NoName XPE, PE 3.0, 等等。所以 Windows PE 已經變了角色成為足以取代 Linux BootCD 作救機用途了。



如果當 Windows PE 為一般作業系統使用,有不少問題的,例如

1) 不可以照正常程序安裝軟體,只行到綠色版軟體

2) Windows PE 主要在 RAM 執行的作業系統,要有足夠記憶體否則耗盡就會掛掉 (除非啟用 pagefile)

3) 亦因為在 RAM 行,所有資料在重新開機後就 bye

4) 沒有聲音,不能作立體影像運算或加速

5) 為防用作盜版系統,Windows PE 1.x (XP 底) 都會每 24 小時重新開機,但有破解的,2.0 (Vista 底) 以上已經不會了。




歡迎用以下方式儲存或分享本文:

















Share

















 

wander-sick Copyright © 2012 Fast Loading -- Powered by Blogger