2013年12月12日 星期四

實現Windows Embedded 8 Standard 上的快速開機(HORM)

再來實作一個Microsoft很少人討論的功能HORM,很多人在網路上爬文都只會看到這是個快速開機的功能,能夠很快的進入作業系統,就是沒有人把這個功能作出來Demo給大家看,到底開機有多快。 最近一直被問到這個功能乾脆自已把步驟寫出來吧. 接著我們直接講解實作過程吧:

1.在ICE工具中加入我們必要元件
  • Unified Write Filter(UWF)
  • Embedded Lockdown Manger

2.設定Unified Write Filter(UWF)
  •    Binding => Loose Binding
  •    DisableSR -> 1


3.建立WE8S Image 並進行OS安裝
我們這次VIA A1100 平台來安裝 規格表如下:
CPU: U2500 1.2 GHz
RAM: 2GB
HDD: Seagate Momentus 320GB 7200RPM

4.安裝完成後我們開始來設定UWF功能,依序鍵入下列指令
   開啟Command line (請務必使用Administrator 權限)
  •    powercfg /h on
  •   uwfmgr filter enable
  •   shutdown /r /t 0


5.重開機後,再設定HORM 功能
  • powercfg /h on
  • shutdown /h


6.我們來測試一下到底開機有多快,特別將開機過程錄影下來.
從BIOS logo之後到完全開機只花了13秒,如果換成SSD 肯定是秒殺呀.






2013年12月10日 星期二

Windows Embedded 8 Standard 的Killer function-Unified Write Filter -2 (Command Line篇)

上篇討論UWF使用ELM,來作管理或許長期使用Command Line的人會可能會很不習慣,
所以後還是將UWF Command Line的常用指令操作列出來給大家試試.
PS:開啟Command line 工具進行操作,注意需使用Administrator 權限

1.查詢UWF目前設定值
uwfmgr.exe get-config
查詢目前UWF設定狀態與下次開機後的執行命令,資訊包括Filterg狀態、Overlay設定,磁碟保護的檔案與目錄與註冊檔.

2.開啟UWF功能
uwfmgr.exe filter enable
功能會在下次reboot後生效

3.UWF中設定保護磁碟
uwfmgr.exe volume protect C:
執行後需要重新開機才會生效

4.UWF中增加可存取目錄與檔案設定
當保護設定完成後,如要加入可存取檔案及目錄以依下列命令完成
uwfmgr.exe file add-exclusion C:\mydir\myfile.txt

uwfmgr.exe file add-exclusion C:\aa\documents

5. UWF中增加可存取註冊檔設定
uwfmgr.exe registry add-exclusion HKLM\Software\MySoftware\MyApp

6. UWF設定最大Overlay 空間
uwfmgr.exe overlay set-size 2048

7. UWF查詢已使用的Overlay空間
uwfmgr.exe overlay get-consumption

8. UWF查詢尚可使用的Overlay空間
uwfmgr.exe overlay get-availablespace

Windows Embedded 8 Standard 的Killer function-Unified Write Filter -1 (ELM篇)


在Windows Embedded 8 Standard上最大的賣點莫過於是UWF功能,因此我們特別開了這個主題來說明這個功能,記得在以前我們學校電腦教室一定會安裝的"硬體還原卡",這卡不便宜一片得要1、2千塊,今天要說的主題跟這個有關嗎?

UWF其實就是軟體的"硬體還原卡"功能而且這個功能還是免費的 有影沒...
我才說光這個功能Linux、Android就得要望塵莫及,回到我們的主題在這個UWF中Microsoft已經有提供UI可以提供操作,就是利用ELM(MMC plug-in的方式) 工具來管理UWF 各種功能.

一、UWF 功能設定
1.在ICE中的Configuration File 視窗,展開Feature->Lockdown 加入Unified Write Filter(UWF)
2.在Settings and Properties中選擇Settings 頁籤
3.在Settings 中將Filter View by 項目選擇為”4 Specialize”

  •     DisableSR =1  (關閉系統還原點功能)
  •     Binding = Loose Binding (利用drive letter來設定)


二、ELM上操作UWF UI設定
1.於左邊視窗中展開UWF項目其中細分成三部份:

  • Volume => 主要管理要增加保護的磁碟代號
  • File Exclusions => 加入需要作存取的檔案或目錄
  • Registry Exclusion => 加入需作保留Registry路徑
2. 於右邊視窗中顯示目前UWF 狀況,Overlay size、Type..etc
 

3.選擇Volumes 項目,控制磁碟保護開啟與關閉
 

4.選擇File Exclusions,增加排除保護的檔案與目錄.
        
5.選擇Registry Exclusions, 增加排除保護的Registry路徑

[Seminar] 12/18 零售產業高峰會 微軟嵌入式系統


                   報名網址  http://seminar.ithome.com.tw/live/20131218CW/index4.html

                                 

WE8S 開機進入客戶程式(Shell Launcher)


Windows Embedded 8 Standard 中設定Custom Shell設定方式,我自是使用EEF中的Shell Launcher 其好處是本身Application可繼承Shell的特性,在WE8S中我們可以針對Application被使用者關閉所對與的行為作出對與的動作.

在客製化Shell 的步驟中我們針對OOBE 與 Shell launcher 所需要修改的參考作以下範例:
1.設定OOBE自動化
Product->Embedded Core 中設定”7 OOBE System”
在OOBE 屬性中設定下列參數
HideWirelessSetupInOOBE = true
HideOEMRegistrationScreen = true
HideLocalAccountScreen = true
HideOnlineAccountScreen = true
HideEULAPage = true
NetworkLocation = work
ProtecYourPC = 1

2.Shell Launcher 元件設定
展開Features->Shell->Shell Launcher 設定”7 OOBE System”
  Shell -> explorer.exe
加入不用的UserSettings進系統中,並指定開啟的Shell 的路徑.


展開User 項目作以下設定:
AccountName -> WorkShopUser
Shell -> C:\users\CustomDesktopShell\CustomDesktopShell.exe
DefaultReturnCodeAction -> 0
Key -> 1

其中值得一提的是DefaultReturnCodeAction ,主要是控制Shell屬性的參數
對於Application 被關閉是作的行為設定,我們預設為"0" 當Application被關閉時系統自動將Application重啟,可使Application 一直顯示在螢幕上.