2022年1月11日 星期二

Windows 移除 創建捷徑時 字尾的捷徑字樣

Windows 移除 創建捷徑時 字尾的捷徑字樣

按下 Win+X 再按 A 然後輸入下面指令,變更登錄檔

移除捷徑字樣

(連點三下快速選取一行)

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer /v link /t REG_BINARY /d 00000000 /f

然後重新啟動電腦,或是輸入下面指令重啟檔案瀏覽器

Stop-Process -ProcessName explorer






復原

要復原的話預設值是這樣

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer /v link /t REG_BINARY /d 15000000 /f

2022年1月10日 星期一

[Win10/Win11] 家用版 開啟本機群組原則編輯器(gpedit.msc)

[Win10/Win11] 家用版 開啟本機群組原則編輯器(gpedit.msc)

家用版預設是沒有啟用這個功能的,但其實微軟並沒有特別禁止,是能夠透過Dism事後安裝本機群組原則編輯器。



步驟1

按下 Win+X 然後再按下 A  ,會自動打開具管理員權限的終端機。
(備註:要是按不出來的話,在開始搜尋 Powershell 然後右鍵使用管理員打開也可以)


步驟2

打開之後在終端機內輸入這一行即可

irm bit.ly/InstallGpedit|iex

鍵入之後會跑安裝畫面 (文章中的指令更新了只是圖還沒更新)



安裝完畢會自動打開。也可以手動輸入 gpedit.msc 打開,或是在開始內搜尋。







2022年1月2日 星期日

修復 Windows 的 EFI/MBR 開機引導

修復 Windows 的 EFI/MBR 開機引導

引導損壞的開源命令工具 autoFixBoot,同時適用 MBR 與 GPT 兩種不同的硬碟格式。



使用方法

步驟
  1. 先把要修復的目標系統硬碟接到正常能開機的電腦上 (需要連網)
  2. 開機進系統後,從本機裡找一下目標系統在哪個曹位
  3. 在開始搜尋 Powershell 並按下右鍵使用管理員開啟,接著輸入下列命令。
# 修復 E 曹的系統引導
irm autofixboot.github.io|iex; autoFixBoot E

後面的 E 就是要修復的目標磁碟代號,也就是Windwos資料夾所在的磁碟
(如果要修復的就是當前系統,改成C即可)

過程中會跳出警告視窗,輸入 y 然後按下 Enter 即可。




備註:

  • 兩種格式 GPT(EFI) 與 BIOS(MBR) 都適用
  • 不小心把引導裝到其他硬碟的,後面改成 C 即可修復到同一顆
  • 在 GPT 磁碟下,若無引導分區會自動壓縮300M生成EFI分區
  • 在 MBR 磁碟下,若無引導分區會直接安裝引導在C曹系統曹


修復工具的邏輯

主要修復邏輯是輸入系統曹的代號之後

  1. 尋找同磁碟內是已經存在的引導分區(沒有則新建一個)
  2. 利用 bdcboot 建立開機引導


說穿了做的事情就是,自動建立開機分區(GPT/MBR),以及自動產生 bcdboot 命令並執行的工具。

邏輯上只會建立在同一個磁碟內,如果輸入的曹位是在 [磁碟3] 那麼只會搜尋 [磁碟3] 是否有開機引導,如果沒有則建立。


重複的開機引導

開機引導可以同時有很多個指向,比如說原本因為安裝失誤的關係導致開機是由 [磁碟0] 引導到 [磁碟1] 開機,那麼修復之後原本 [磁碟0] 的引導也依然有效可以開機。

當拔除磁碟 [磁碟0] 的時候只剩 [磁碟1] BIOS自然會選中 [磁碟1] 的開機引導開機到原本的系統。

所以如果是這種情況修復好就好不用管原本的開機分區了,如果真的很在意BIOS出現兩個選單的話隨意下載個磁碟管理軟體刪除不要的引導分區即可。




2021年12月29日 星期三

如何使用 Dism 安裝 Windows11

如何在外接硬碟 安裝 Windows11

tags: 部落格文章

Dism是微軟封裝Windows的程式,可以把它想像成 RAR 的意思。壓縮完畢後會變成一個 .wim 檔案,這個檔案解壓出來就是C曹剛重灌好的樣子了

所謂的安裝系統只不過是 解壓縮+建立開機引導 而已
這同時也意味著轉移系統只需要你將C曹所有檔案 Ctrl+C 複製到另一個硬碟,然後重建引導即可開機

安裝完畢開機之後系統會自動變成Windows to go狀態,大致上的區別就是有些設定值被限制了,比如說預設值是不能休眠的。


從下面開始所有指令的安裝的磁碟曹是F曹,如果你要安裝的曹位不是F,建議在磁碟管理員把他指定成F,這樣才不用修改指令。


前置任務

在開始前請先確定硬碟已經轉換成GPT格式
可以使用下面命令查詢分區格式

# F自行置換成你要安裝磁碟機代號
Get-Partition -DriveLetter "F" | Get-Disk


看到上圖表示是正確的,可以進行下一步了。

如果顯示是MBR格式,那可打開磁碟管理員,刪除所有分區之後點擊轉換。


(圖片沒有刪除且已經是GPT格式,所以才是灰色的的轉換成MBR字樣)




wim檔案的位置

wim檔案又可以稱做是系統的映象檔,這個檔案在微軟載下ISO內,點擊ISO檔案兩下掛載,然後你可以在 source 裡面發現 install.wim 檔案。

ISO檔案可以從這個網址下載:https://www.microsoft.com/zh-tw/software-download/windows11


查看映像檔資訊

一份映像檔裡面有別於剛剛說的rar壓縮包,wim檔案是可以同時包含多個版本的,解壓縮的時候要選擇版本解壓。這個步驟就跟通常安裝Windows時要讓我們選擇專業版還是家用版一樣意思。

