Pages

2014年5月16日 星期五

Windows 8.1 Recovery Solutions

為了防止系統錯誤、或軟體性破壞... 造成系統不正常運作,透過下列步驟,將還原檔隱藏在既有的硬碟底下,並透過Windows 8.1內建的【復原】,即可再次將系統還原成當初的狀態。

Step1:【下載】適用於 Windows 8.1 更新的 Windows 評定及部署套件 (Windows ADK)
將其安裝到你的開發電腦。

Step2: 製作Winpe 開機CD
2.1 用系統管理員打開【部屬與影像工具】,輸入指令:
copype amd64 C:\WinPE_amd64

2.2 利用dism將boot.wim檔掛載,輸入指令:
Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"

2.3 將CreatePartitions-<firmware>、ApplyImage-<firmware>.bat兩個檔案放到\Windows\sysem32
※ 其中 <firmware> 是 UEFI 或 BIOS。
CreatePartitions、ApplyImage 參考:http://technet.microsoft.com/zh-tw/library/hh825212.aspx#Capture #照原文所示,將程式碼複製貼到記事本存檔即可。

2.4 最後在透過dism將其卸載,輸入指令:
Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit
MakeWinPEMedia /ISO C:\WinPE_amd64 

2.5 把製作好的PE燒成光碟,輸入指令:
C:\WinPE_amd64\WinPE_amd64.iso 燒成光碟

Step3:
3.1 到目標電腦 (具有Windows 8.1),用 Winpe5 CD/DVD開機

3.2 擷取目標電腦的映像檔,下指令
dism /Capture-Image /CaptureDir:D:\ /ImageFile: E:\ThinImage.wim /Name:"Contoso"
※ D:是你的windows 8.1 ;E:建議是UFD或外接硬碟 ;Name的名稱可以自訂,但一定要給

Step4: 在目標電腦 (如果是外接硬碟),或是在原實驗的電腦 (local partition),以 Winpe5 CD/DVD開機
※ 到這裡非常重要,請先檢查目標電腦的 disk是0 or 1 ;如果是 1,就先開啟CreatePartitions-<firmware>.txt 更改為disk 1,並存檔。
接著才執行如下~

4.1 diskpart /s E:\CreatePartitions-<firmware>.txt #開始執行建立和分割partition

4.2 ApplyImage E:\Images\ThinImage-<firmware>.wim #開始將映像檔解壓後套用至所屬的partition,此時需要一段時間
※ E:\ 指的是local partition 或外接硬碟

重新開機後,進入Windows,查看Disk Management,會看到一個隱藏的 partition是拿來作Recovery用

Step5: 以管理員開啟命令提示字元,輸入Reagentc /info 查看reagentc的狀態是 enable or disable?!
請務必確認 Reagentc必須是【啟用】的狀態,輸入reagentc /enable
※ 如果它告訴您 not find,請先輸入指令 reagentc /setreimg /path c:\windows\system32\recovery 然後再 enable

Step6: 透過 [開機選項] 功能表來存取 Windows RE 功能;此功能表可在 Windows 中以許多不同方式啟動:

  • 在系統中,選取 [設定] 常用鍵 > [電源],然後按住 Shift 鍵,同時按一下 [重新啟動]。
  • 在系統中,選取 [設定] 常用鍵 > [變更電腦設定] > [更新與復原] > [復原]。在 [進階啟動] 底下,按一下 [立即重新啟動]。
  • 在系統中,選取 [設定] 常用鍵 > [變更電腦設定] > [一般]。在 [進階啟動] 底下,選取 [立即重新啟動]。
  • 在命令提示字元執行 Shutdown /r /o 命令。※ 1分鐘後重開 
Step7: 不論是上述哪種方式,都可以帶您進入修復與還原畫面,如圖:

7-1 選擇【Troubleshoot】

7-2 選擇【Advanced Options】
※ 如果reagentc沒有enable,【Advanced Options】是不會出現的喔!

7-3 這裡請用【Command Propt】來完成Recovery的方式。
 因為【System Image Recovery】無法找到隱藏的Recovery Partition。

7-4 選擇要以哪個User? 並沒有限制

7-5 直接【Continue】

7-6 進到Command Prompt,您必須先檢查每個Volume的磁碟代號,以確認來源目的的位置。輸入指令:
Diskpart
List volume
從下圖範例,檢查到\Windows 為D槽;Recovery為E槽

7-7 最好的做法,是要將\Windows partition 重新格式化後,再還原。一樣在Diskpart下輸入指令:
select disk 0
select part 2 #確認\Windows 為 partition 2
format fs=ntfs quick
exit

