パソコン練習日記

やってみたことを記録しています。Bloggerからこちらに引っ越して来ました。一部、画像がリンク切れしていますがひとつひとつ直すのは心が折れたのでそのままにします。

ヤフオクで買ったSpectreX360のバッテリーとSSDを交換 その② そしてWindows11とドライバインストール

バッテリーを楽天で購入後、30分後には発送連絡が来た。

はぇえ。でも2日後まで不在で受け取りできんのよ。

 

ということで2日後、注文したバッテリーを受け取ったのでさっそく交換

SSDも128GBから512GBに。欠品していたネジも、ある中から合えばつける

 

乾燥しているので、加湿器2台使って湿度45%超えまで待ち。

湿度が45%超えになったので、作業開始。

交換方法はHpとかも動画で出しているので、割愛

交換完了。

なぜか一か所だけ合わなくて、ネジ止めするのをあきらめた。

あんまり影響無さげだし。

あと、前のユーザー?が欠品させていたネジも、持っていたやつで合うのがあったので、付ける。

次はカバーを装着

ここも違うネジっぽいのが付いていた箇所は交換

 

そして、ゴム足つけて

 

電源ON。してみたけどつかない。バッテリーは空っぽいな。

で、充電ケーブル接続。

お、ランプ付いた。

45~48W程度で通電している。問題ないっぽい。

30分ほど充電しながら放置。

そして、起動ボタンON。からのEscボタン連打。

で、HP PC Hardware Diagnosticsを起動し、

バッテリーチェック。

問題なし判定。

 

次はOSのインストール。

前回も書いたけど、中古PCで買った付いてきたOSは基本汚染されている前提で、まっさらなOSをいれる。Hp提供のOSダウンロードツールがうまくいかなかったので、

Windows11 製品版で検索して、