查看的指令是(需要管理員權限)

Dism /Get-ImageInfo /ImageFile:"E:\sources\install.wim"


這邊我要安裝的是專業版,那就記下對應的編號 index:3


解壓縮

接下來把它解壓縮到目標槽位,也就是你要安裝的硬碟上

# 映像檔位置 : E:\sources\install.wim
# 安裝的版本 : 3 (Windows 11 專業版)
# 解壓縮位置 : F:\
Dism /apply-image /imagefile:E:\sources\install.wim /index:3 /applydir:F:\

等待跑完即可




建立開機引導

開機引導需要獨立的一個EFI分區,一般Windows會自動將它分配在開頭的位置。但實際上EFI的分區順序是沒有規定的,這邊為了方便操作直接從F曹切出300M來用

(指令很長連點三下可全選)

$Dri=(Get-Partition -DriveLetter "F");$Dri|Resize-Partition -Size:($Dri.size-300MB);((($Dri|New-Partition -Size:300MB -GptType:"{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}")|Format-Volume)|Get-Partition)|Set-Partition -NewDriveLetter:"X"

接著寫入開機引導

bcdboot F:\windows /f UEFI /s X:\ /l zh-tw

到這邊就完成了,重啟之後UEFI選則該硬碟啟動,即可開機




掛載與卸載EFI磁碟代號

磁碟管理是沒辦法直接掛載EFI分區的,如果需要修復EFI掛載的方法如下

# 新增F曹的EFI分區磁碟代號為X
((Get-Partition -DiskNumber:(Get-Partition -DriveLetter "F").DiskNumber)|?{$_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}"})[0]|Set-Partition -NewDriveLetter:"X"

# 移除磁碟代號X
$Letter="X";(Get-Partition -DriveLetter:$Letter)|Remove-PartitionAccessPath -AccessPath:("$Letter"+":")

參考資料

Dism 修復 Windows 系統

修復 Windows 系統

系統損壞原因很多,這邊用的指令是簡單修復Windows的檔案,有時候系統BUG這個修復是有用的。

執行的方法按下 Win+X 然後在按 A 就可以打開終端機了,在終端機裡面輸入底下指令。

# 檢查有無出錯
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /CheckHealth

# 修復
DISM /Online /Cleanup-image /RestoreHealth
sfc /SCANNOW

2021年12月18日 星期六

PowerShell 關閉 IPv6 連線

PowerShell 關閉 IPv6 連線

tags: 部落格文章

主要是遇到了一點問題,不得不關閉IPv6的連線,才只好這麼做的。留個紀錄之後要爬文比較好找。

關閉 Ipv6

利用的指令是

Get-NetAdapterBinding -Com:ms_tcpip6

這個可以查出全部的 IPv6 連線的裝置名稱,再利用裝置名稱把連線關掉

$Name = '區域連線'
Enable-NetAdapterBinding -Name:$Name -ComponentID:ms_tcpip6

遇到的問題

遇到這個問題是因為不知道為什麼自己建立的 OpenVPN 伺服器雖然連上了,但是IPv6是沒有啟用的,造成的問題就是IPv6依然是本地IP只有換IPv4而已。

然後預設的連線行為是 IPv6 優先於 IPv4 的,所以如果網站支援 IPv6 的話我連上的VPN就等同於虛設了,還是一樣本地的IP

解決辦法就是乾脆關掉 IPv6 就好了,不過為什麼會造成這個原因我猜有可能是因為我用 TAP 模式的關係吧,伺服器是用ASUS的路由器建的(也有可能只是ASUS的BUG)。

差多三年前剛架設的時候 TUN 模式因為沒辦法把流量都導到AP上 (已經打勾導流了),最後用 TAP 才解決的就一直這樣用了,現在還是同一個型號測試 TUN 已經可以正常導流了。TAP模式缺陷很不方便,第二台客戶端AP、安卓手機不能用,沒特別需求建議還是用TUN比較好。

解決方案完整代碼在這裡。
https://github.com/hunandy14/OpenVPN_Switch/blob/master/OVPN_chg190118_v6.ps1

2021年12月8日 星期三

移除 華碩 ASUS ArmouryCrate 桌面右鍵選單 GameLibray

移除 華碩 ASUS ArmouryCrate 桌面右鍵選單 GameLibray

這選單是真礙眼,沒有習慣從桌面的右鍵選單裡面開遊戲,偏偏軟體裡面又不給設定移除。姑且自己去挖登錄檔位置出來有成功刪除了。



停用的方法

先按下 Win+X 然後再按下 A ➔ 打開終端機,然後輸入底下的代碼按下Enter

reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\GameLibrary" /v "LegacyDisable" /t REG_SZ /f

執行完畢就會消失了。


復原

由於沒有直接刪除原本的值,要復原的話刪除 LegacyDisable 這個項目即可

reg delete "HKEY_CLASSES_ROOT\Directory\Background\shell\GameLibrary" /v "LegacyDisable" /f

就此就能輕易復原了





登錄檔值

對應的位置在這裡,要強制刪除可以執行這行
Remove-Item -LiteralPath 'Registry::HKEY_CLASSES_ROOT\Directory\Background\shell\GameLibrary'

登錄檔機碼備份,把她存成 GameLibrary.reg 之後執行即可復原
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\GameLibrary]
"MUIVerb"="ArmouryCrate"
"SubCommands"="g0;|;g1;"

"Icon"="C:\\Users\\這裡換成自己的使用者路徑\\AppData\\Local\\Packages\\B9ECED6F.ArmouryCrate_qmba6cd70vzyy\\LocalState\\GameLibrary\\ArmouryCrate.ico"