7-8 此時,利用Dism執行還原 (套用) image檔。輸入指令:
dism /apply-image /imagefile:"e:\RecoveryImage\Install.wim" /Index:1 /ApplyDir:d:\  #等待下方Bar執行完成
exit

7-9 再次回到主畫面,選擇進到Windows 8.1系統,是不是成功啦!

以上就是Windows 8.1還原的過程,當然下指令的方式,還不是很方便,所以我們可以客製化WinRE的畫面,把需要輸入指令的步驟,透過簡單的執行檔來完成即可。(這部分還在研究中,如有新的在分享給大家喔!)


2014年5月12日 星期一

為何在 Windows 7 中,無法幫SSD硬碟做磁碟重組的功能?

固態磁碟(SSD)是一種資料儲存裝置,可使用固態記憶體來儲存持續性資料。SSD 在桌上型和筆記型電腦中越來越普遍,可取代現在大家常用的旋轉磁性儲存硬碟。SSD 會模擬硬碟介面,因此在大多數應用程式中可以輕鬆取代硬碟。 

根據實作而定,固態磁碟可以提供比傳統磁性媒體磁碟機(也就是硬碟或 HDD)更快的系統效能。此外,SSD 中也沒有移動的組件,這表示機械方面的失敗風險幾乎是零。固態磁碟機也會提供改良式整體系統回應能力,而且耗用的電源也比傳統硬碟低許多。這樣就意味著電腦會比較冷卻而且更安靜。 

在Windows 7 特別對 SSD 做了最佳化,所以在 SSD 上安裝 Windows 7 要比在相同 SSD 上安裝舊版 Windows 能夠持續擁有較佳的體驗。當磁碟機偵測為 SSD 時,將會停用在一般硬碟上執行的排定磁碟重組。這是 Windows 7 所特有的最佳化,其存在的幾個原因如下:

1. 固態磁碟是以快閃為根據,因此不會有任何磁碟重組問題,與具有旋轉盤的傳統硬碟不一樣。讀取及寫入磁碟上的個別分頁,是依據分頁的 LBA(或邏輯區塊位址)定址分頁的方式來進行。存取循序定址的分頁與分散在 SSD 上的分頁之間,並沒有太大的速度差異。SSD 中並沒有移動的組件,所以並沒有像 HDD 一樣的搜尋時間概念,因此重組 SSD 並沒有任何好處。 

2. 此外與硬碟相較之下,SSD 能夠在存留期間進行非常多的小量寫入作業,所以執行磁碟重組工具不但無法產生與硬碟一樣的優點,實際上也會縮短磁碟機的壽命。 


所以當Windows 7識別該磁碟機為 SSD硬碟時,Windows 7 會自動停用磁碟重組工具的排定工作。


2014年3月7日 星期五

Windows Embedded 8.1 Industry【ELM updates】

好消息!
微軟把Application Launcher、Gesture Filter、USB Filter加到Embedded Lockdown Manager〔ELM〕了,不用研究WMI老半天,直接透過UI介面就可以設定,方便許多喔!

請下載:
先裝 KB2932074〔This KB adds support to enable the Embedded Lockdown Manager Update to configure the Windows 8 Application Launcher.〕
再裝 KB2932354〔此為ELM更新工具〕
你也可以在Windows 7、Windows 8安裝ELM,目的是為了可以遠端連線到Windows Embedded 8.1 Industry 做管理;以下是更新ELM後可用來設置的項目:
◆Windows 8 Application Launcher【New】– Enables a single Windows Store application to start automatically. Can be configured to disable the Start screen.
◆USB Filter【New】– Allows only trusted USB devices to connect to system.
◆Gesture Filter【New】– Prevents undesirable edge and corner gestures.
◆Keyboard Filter - Suppresses unwanted key combinations, such as Ctrl+Alt+Delete; configure Breakout key.
◆Dialog Filter - Prevents unwanted pop-up windows and dialog boxes from appearing on the screen.
◆Unified Write Filter - Protects physical media from write operations.
◆Shell Launcher - Starts an alternate shell instead of the standard Windows shell.

為什麼裝好了,開啟ELM還是沒有出現?
它仍須到 Turn Windows Features on or off去打勾才行喔,而其中 Embedded Lockdown Manager〔ELM〕有沒有打勾都沒必要了,因為它已經被 KB2932354取代了。

系統裝好後,重新開機,讓我們用期待的心情來打開ELM吧!
真的是福音來的!後續在分享怎麼設置喔!

2014年2月25日 星期二

