網頁

2021年4月29日 星期四

製作只有一個分割區的USB隨身碟UEFI及LEGACY BIOS開機

 寫本文之前,製作USB隨身碟UEFI開機,雖有幾種方式,最後還是選擇在二個可見分割區製作。一個NTFS分割區,存放PE及Legacy grub4dos開機檔。一個fat分割區,存放UEFI開機檔,更新/刪除檔案較方便,USB開機後應用程式掛載較少發生狀況。

可見分割區,更新/刪除檔案方便,相對的也可能誤刪檔案,實際操作時,誤刪機率少。會使用到隨身碟開機的人,通常是電腦維修人員。

fat分割區,如有被分配到磁碟機代號在Windows 10檔案總管看得到。下圖是沒有被分配到磁碟機代號在Windows 10檔案總管看不到。


下圖是在PE,FAT分割區有被分配到磁碟機代號,在Windows 10檔案總管可看到該分割區。

電腦開機時按下開機快捷鍵,NTFS分割區或fat分割區是否出現於選單上,或同時出現在選單上,要看BIOS設定,不同的BIOS,顯示的結果也有些差異。以下介紹幾種可能呈現的方式。

範例1  Boot Filter: UEFI 


範例1  按下開機快捷鍵,隨身碟 UEFI 開機(從FAT分割區開機)

範例2  Boot Filter:Legacy 

範例2  按下開機快捷鍵,隨身碟 Legacy 開機(從NTFS分割區開機)

範例3的主機板  有UEFI 或Legacy或 UEFI and Legacy選項



範例3 boot device control設 Legacy,按下開機快捷鍵,隨身碟Legacy開機(從NTFS分割區開機)

範例3 boot device control設 UEFI

範例3 boot device control設 UEFI,按下開機快捷鍵,隨身碟UEFI開機,有二個UEFI 隨身碟開機選項,partition 1是隨身碟NTFS分割區,partition 2是隨身碟fat16分割區,partition 2有UEFI開機檔,選partition 2開機。

範例3的主機板boot device control設  UEFI and Legacy選項

範例3的主機板boot device control設  UEFI and Legacy選項,按下開機快捷鍵,隨身碟UEFI開機,有二個UEFI 隨身碟開機選項,partition 1是隨身碟NTFS分割區,partition 2是隨身碟fat16分割區,選partition 2 UEFI開機,因boot device control是設UEFI and Legacy,因此還有一個Legacy grub4dos 選項(例如 SanDisk)

範例4  Boot Filter: UEFI ,其餘也都設UEFI

範例4  Boot Filter: UEFI ,其餘也都設UEFI,按下開機快捷鍵,隨身碟 UEFI 開機(從FAT分割區開機)

從以上範例分析可知,製作只有一個分割區的USB隨身碟UEFI及LEGACY BIOS開機,是可行的,也可以減少,按下開機快捷鍵,顯示的開機選項。

FAT分割區的boot、efi資料夾複製到USB 隨身碟NTFS分割區

執行硬碟分割程式,刪除FAT分割區,且合併到NTFS分割區

一支沒有開機功能單一分割區USB隨身碟,製作只有一個分割區的USB隨身碟UEFI及LEGACY BIOS開機的方法,可能有幾種,以下介紹二種方法。

1、如USB隨身碟原本就可以UEFI開機,在PE直接把FAT分割區的boot、efi資料夾複製到USB 隨身碟NTFS分割區。複製後如NTFS分割區可以UEFI開機,即可執行硬碟分割程式,刪除FAT分割區,且合併到NTFS分割區。
2、有資料的USB隨身碟或新的隨身碟:安裝引導紀錄,複製可UEFI及LEGACY BIOS開機隨身碟檔案,複製uefi開機的efi資料夾至有資料的USB隨身碟,修改有資料的USB隨身碟EFI\Microsoft\Boot\BCD檔。如自己沒有UEFI及LEGACY BIOS開機開機的隨身碟檔案,可以至網路下載PE ISO檔,擷取需要的檔案。

