2023年2月20日月曜日

GMKtekのnucbox5は、中華味溢れる超小型PCだった

 GMKtekという中華メーカーの超小型PCを手に入れたのでレビュー。

基本的にはamazonでしか販売されておらず、また、amazonでも公式ストアが二つに分かれているなど、よく分からない仕様になっているが、恐らくどちらで買っても物は同じだろう。購入したnucbox5は、最安値だとOS(Windows11)込みで199ドルという破格で販売されている。

https://www.gmktec.com/products/intel-11th-jasper-lake-n5105-mini-pc-lgvh

CeleronN5105に8GBRAM、256gbのM.2SATAだと25000円程度。ベンチマークや使い勝手は、他サイトが詳しいので参照頂くとして、こいつの面白いところが一つ見つかった。

amazonのレビューで、OSを再インストールしなければアプリが入らないことがあるらしいという記述を見つけたので、ドライバをバックアップ後、win11のインストールイメージをダウンロードしてクリーンインストールした。ドライババックアップの際、プロダクトコードをvbsで抜き出したのだけれども、どうもwindows11ではなく、windows10 proのライセンスらしいことが分かった。また、クリーンインストールすると、このプロダクトコード、まるっと変わってしまう。プロダクトコードが再インストールの度に変わるとか、どういう仕組みなんだろう。試していないが、キージェネのような仕組みが備わっているのかしらん。それでいいのか中華。

追記
本運用時のtipsを別記事に上げたので参考に。

2023年2月16日木曜日

windowsのインストール済みドライバをバックアップしたい

 今まで使っていたPCをクリーンインストールしようとした場合、ドライバの確保がマストになってくる。自作なのであればマザーボードの型番など、簡単に調べられる物も多いが、メーカー製品、特にノートパソコンとなると、分解してもよく分からなかったりする。

そんなときに、どうドライバをバックアップするかといえば、dismコマンドを使うのが正解。

https://news.mynavi.jp/article/win10tips-137/

管理者権限でコマンドプロンプトを立ち上げて(コマンドプロンプト右クリック>管理者として実行)

まずはドライブの頭に適当なフォルダを作る(mkdir c:\dvrbackup)。

次にdismコマンド(dism /online /export-driver /destination:"C:\dvrbackup")

コマンドが終われば、これで、ドライブの頭に出来たdvrbackupフォルダに、PC内のドライバが全てはいるので、usbメモリにでもバックアップする。

クリーンインストール方法は、コンピュータの管理から、 デバイスマネージャーを開き、適用したい(?がついている)デバイスを右クリック>ドライバーの更新>コンピュータを参照してドライバを検索>保存していたドライバのフォルダを選択 で進める。

Windowsのプロダクトコードを知りたい。

 シールを貼り忘れたりして、インストールしたPCのプロダクトコードをなくしてしまうことがある。無いとは言わせない。意外と、まれによくあるのだ。今回は、もしなくしてしまった場合に、PC内からプロダクトコードを取り出すための方法を書く。

取り敢えず結論は、vbsスクリプトで書き出させるというもの。

https://answers.microsoft.com/en-us/windows/forum/all/extracting-product-key/5fcb3cb7-15fc-4818-9e1b-cacb67d5e51c

に書いてある物を使えばいい。 引用すると

Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName  & vbNewLine & ProductID  & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData  & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
   Save ProductData
End If
 
'Convert binary to chars
Function ConvertToKey(Key)
    Const KeyOffset = 52
    Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
    'Check if OS is Windows 8
    isWin8 = (Key(66) \ 6) And 1
    Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
    i = 24
    Maps = "BCDFGHJKMPQRTVWXY2346789"
    Do
        Current= 0
        j = 14
        Do
           Current = Current* 256
           Current = Key(j + KeyOffset) + Current
           Key(j + KeyOffset) = (Current \ 24)
           Current=Current Mod 24
            j = j -1
        Loop While j >= 0
        i = i -1
        KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
        Last = Current
    Loop While i >= 0
    keypart1 = Mid(KeyOutput, 2, Last)
    insert = "N"
    KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
    If Last = 0 Then KeyOutput = insert & KeyOutput
    ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
  
   
End Function
'Save data to a file
Function Save(Data)
    Dim fso, fName, txt,objshell,UserName
    Set objshell = CreateObject("wscript.shell")
    'Get current user name
    UserName = objshell.ExpandEnvironmentStrings("%UserName%")
    'Create a text file on desktop
    fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile(fName)
    txt.Writeline Data
    txt.Close
End Function

 これを、テキストファイルとして保存し、拡張子を.vbsにして実行するだけ。

注意点は、ウイルススキャンソフトでスキャンすると、害があるファイル認定されるので、適時判断ではずそう。