Windows11製品版インストーラーダウンロードサイト(https://www.microsoft.com/ja-jp/software-download/windows11)へ移動

で、日本語版のISOをダウンロード

そして、isoをDVDに書き込み

書き込み完了

USBのDVDドライブを接続し、Windowsをインストール開始

インストール完了。初期設定

初期設定完了。

バイスマネージャーを開く。

まだ認識されていないデバイスがいっぱいの状態。

とりあえずWindowsUpdate。そうすることで、Hpのソフトウェアも自動で付いてくる。

Windows Update完了。

でも、まだこんなに不明なデバイス

 

では、次はドライバをインストールする手段に切り替え。

HPのサイトからドライバをひとつひとつダウロードできるのだけど、めんどくさいのでツールを使うことに。

SupportAssistantを使えば、たぶん、自動でドライバ当ててくれるはず。

で、ダウンロードしインストール。

で、インストール後、起動。アカウントを作るのがめんどくさいので、"ゲストとして続行"

で、アップデートチェック

これで、必要なドライバが自動で検出されてインストール・・・

あれ?BIOSのアップデートしか出てこない

とはいえ、BIOSもアップデートしたかったので、

BIOSアップデート。

後、もう一回チェックしてドライバが出てくることを願って

ダメでした。

これ使えばやってくれると思ったんだけどなぁ。

ひとつひとつドライバダウンロードしてインストールするかぁ。

ということでHpのサポートサイトからドライバをダウンロード・・・

と思ったら、自動検出がある。

頼むぞ。

ひとつひとつドライバダウンロードインストールなんてしたくない。

めんどくさい・・・。

ダメだった。

でも、なんかダウンロードインストールを楽にしてくれる機能があるっぽい。

お勧めしてきた。

ドライバを選んで、インストールアシスタント使って

インストール

インストールの操作はやらないといけなかった。ポチポチ入れていく。

で、なんやかんやで提供されているドライバを全部インストールしたけど

まだこんなに認識されないデバイスが・・・

なんで?

ほかに手段って?デバイスベンダーのドライバ?

ってことで、今度はインテル提供のドライバを探してみることに

すると、Intelのアシストツールがあるっぽいのでインストール

で、3つほどドライバを指定されたけど、

インストールしてみても状況が変わらなかった。

最後の手段。

認識されていないデバイスをダブルクリックでプロパティを開き、詳細から

プロパティで"ハードウェアID”を選び、

値を全選択からコピー

Copilotにぶん投げる

それで案内されたサイトへ行くと、Hpのコミュニティサイト

に同じ悩みの人がいて、

このドライバインストールしろという回答が。

それに倣ってそのexeをダウンロードし・・・

いちおう署名を確認し、HPが発行したexeであることを確認

念のため、VirusTotalでも確認

で、インストール。

これを繰り返し。

最終的には2つだけ不明のままだけど、

それはもうあきらめることにした。

このPCはWSLでKaliLinuxを入れていろいろやる用にする予定。

 

ヤフオクで買ったSpectreX360のバッテリーとSSDを交換 その①

去年の年末ですが、

ヤフオク(というかヤフオク経由のヤフーフリマ)でHpのSpectreX360を買いました。

ちょっと割引してもらえて送料込み32,000円でした。

 

荷物を受け取り、開けてPCを触ると(年末の寒波の影響で)めっちゃ冷たかったです。

そのせいか、PCが起動しない。充電もされない。不良か?

このタイミングで出品者に、

「なんかPC起動しない。充電もされない。」

出品者「返品可能だけど、どうする?」

「もうちょい様子見する」

的なやりとりをしつつ、

しばらく放っておいたけど、全然冷たいままなので電気カイロでちょっと温めたりして、すると充電ランプがついた。

お、っと思って電源入れるとちょっとついてすぐ落ちるので、1時間ほど充電しながら放置。

そして、ついに

HP Battery Alert

BIOS has detected that the storage capacity of the internal battery has been reduced.

This may be caused by environmental factors such as low ambient operating temperature, or it could be due to battery pack aging.

ふむ。やっぱり寒くてバッテリーがやられた可能性がある。

出品者と「HP Battery Alert Primary(internal) Battery(601)が出るんだけど、これって前から出てた?」

「無かったよ」

という感じのやりとり。

(まぁ、最初から弱っていただろうけど)やっぱり、寒さでやられたか・・・

出品者から「満充電させてBattery Checkやったらエラー消えるから。」と言われたので、試してみるが

ダメだったわ。

まぁでも、OSは起動したし、バッテリーは補償対象外というのは出品内容に書かれていたので、返品はなし。支払処理。

 

起動するたびにBattery Alert画面が出てめんどくさいのと、充電していないと起動すらしないので、持ち運び前提のPCとして使うし、バッテリーも交換しよう。

そもそもSSD交換する前提で買ったから、そもそもパネル開ける予定だったし。

このPC、ストレージ容量が少ないのよね。なので、SSDは交換前提で落札

スペックも再確認。

OK。パネル開けるのは、湿度のある日にしよ。でしばらく放置。

 

で、年明けの雨の日。湿度も45%あるので、

「(時間が経ってやる気が落ちてきたけど)やるか。」

で、バッテリーを購入するためにパネルを開けてみる。

このPCはSSD交換やバッテリー交換の手順が公開されているし、色々な人がブログとか書いてくれているので、情報がすぐに入手できて楽。

ゴム足をはずしてネジを露出させたところ。

ん?これ、開けた形跡があるな。

奥側のネジから外していく。

ていうかネジ外すと、パネル浮いてくる。

爪折れてるかも・・・。

手前側のネジをはずすと、

どっちもM2XL3.5と指定されているのに、それぞれネジが違う。

ちなみに(M2XL3.5指定の)奥側のネジと比べると、どっちも違う。

たぶん、奥側のネジが正しい。手前は長さが足りてないし。ネジもいいのがあったら交換するか。

 

パネル開けました。

バッテリーの品番を確認・・・

ん?ここネジないじゃん。

ここなんて、割れてる&ネジないじゃん。

まぁ、いいや。

バッテリーの型番は・・・HSTNN-IB8R

Amazonに互換バッテリーが売っているけど、リチウムは燃えるから怖いのよね。怪しいのは避けたい。

ミスターサプライというオンラインショップに純正が税込み11,860円で売っているっぽいのでそこで買うことにする。互換品も税込み8,890円で売っているけど、とりあえず純正でいいや。

で、ポチろうとしたけど、アカウント作るのめんどくせぇ。

Amazonで出品してくれていたらうれしいな。と思いながらAmazonを検索したけど、なさげ。

でも楽天には出店しているっぽい。送料込み11,980円。

こっちで買お。

 

あと、OSリカバリできるようにしなくちゃ。

SSDのコピーという手もあるけど、個人的には中古で買ったPCに入っていたOSをそのまま使わない。なんか仕込まれているかもなので、毎回、公式からダウンロードしたものに入れ替える。(まぁ、ハードウェアとかOSより下レイヤーに仕込まれていたらアウトだけど)

で、Hp Cloud Recovery Toolをインストールし、

次へ次へとポチポチ

背面パネルにあるProdIDを確認し、入力

「製品IDが一致しないか無効です。」

いや、あってるんだけど。と言いながら何回か入れ直ししていると

「試行の失敗回数が多すぎます」

ていうか、1文字打つたびに勝手に自動試行(チェック)しといて、失敗回数が多いってなんだよ。

もういいや。めんどくさい。OSは、Microsoftが公開している製品版Windows11入れて、あとから足りないドライバを入れることにする。

 

今ついているバッテリーは廃棄するので、安全のためにバッテリー内の電気を空にするために、(スリープしないように設定して)Windows起動したまま、放置。

 

続きは作業後にその②で

使ってたWindows11が"お使いのバージョンのWindowsはサービス終了を迎えました。"とか出てたので、isoを使ってアップグレード

Windows Updateの"注意が必要"というメッセージが出ていたので、

Updateやるか。と開くと、

"お使いのバージョンのWindowsはサービス終了を迎えました。"

更新プログラムのチェックを何回やってもバージョンアップが出てこない。

今のバージョンなんだっけ?

22H2?

あれ?なんで?

このPC、結構頻繁に使っていて、WindowsUpdateも月一ではやってたよ?

なんで?

 

まぁいいや。iso使ってアップグレードするか。でisoをダウンロード

https://www.microsoft.com/ja-jp/software-download/windows11

 

isoファイルそのままマウントで出来るんかな?

とりあえずやってみよう。でマウント

setup.exeを実行

しばらく待ち。たぶん裏でなんかダウンロードしている。

そのあとはなんやかんや

そのままインストール

アップグレード完了。

バージョンを確認。

24H2。。

アカウントもそのまま。データも問題なし。

完了

 

 

Cドライブがなんか枯渇してると思ったらhiberfil.sysってデカいファイルがあった

検証機でVMを作ろうとしたところ、

なんで?

Dドライブは余裕あったはずだけど・・・

と思いながら確認するとCドライブが枯渇してた

 

VM作成に失敗したのは、VMの構成ファイル保存先がCドライブだからだとして

なんでCドライブ枯渇してんの?
ということで、隠しファイル表示オプションもONにして、

どのフォルダ配下でディスク領域が使われているのか巡回してみたけど

C:\HyperV 7.01GB

C:\Intel 0GB

C:\PerfLogs 0GB

C:\Program Files 8.22GB

C:\Program Files (x86) 3.09GB

C:\ProgramData 3.63GB

C:\Recovery 0GB

C:\Windows 30.17GB

C:\Users 38.28GB

 

は?怪しい箇所が無いんだけど・・・

しようがないのでツールを入れて確認する。

CopilotのおすすめはTreeSizeというものらしいので、それのFree版をダウンロード

念のため、VirusTotalインストーラーをウイルスチェック

 

インストール後、Cドライブをチェックしてみると

なんか127GBのでかいファイルがある。なにコイツ?hiberfil.sys


調べてみると、Windowsハイバネーション(休止状態)に入る際にメモリの内容を保存するためのファイルらしい。

このPCは128GBのメモリを載せているので

 

CドライブなんてほぼOSとかでしか使わないから256GBのSSDでいいや。ってしてたのに、それじゃダメだった。

Dドライブとかにファイルを移行させようかと思ったけど、それはできないらしい。

 

いちおう、

powercfg /hibernate off

で、ハイバネーションを無効化し、ファイルを削除できるっぽい

 

また、サイズ変更もできるっぽい。/sizeに何%の数字を指定すること感じ
powercfg /hibernate /size 50

これだと50%だから128GBの半分で64GBになるはず。

試しに実行

すかさず確認

お、ちゃんと半分になってる。

とはいえ、これだと多分、64GB以上メモリを使っているときにハイバネーションが使えないはず。

64GB以上使うことはざらにあるし、スリープさせることもあるのであんまり良くない。

というわけで、512GBのSSDに変えることにする。OSもインストールし直し。

Cドライブ使わんから小さいSSDでいいや。にも落とし穴があることを知りました。

記憶域スペースダイレクト(Storage Spaces Direct)に使ったSSDが511MBしか認識されていないのでDISKPARTで対処

Azure Stack HCIでクラスタシェアードボリュームの記憶域スペースダイレクト(S2D)に使われたSSDを再利用(Azure Stack HCIを一から再構築したり、使っていたSSDを別のことに使いまわすなど)しようとすると511MBしか認識されてなくて、再利用にひと手間かかる。

こんな感じ

Windowsの"ディスクの管理"でみるとこんな感じ。

そして、記憶域保護パーティションと出ている通り?右クリックから"フォーマット"や”ボリュームの削除”はグレーアウトしてて(キャプチャ撮り忘れたけど)使えない。

"ディスクの管理"ではない別の方法で解決する必要があるのだが

"DISKPART"ツールで"Clean"を使ってすべてのパーティションを削除すれば解決する

Diskpartで見たSSDもこんな感じ。

 

Disk0~2のSSD3本をDISKPARTのCleanでディスクの全パーティション削除

PS C:\Users\Administrator\> diskpart
Microsoft DiskPart version 10.0.25398.1

Copyright (C) Microsoft Corporation.
On computer: ASHCI02

DISKPART> list disk

Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 238 GB 0 B *
Disk 1 Online 238 GB 0 B *
Disk2 Online 476GB 1024KB *

DISKPART> select disk 0
Disk O is now the selected disk.

DISKPART> clean
DiscPart succeeded in cleaning the disk.

DISKPART> select disc 1
Disc 1 is now the selected disc.

DISKPART> clean

DiskPart succeeded in cleaning the disk.

DISKPART> select disk 2

Disk 2 is now the selected disk.

DISKPART> clean

DiskPart succeeded in cleaning the disk.

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn      Gpt
  --------  -------------  -------  -------  ---      ---
* Disk 0    Online          238 GB    238 GB             
* Disk 1    Online          238 GB    238 GB             
* Disk 2    Online          var GB    var GB             
* Disk3     Online          var GB   var KB              *

DISKPART> exit

Leaving DiskPart...
PS C:\Users\Administrator>



SQL Server Linuxコンテナを使ったところ、日本語が?に文字化けしたので調べてみたら

プログラムの単体テスト用DB(SQL Server)として、LinuxコンテナのSQL Serverを使ってみてるのですが、テストデータを何にしようかな、とSQL Server Management StudioからポチポチInsertしてたところ、文字化け。

もう夜遅いので今度調べよう。と、寝ました。

で、今日。調査開始。

まずはSQLserver2022 On LinuxのDockerコンテナをPowershellで起動

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=P@`$`$w0rd" -p 1433:1433 --name sqlsv22 --hostname sqlsv -d mcr.microsoft.com/mssql/server:2022-latest


DB作って、テーブル作って、日本語のデータをInsert。
テーブル構成も日本語のデータが登録できればいいので適当。

CREATE DATABASE testdb;

use testdb;

CREATE TABLE test (
    id INT PRIMARY KEY,
    message VARCHAR(255)
);

INSERT INTO test (id, message) VALUES (1, 'おはよう');

INSERT INTO test (id, message) VALUES (2, 'Good Morning');

select * from test;

とりあえず、再現OK。"おはよう"は文字化けして????になってる

で、SQLServerを使っていてそんな感じになった記憶が無いので、日本語バージョンでインストールしていたからかな?と思い、WindowsServer上にSQL Server2022をインストールしてみて同じようにやってみた。
そしたらやっぱり文字化けしていない。

じゃあ、英語バージョンで同じようにやったら文字化けするんだろうなぁ、と思いWindowsServer上に英語バージョンのSQL Server2022をインストールし同じように実行したところ、文字化けしていない。なんで?

調べたところ、2012年のSQL Server Japan Support Team Blogに「非 Unicode から Unicode への変換ができなかったから」、「データベースの照合順序がLatin1_General_CI_ASの場合」にデータが?になるとのこと。

確かにコンテナのSQL Serverインスタンスは照合順序が"SQL_Latin1_General_CP1_CI_AS"

なので、試しにCREATE DATABASEステートメントでデータを入れるDBの照合順序をJapanese_CI_ASに指定してみる。

CREATE DATABASE [testdb] 
COLLATE Japanese_CI_AS;

USE testdb;

DROP TABLE IF EXISTS test;

CREATE TABLE test (
    id INT PRIMARY KEY,
    message NVARCHAR(255)
);

INSERT INTO test (id, message) VALUES (1, N'おはよう');
INSERT INTO test (id, message) VALUES (2, N'Good Morning');

select * from test;

すると文字化けしなくなった

もう一個試し。いま稼働しているコンテナを削除し、

docker runでカスタム SQL Server照合順序を指定(-e "MSSQL_COLLATION=Japanese_CI_AS")を追加

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=P@`$`$w0rd" -e "MSSQL_COLLATION=Japanese_CI_AS" -p 1433:1433 --name sqlsv22 --hostname sqlsv -d mcr.microsoft.com/mssql/server:2022-latest

"Japanese_CI_AS"になっていることを確認

それからこのままCreate Database、Create Table、データInsert。

文字化けしてないことを確認

で、もうひとつ実験。

いま稼働しているコンテナを削除し、もう一回、カスタム SQL Server照合順序を指定せずにDocker run

Create  Databaseでも照合順序を指定せず、テーブルのカラムmessageの型を"VARCHAR"ではなく、"NVARCHAR"に指定。日本語をInsertの際、Unicode文字列として処理されるようNプレフィックスを付ける

CREATE DATABASE testdb;

use testdb;

CREATE TABLE test (
    id INT PRIMARY KEY,
    message NVARCHAR(255)
);

INSERT INTO test (id, message) VALUES (1, N'おはよう');
INSERT INTO test (id, message) VALUES (2, 'Good Morning');

select * from test;

これも文字化けしない。

 

じゃあ、今後どれで行こうかというとDocker runの時のカスタム SQL Server照合順序指定でいいかな

Windows11 HomeをProにアップグレードしたあと、初期化するとまたHomeに戻るの?Windows11 Home Editionのパソコンを買ってしまったんだけど、どうやったらMicrosoft365アカウント専用端末にできるの?

年末にBingポータルにMicrosoft StoreでSurfaceセールの広告があったので覗いてみたところ、メモリ32GBでCPUがi7のSurfacePro8が税込み約26万円で売っている。

これは安いのでは?高いけど

今使っているノートPCが4年目に入っていることと、メモリが16GB載っているけど常時10GB使っていて、場合によってはVMがメモリ不足で起動しないことも出てきているため、来年あたり買い替えかなぁと思っていたのですが・・・。カメラも死んでるし。顔認証使えない・・・

30万円以内だと少額減価償却資産として買える。メモリ32GB欲しい。

14インチ以内、タッチパネル、メモリ32GB。欲しい。高いけど

来年、メモリ32GBのSurfacePro9が30万円以内でセールされるタイミングで買うか、このタイミングで買うか・・・。もしかしたらほかに良いの安いのが出てくるかも。

でも、2024年は家から出て作業することが増えそうなんだよなぁ。そうするとやっぱ、メモリ不足は足をひっぱる気がする。

延長保証付きでポチりました。28万円

と、パッケージを眺めると

Windows 11 Home

Home?Surface Proって言ってるのにHomeなの?うそでしょ。マジで?見てなかったわ

とりあえず初期設定するか・・・

Microsoftアカウントしか使えないんだけど。365アカウントで設定したいんだけど?

いちおう、道がないか探してみる。

どこ開いてもMicrosoftアカウントでしか設定できない。ていうか、ローカルアカウントも許されない。ていうかネットにつなげないと次へ進めなかったし、絶対にMicrosoftアカウントという強い意志を感じる初期設定画面

いちおう念のため365アカウントを入力してみるが、「Microsoftアカウントじゃないじゃん」で門前払い

しようがないので、あとでProにしてから365アカウントで作り直すか・・・と思いながらMicrosoftアカウントで初期設定。

でも、これをこのあとProエディションにするとして、Microsoftアカウントのプロファイルとか要らないから初期化してMicrosoft365アカウントで初期設定し直したいんだけど、初期化したらまたHomeに戻るんじゃないの?

初期設定でProにアップグレードするような場面も無かったし

初期設定終わってログイン。あたりまえだけどやっぱりWindows Home

とりあえずProにアップグレード。ライセンスは持っているので、Microsoft Storeからの購入ではなくプロダクトキーの変更

再起動後

Proになった

ここからが本題。この↓MicrosoftアカウントはPCから抹殺したいので一度初期化し、365アカウントで初期設定すること

つまり、初期設定でProバージョンになってくれないとまたMicrosoftアカウントで行うことになる。目的を達成できない。

それどころか下手したら、適用したProのプロダクトキーがもう使えないゴミになる可能性もあるんじゃないか、と思いながら初期化

初期化完了。初期化設定へ。これさっきのHomeと同じだぞ。大丈夫か?

たのむぞ

きたーーーー。これProだよコレ

よっしゃぁぁぁ

 

結論

HomeからProにアップグレードしたデバイスは初期化してもProのままにできる