以1支8g隨身碟,容量雖小,拿來製作PE開機隨身碟是可以的。
執行硬碟分割程式,刪除分割區,在分割區上按滑鼠右鍵->主要磁碟分割->NTFS->確定。

格式化完成。

執行BOOTICE->目標磁片,選要製作的隨身碟->主引導紀錄

->GRUB4DOS->安裝/配置

->寫入磁片

->確定

->取消

->分區引導紀錄

->GRUB4DOS->安裝/配置

->確定

->確定

->取消

->退出

複製可開機USB隨身碟的grldr

複製完成

複製可開機USB隨身碟上PE檔案


執行BOOTICE
->實用工具

->啟動編輯器

->打開檔->選取grldr

grldr內容之一,設定搜尋menu.lst位置

grldr內容之二,載入bootmgr

->BCD編輯>其它BCD檔
->選取隨身碟EFI\Microsoft\Boot\檔->智慧編輯模式

更改每一個選項的 啟動磁片是要製作的隨身碟
->啟動分區 是要製作的隨身碟NTFS分割區。
->保存當前系統設置。切記,每一個選項更改好,都要 按保存當前系統設置,才有存檔。
修改完成,隨身碟應該就可以UEFI 及LEGACY BIOS PE開機。

2021年4月18日 星期日

Windows 10 專業版(pro)UWF還原系統

聲明:本文使用的PE,純屬該PE是微型PE,檔案小,開機快,工具程式全內置,Windows版本新,支援INTEL 11晶片組,開機可以看到硬碟。

 整合寫入篩選器 (UWF) 的功能,以下網址有祥細介紹

https://docs.microsoft.com/zh-tw/windows-hardware/customize/enterprise/unified-write-filter

寫這篇文章時只能在Windows 10 企業版、Windows 10 IoT 核心版或 Windows 10 IoT 企業版啟用且可正常運作。Windows 10 教育版、專業版,在控制台->程式和功能->開啟或關閉Windows 功能-->裝置鎖定,可以勾選整合寫入篩選器 (UWF) ,卻無法正常使用。網路上有網友提到教育版跟企業版一樣,勾選整合寫入篩選器後,可以正常啟用還原功能,經實作測驗,無法正常啟用還原功能。

windows 10 pro 勾選整合寫入篩選器 (UWF)

uwfmgr.exe檔


以系統管理員身分執行uwfmgr.exe指令及參數,要啟用還原功能,無法正常啟用還原功能。

因公用電腦、電腦教室,新電腦隨機搭的作業系統,以windows 10專業版最多,本文以windows 10專業版+elm+uwf,達成windows 10專業版可以正常啟用還原功能。

為了避免使用者接觸還原功能設定,從網路下載的win10uwf和eml檔,先將開啟設定捷徑刪除

將$OEM$\$1\ProgramData\Microsoft\Windows\Start Menu\Programs資料夾,開啟c:\windows\system32\EmbeddedLockdown.msc檔的捷徑刪除


修改$OEM$\$$\Setup\Scripts資料夾UWF.reg檔
刪除以下機碼
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\UwfServicingSvc]
"DisplayName"="@%SystemRoot%\\system32\\UwfServicingSvc.exe,-100"
"ErrorControl"=dword:00000001
"Group"="ProfSvc_Group"
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,55,00,\
  77,00,66,00,53,00,65,00,72,00,76,00,69,00,63,00,69,00,6e,00,67,00,53,00,76,\
  00,63,00,2e,00,65,00,78,00,65,00,00,00
"Start"=dword:00000004
"Type"=dword:00000010
"Description"="@%SystemRoot%\\system32\\UwfServicingSvc.exe,-100"
"ObjectName"="LocalSystem"

整合至windows 10 ISO檔或安裝光碟的方式,很簡單,把 $OEM$整個資料夾放到win10 pro ISO檔sources目錄下,存為,就可以用ISO安裝,或燒錄至光碟安裝,安裝好的Windows 10系統就是整合了UWF跟EML控制器的windows 10 pro。(安裝過程自動執行$OEM$\$$\Setup\Scripts\SetupComplete.cmd檔)

SetupComplete.cmd檔內容如下:
@echo off
pushd "%~dp0"

%windir%\System32\regsvr32.exe -s %windir%\system32\wbem\uwfwmi.dll
%windir%\System32\wbem\mofcomp.exe %windir%\system32\wbem\uwfwmi.mof
%windir%\SysWOW64\regsvr32.exe -s %windir%\SysWOW64\wbem\uwfwmi.dll
regedit -s UWF.reg
regedit -s ELM.reg

:如要使用 Windows Defender, 請將下列至 :degragment 之間各行命令行首 ":" 號移除, 將 Windows Defender 相關檔案、資料夾加入排除。
因電腦病毒橫行,建議將下列至 :degragment 之間各行命令行首 ":" 號移除,讓UWF還原系統仍有防毒功能,提供使用者基本的防毒功能。
:uwfmgr filter enable
:uwfmgr volume protect %SystemDrive% 
:uwfmgr file add-exclusion "%SystemDrive%\Program Files\Windows Defender"
:uwfmgr file add-exclusion "%SystemDrive%\Windows\WindowsUpdate.log"
:uwfmgr file add-exclusion "%SystemDrive%\Windows\Temp\MpCmdRun.log"
:uwfmgr file add-exclusion "%SystemDrive%\ProgramData\Microsoft\Windows Defender" 
:uwfmgr registry add-exclusion "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender"
:uwfmgr volume unprotect %SystemDrive%
:uwfmgr filter disable

:degragment
sc config defragsvc start=disabled

:Superfetch
sc config SysMain start=disabled

:Windows Defender Network Inspection,如要使用 Windows Defender,請在下一行行首加入 ":" 號
sc config WdNisSvc start=disabled

:Windows Defender  如要使用 Windows Defender,請在下一行行首加入 ":" 號
sc config windefend start=disabled

regedit /s Disable-Restore-Paging-Prefetcher.reg

:如要使用睡/休眠等功能,請在下一行行首加入 ":" 號
powercfg -h off

:Use this if automatic repair occurs upon boot. 
:bcdedit /set {current} bootstatuspolicy ignoreallfailures

regedit /s Clean.reg

shutdown /r /t 10




整合了UWF跟EML控制器的windows 10 pro.ISO,安裝之後,可以就正常啟用還原功能,切記,不要在控制台->程式和功能->開啟或關閉Windows 功能-->裝置鎖定,勾選整合寫入篩選器 (UWF),勾了就會安裝新的UWF,造成UWF跟EML相容性問題,重開機就藍底白字了。
因此,鄭重提醒,要使用UWF+EML之後,就不要去動 整合寫入篩選器,保持原狀即可。

如windows 10 pro已安裝好,手動安裝ELM和UWF的方式如下:
PE開機
把$oem$\$$資料夾內的三個資料夾複製到c:\windows資料夾

->打勾
->是

->取代檔案名稱相同的檔案

把$oem$\$1資料夾內的三個資料夾複製到c:\資料夾

->貼上

->打勾
->是

->取代檔案名稱相同的檔案

重開機進入Windows 10 pro
開始->執行 regedit. 更改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\InboxApp 註冊值擁有者為 Administrators.




->使用權限

->進階

->變更

->進階

->立即尋找

->Administrators
->確定

->確定

->套用
->確定

->Administrators
->勾  完全控制
->套用
->確定

 以系統管理員身分執行C:\Windows\Setup\Scripts\SetupComplete.cmd

執行完畢自動重開機

不論是手動安裝或是自動安裝uwf+elm,安裝完成後,以系統管理員身分執行uwfmgr.exe指令及參數,啟用或關閉還原功能。

啟用UWF前先用uwfmgr.exe設定,將設定指令存為uwf_all_enable.cmd,以系統管理員身分執行,uwf_all_enable.cmd檔內容如下:
rem  刪除Embedded Lockdown Manager gui設定捷徑,避免使用者誤按,關閉還原功能
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Embedded Lockdown Manager*.*" /f /q
uwfmgr overlay Set-Type DISK
rem 預設是用 RAM當作暫存區,改用磁碟當作暫存區
uwfmgr overlay set-size 15360
rem 設定暫存大小為 15360 MB (15G),如要設10G則是10240
uwfmgr overlay set-warningthreshold 15120
rem  設定目前工作階段,驅動程式會發出警告通知的覆疊大小,以 mb 為單位,15120M
uwfmgr overlay set-criticalthreshold 15360
rem  設定目前工作階段,驅動程式會發出重大通知的覆疊大小,以 mb 為單位,15360M
uwfmgr volume protect c:
rem 設定要保護磁碟為C碟
rem uwfmgr servicing Update-Windows
rem 如有要讓uwf啟用後可以更新Windows,就將下面一行rem移除,因是啟用還原系統
rem 不建議讓Windows更新,以避免干擾使用者操作。
uwfmgr filter enable
rem 啟用保護
pause
rem 暫停一下(pause),看清楚以上uwfmgr指令是否可正常執行,如有錯誤也可以看到錯誤訊息。

注意:
如有執行uwfmgr servicing Update-Windows,啟用Windows 更新,啟用UWF保護時硬碟燈會一直亮一段時間,才完成啟用。沒有執行uwfmgr servicing Update-Windows,就會馬上完成啟用。

移植UWF+ELM至windows 10 pro,啟用UWF的畫面是英文顯示。

windows 10 企業版,啟用UWF的畫面是中文顯示。

停用還原功能
uwf_only_disable.cmd檔內容
uwfmgr filter disable
pause

啟用還原功能
uwf_only_enable.cmd檔內容
uwfmgr filter enable
pause

查詢還原功能啟用或停用
uwf_only_get_config.cmd檔內容

UWF+ELM如預先安裝好,會造成無法封裝Windows 10 pro 。如下圖,顯示封裝失敗原因。
為了解決這個問題,可以調整萬用還原映像檔製作的工序:
1.封裝前只將HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\InboxApp 註冊值擁有者為 Administrators.
2.UWF+ELM檔案於封裝後在PE手動複製
3.於還原部署安裝後,才安裝UWF+ELM(執行SetupComplete.cmd檔)

如要確保每次封裝都能成功,停用網路,是必要條件。
實做測試,於完成所有設定,離線更新完成,備份後。開啟網路,只更新Windows及Office一次,例如下圖: 

Windows及Office更新完成,停用網路。只做一次更新,封裝成功機率高,多次更新,封裝失敗機率高。
封裝前,執行DISM ++對Windows 10進行空間回收,約可以瘦身約1G左右,封裝完成,在PE備份,經trueimage壓縮,減少的檔案大小有限,因此,也可以不進行空間回收。

建議在進桌面才執行的批次檔、刪資料夾、刪檔案、解除程式安裝,儘可能在封裝工具的計畫任務中設定,執行起來較穩定,也較能依設定工序執行。

萬用還原安裝或安裝UWF之後如發生滑鼠按開始,開始功能表沒有反應,其餘功能又可正常操作,可以在啟動時加入自動執行批次檔,解決問題。
 start.cmd檔內容
Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml" -verbose }

exit

start.cmd檔加入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp資料夾,開機就自動執行的批次檔。

經過密集測試,發現萬用還原安裝之後,如線上更新windows 10,可能碰上更新失敗,因此,建議,萬用還原安裝後,停用windows 10,SetupComplete.cmd檔,於要啟用UWF還原前才執行。如啟用UWF還原功能後,office 的Word會當掉無法執行(未啟用UWF還原功能,word可以正常執行),可以導入以下註冊檔解決。(以office 2016為例,不同版本,請先查看office安裝資料夾,再參照改設定)
office2016fix.cmd
reg add HKCU\Software\Microsoft\Office\16.0\Word\Options /v NoReReg /t REG_DWORD /d 1
pause