Windows Embedded 8【Touch Monitor】【THQA】

下表為Embedded 8系列所搭配的Touch:
Product
THQA
Not THQA certified
Windows Embedded 8 Standard
Full Touch
Legacy Touch
Windows Embedded 8.1 Industry Pro
Full Touch
Legacy Touch
Windows Embedded 8.1 Pro
Full Touch
Legacy Touch with external monitor*
No touch support with internal monitor*
*Monitors are identified as internal or external through their Extended Display Identification Data (EDID)
**Windows Embedded 8.1 Pro有條件限制,Legacy Touch僅適用外接螢幕,如果你是 internal touch monitor,那就必須通過THQA認證。〔所以建議客戶選擇Windows Embedded 8.1 Industry Pro〕

微軟將其分為兩種touch類型:
【Full Touch】為100% touch的使用經驗,必需要通過THQA〔Touch Hardware Quality Assurance〕認證;從螢幕上下左右的邊緣滑進來,這個滑的動作,是以1pixe作偵測,但如果沒有過THQA,則是以20pixe作偵測,就是【Legacy touch】

Touch的機制是一個區塊,假設我沒有很精準地去點一個連結,如果有過THQA,就會預測(Prediction你要按哪個地方。

那請問,按下去出現滑鼠游標那也是touch嗎?
請不要誤會,那個叫 mouse 或 mouse touch... ><"

參考資訊:

http://msdn.microsoft.com/en-us/library/jj979614(v=winembedded.81).aspx

那要如何通過THQA? 這段後續再補上喔!!

2014年2月24日 星期一

NFC for Windows 8.1

前陣子有個客戶在問Windows 8.1支援NFC的write嗎?! 我在想當兩個NFC的device相碰時所產生的行為,不就是一個Read/Write的結果,後來他提供了一段影片如下〔此為Sony在日常生活中NFC的應用〕
要達到這個目的,Windows 8.1當然也做得到,關鍵是你的device的NFC Chipset must support Windows 8.

以下是微軟人員所提供的資訊:
For Windows 8.1 NFC, not only support printing, but also provide the windows API for development.
What you have to know is that should be based on Windows API and driver to work. They cannot use OpenNFC framework to develop their app.

And the attached file is the document about Windows Certification Program so that you can reference it to know NFP test.【Download】

In detail please check Near Field Proximity Implementation Specification document as below.
http://msdn.microsoft.com/en-us/library/windows/hardware/jj866056(v=vs.85).aspx

Following link is the example for your reference.
http://blogs.msdn.com/b/stephe/archive/2013/11/22/using-windows-8-1-near-proximity-api-without-nfc-hardware.aspx

當然你的Windows 8.1裝置有NFC,也可以從Windows Store下載NFC工具來使用喔!!
http://apps.microsoft.com/windows/zh-tw/app/1fab0601-9c22-41db-8f07-e5d89ccda275

2014年2月18日 星期二

Windows Embedded【POS for .NET】

開發POS,應該知道UPOS的協定,UPOS是Retail廠商共同訂製的協定,目前有36種POS的周邊都支援這種標準的協定,包含掃描器、cash drawer、磁卡讀卡機、收據列印..等,只要是零售業〔具有交易行為〕會用到的,都納在這個規範裡面。
Microsoft POS for .NET v1.12是一個類庫,它為你的.NET應用程序與POS設備的交互提供了一組簡單統一的接口。使得供應商能夠為常見的POS設備〔如收銀機,掃描儀等〕輕鬆開發出通用的應用程序,您可以在此處下載。http://www.microsoft.com/en-us/download/details.aspx?id=5355 〔微軟的POS for .NET 是一個免費的工具。〕

POS v1.12的更新:
與UPOS規範的最新版本完全兼容(UPOS v1.12)。新的設備類別包括輸送帶、電子事務管理器、RFID掃描儀等等,更新的設備包括"帶加密功能"的磁帶條文讀取器…

舉例:家樂福結帳的引帶,也是在規範裡面,前進5公分,不須客製化,透過POS for .NET API 做屬於POS的周邊的應用程式,還可以做到隨插即用,在結帳過程中,若設備損壞,如果你沒有支援UPOS或是OPOS這個協定的話,這個線上設備就要重新開機才能使用。

2014年2月17日 星期一

Windows Embedded 8.1 Industry【Toast Notification Filter】


Toast Notification Filter 有兩種型態:

第一種:所有的 Windows 8 / 8.1 都有「通知 Notifications」,它可以從「設定 settings」「變更電腦設定 Change PC settings」→「搜尋與應用程式 Search and apps」→「通知 Notifications→「顯示應用程式通知 show app notification」去開啟或是關閉〔圖1〕。

這是用來過濾 "Windows 8 app" 的通知,例如Twitters的訊息通知〔圖2〕。

第二種:則是在微軟嵌入式作業系統的版本 Windows Embedded 8.1 Industry 才有的系統通知過濾,它可經由 Windows Features on or off 去啟用〔圖3〕

而它所過濾的像是系統事件通知電池低,失去網絡連接〕、或使用外接式媒體的通知訊息〔圖4〕



2014年2月6日 星期四

Windows Embedded 8 Standard【Write Filter】

Write Filter是一種提高安全的系統防護機制,它可以保護系統不中毒、減少硬碟存取的損耗〔增強硬碟的使用壽命〕、還可加快系統的運作效能。無論是亂寫檔案、亂刪元件、甚至中毒了,只要重新開機,就可以恢復成原來的樣子喔!

下表為嵌入式作業系統具備的Write Filter:
 
EWF
FBWF
UWF
Standard
WIN XP Embedded
 
WES 2009
 
WES 7
 
WES8 (Standard 8)
POSReady
POSReady 2009
 
 
POSReady 7
 
WE 8/8.1 Industry
 
 
注意:各版本的EWF、FBWF在使用上的效能和表現不完全相同,仍要經過測試驗證之。

EWF〔Enhance Base Write Filter,增強型寫入過濾器〕基於磁碟的保護;它可以把磁碟變成唯讀、具有磁碟防寫的作用;它的工作原理:就是能將系統的變動都記錄在RAM上。

FBWF〔File Base Write Filter,文件的防寫過濾〕:基於檔案/資料夾的保護;它是透過將寫入程序,重新導入至快取記憶體,進而達成彈性、穩定、低損耗及無狀態的實體裝置保護作用。

UWF〔Unified Write Filter,統一寫入過濾〕:它結合了EWF、FBWF的優點,也是功能最完整的防寫技術〔詳細功能參考下圖〕。在 WES8 / WE8.1 Industry可透過ELM〔Embedded Lockdown Manager〕來做設定。

Windows Embedded 8.1 Industry【Breakout Mode】

什麼是Breakout Mode?
當電腦 or device 開機後只能進到一個固定的應用程式時,IT人員如果要修改系統設定,只要按下某個特定鍵〔ex: 【Windows Logo】 5次〕,即可回到登入畫面,並由管理者登入!
註:開機後針對指定使用者進到一指定的應用程式,是由 Assigned Access 或 APP Launcher 達到。

Example:
Windows 8.1 有一個功能叫做 "受指派的存取權" 〔英文稱Assigned Access〕,用來設定 One User x One Application〔一個使用者帳號只能使用一種APP〕,當管理者要做系統維護時,預設是在鍵盤上輸入【Windows Logo】 5次,即可登出。← 這就是Breakout Mode的作用。

那我可不可以變更Breakout Mode的預設鍵?
可以。下列提供兩種方式:

1. 透過 Registry 修改 BreakoutKeyScanCode
Step1:〔Run〕〔regedit〕
Step2:HKEY_LOCAL_MACHINE\SOFTSOFT\Microsoft\Windows Embedded\KeyboardFilter\ 
變更 BreakoutKeyScancode 的值〔default = 5b〕,下圖以Home Key為例,它的值是47,修改完成後,需重新啟動,使其生效。

2. 透過程式碼呼叫WMI來變更 BreakoutKey Scancode
下列是透過 Windows PowerShell Script 變更Breakout Key為【Home】鍵的範例:Breakout Mode的WMI_Class為WEKF_Settings

〔程式碼開始〕
#---Define variables---
$COMPUTER = "localhost"
$NAMESPACE = "root\standardcimv2\embedded"

#Define the decimal scan code of the Home key
$HomeKeyScanCode = 71

#Get the BreakoutKeyScanCode setting from WEKF_Settings
$BreakoutMode = get-wmiobject -class wekf_settings -namespace $NAMESPACE | where {$_.name -eq "BreakoutKeyScanCode"}

#Set the breakout key to the Home key.
$BreakoutMode.value = $HomeKeyScanCode

#Push the change into the WMI configuration. You must restart your device before this change takes effect.
$BreakoutMode.put()
〔程式碼結尾〕

將以上程式碼存檔為 breakoutmode-homekey.ps1,並以管理者開啟PowerShell,執行後如圖,並『重新啟動』,使其生效。

WEKF_Settings可用來設置:
欲了解更詳細的資訊,請參考: