在此紀錄一個在UEFI Shell底下執行的Reboot程式~
(圖片來源)
程式碼來源:小花的胡言亂語
使用方式:
1. 將Code1存成Startup.nsh。
2. 製作可開機的UEFI隨身碟。
3. 將Startup.nsh存在隨身碟內,路徑(隨身碟\EFI\boot\Startup.nsh)。
4. 系統開機,將隨身碟開機順序設為第一優先。
5. boot進UEFI隨身碟。
6. cd 至該隨身碟\EFI\boot\底下,並執行Startup.nsh即可。
如何重置腳本次數→請參考Code2。
Code1↓
如何清除腳本次數?
1. 將Code2存成Clear.nsh並放置隨身碟\EFI\boot底下。
2. 系統開機,boot進隨身碟後馬上按「ESC」停止Startup.nsh自動執行。
3. cd進隨身碟\EFI\boot並執行Clear.nsh即可。
原理:因Code1 使用了"Counter", "a", "myFlag"這些變數,只要把「系統」內暫存的這些變數刪掉即可。
Code2↓
備註:
1. UEFI Shell User's Guide
2. 檔名為何是Startup.nsh?
就如同AUTOEXEC.BAT一樣,是在系統載入時便會自動執行的一個腳本。在設為隨身碟開機順序為第一優先後, 系統boot進隨身碟時便會自動執行Startup.nsh,也就是說檔名改掉後腳本就不會自動執行囉!
(圖片來源)
程式碼來源:小花的胡言亂語
使用方式:
1. 將Code1存成Startup.nsh。
2. 製作可開機的UEFI隨身碟。
3. 將Startup.nsh存在隨身碟內,路徑(隨身碟\EFI\boot\Startup.nsh)。
4. 系統開機,將隨身碟開機順序設為第一優先。
5. boot進UEFI隨身碟。
6. cd 至該隨身碟\EFI\boot\底下,並執行Startup.nsh即可。
如何重置腳本次數→請參考Code2。
Code1↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | echo -off #set Startup delay time for 0 sec #======================= set StartupDelay 0 #======================= #if Counter is not exist , set to 0 #======================= if exist %Counter% then set Counter 0 endif #======================= #Counter from 0-19999 #if match, set myFlag , Counter will +1 in next loop #======================= for %a run (%Counter% 19999) if %Counter% == %a% then set myFlag 1 else if %myFlag% == 1 then set myFlag 0 set Counter %a% goto Leave_For endif endif endfor #======================= #Wait for 3 sec then system warm reboot #======================= :Leave_For echo Loop Cycle = %Counter% stall 3000000 reset -w #======================= |
如何清除腳本次數?
1. 將Code2存成Clear.nsh並放置隨身碟\EFI\boot底下。
2. 系統開機,boot進隨身碟後馬上按「ESC」停止Startup.nsh自動執行。
3. cd進隨身碟\EFI\boot並執行Clear.nsh即可。
原理:因Code1 使用了"Counter", "a", "myFlag"這些變數,只要把「系統」內暫存的這些變數刪掉即可。
Code2↓
1 2 3 4 5 6 | echo -off set -d Counter set -d a set -d myFlag echo Clean Complete, please re-run Startup.nsh |
備註:
1. UEFI Shell User's Guide
2. 檔名為何是Startup.nsh?
就如同AUTOEXEC.BAT一樣,是在系統載入時便會自動執行的一個腳本。在設為隨身碟開機順序為第一優先後, 系統boot進隨身碟時便會自動執行Startup.nsh,也就是說檔名改掉後腳本就不會自動執行囉!
版大您好
回覆刪除請問您的UEFI 版本是?
我測試code1在uefi v2.1 v2.2都不能跑卡在10行
uefi v2.6有跑成功過後來又不行了卡在18行
code2都說找不到變數
謝謝