2022年10月4日火曜日

DELL Inspiron 14 3452 復活奮闘記

DELL Inspiron 5458を使用していますが、しばらく前にキーボードの一部が反応しなくなってしまいました。交換部品を探したがお手軽なものがなく、ヤフオクやメルカリで5458の出物をしばらく待っていましたが、安いものはキーボードのテストをしていないとか、メモリもHDDも取り外されて廃墟状態になったようなものばかり。

そこで、同じ型のキーボードと思しきInspiron 3452をヤフオクで落札(これもジャンク品)。送料込で3,500円。結果的には目的のキーボードに加え、ACアダプタと8Gバイトメモリも入手できたので十分元は取れたと思ってます。

残りは部品取りに使えればよいと思って思っていました、分解、組み立てを行っているうちに具合が悪かったキーボードが何かの拍子に復活し、3452も一応使用可能な状態に組み上がりました。そうなるともったいなくなり、なんとか使える状態にしておこうと奮闘が始まりました。

奮闘というのは、3452というモデルが32G eMMCが換装不可で、HDDスペースは空いているもののコネクタがないといった、いささか特異な仕様が故です。入手したときには容量不足でWindows Updateもできない状態に陥っていました。

この貧弱な仕様のおかげでWeb閲覧やメール程度の使用しかしていなかったのか、ジャンク品とはいえキーボードもACアダプタも良好でした。部品取り目的なら3452は狙い目かもしれません。

私が入手したマシンはCPUがCeleron N3050 2コア、Windows 10 64bitで、サクサク感はイマイチながら光学ドライブ、HDD無しなため5458より軽量になってます。あれこれ試してみた結果、ちょっと持ち歩いて軽い使い方をするには悪くないと思い始めてます。

さて、インタネットで見ると皆さん工夫したり、苦労したり、諦めたりしているようです。

クセが強いジャンクの Dell Inspiron 14-3452 へ Linux をインストールしてみた。

Dell Inspiron 14-3452 eMMC 32GB Win10 ⇒ 1709 アップデート作法

Inspiron 14 3452のメモリ増設とSDDの交換ってできませんか?

amazon カスタマーレビュー


これらを参考にいろいろ試したので、今後のために書き留めておきます。
なお、手間がかかるので追試検証など不十分です。

--------------------

番外編
DELL Inspiron 5458のキーボード故障への応急対策
一部のキーが無反応になったため、まずはWindows付属のスクリーンキーボードで対応。
キー入力の途中でキーボードからマウスに手を移すのが面倒なため、KeySwap for XP を導入。普段使わないFuntion keyへ割り当てる。

5458とキーボード互換のモデル
Ali-Expressのキーボードの広告があった。これ自体はBR(ブラジル?)キーボードのものだが、キーボード表裏の写真から互換性がありそうと判断し、3452の購入を決めた。3452と互換性があるモデル、と言い換えもできる。保証はないが互換性がある可能性大。

Dell Inspiron 14-3000 3441 3442 3443 3451 3452 3458 3459 5447 5442 5445 5448 5451 5455 5458 7447 5452 5457 5459用brキーボード

準備
バックアップ
お約束として、大幅なシステム変更を行う前はバックアップを取りましょう。システムイメージを作っておいたほうよいでしょう。

--------------------

レベル1
特別なことはせず、そのまま使う場合のTIPS

ディスククリーンアップ
Cドライブの空き容量を少しでも増やす。
エクスプローラでCドライブを選択⇒プロパティー「ディスクのクリーンアップ(D)」
⇒「OK」実行
⇒プロパティー左下の「システム ファイルのクリーンアップ」も実行

dism.exeというコマンドでクリーンアップする方法もあります。これで更新ファイルを全部削除するようです。
>dism /Online /Cleanup-Image /RestoreHealth 

Windows Updateのクリーンアップ
設定⇒システム⇒(左ペイン)記憶域⇒「記憶域の管理」
またはWindows Update⇒「関連するリンク」グループの「ストレージを確認する」
⇒「ストレージセンサーを構成するか、今すぐ実行する」
⇒「今すぐ空き領域を増やす」の「今すぐクリーンアップ」

OneDriveの設定確認
タスクバーのOneDriveアイコンクリック
⇒設定(歯車アイコン)⇒設定(メニュー)
⇒「ファイルオンデマンデド」がチェックされていることを確認

Windowsオフラインアップデート
メモリ容量不足の場合はインストールメディアを作り、オフラインアップデートを試す。

Microsoftの「Windows 10 のダウンロード」ページ
⇒「ツールを今すぐダウンロード」をダウンロードでUSBインストールメディアを作成
最新のメジャーリリースなので、既存バージョンより新しいとは限らない。

USBインストールメディア装着
⇒再起動時にF12キー連打
⇒起動オプション表示
⇒USB起動(バッテリー不良でBIOSの警告画面が出るようなら、バッテリーを外して起動)
⇒言語/キーボード選択⇒OK
⇒「今すぐインストール」
⇒「適用される通知とライセンス条項」
⇒(同意するなら)「同意します」にチェック⇒「次へ」
⇒「アップグレード:Windowsをインストールし、ファイル設定、アプリを引き継ぐ」


Windows再インストール
実は、私はWindows 10を再インストールしています。中古で入手し、容量不足でWindows Updateもできない状態ですから、そこから復旧する意味はありません。Windowsオフラインアップデートと同じ要領でインスールメディア作り、内蔵eMMCを初期化してインストールしました。

インストール後、いくつかドライバが正常動作しません。Dellのサイトからダウンロード、インストールします。

ドライバアップデート後にWiFiのパスワード再設定が必要。

Windows再インストール直後にフォルダ構成変更を行う場合は、Windows Updateを一旦停止するのがよい。作業中にもバックグランドでダウンロードやインストールが行われるため、作業に支障が出たり、フォルダ移動により不具合が出る可能性がある。

Windowsアップデートの一時休止
フォルダ移動の作業中にもWindowsアップデートがバックグランドで動作し、Cドライブの容量が不足する可能性がある。作業が一段落つくまでWindowsアップデートを休止する。

休止モードの無効化
休止モードが有効だとC:\hiberfil.sysに復帰のためのデータが保存されるため、Gバイト超えに肥大する。

メインメモリに余裕がないためか、設定の電源オプションには休止モードの有効/無効に関する項目が表示されないが、hiberfil.sysが肥大化していた。そのため、コマンドで無効にする。管理者モードのCMD.EXEで実行する。

>powercfg.exe /hibernate off

hiberfil.sysは「保護されたオペレーティングシステムファイル」に属するため、デフォルトではエクスプローラで表示されない。エクスプローラのオプション⇒表示で「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外す。
CMD.EXEのDIRで表示するには"/AS"のオプションを付ける。

バッテリー切れになるとシステムダウンとなるので、長時間のスリープには注意が必要になる。


ライブラリの移動
「ドキュメント」「ピクチャ」「ミュージック」などのライブラリをUSBメモリに移動。
「ドキュメント」などのフォルダを右クリック
⇒プロパティ⇒場所
⇒フォルダパスを変更(ドライブ名をUSBメモリのドライブ名に変更)⇒移動
⇒「フォルダー"...."は存在しません。新たに作成しますか?」の場合は「はい(Y)」
⇒移動の確認ダイアログ「はい(Y)」


新しいコンテンツの保存先変更
設定⇒システム⇒ストレージ⇒新しいコンテンツの保存先を変更する
CドライブからDドライブへ変更

OneDriveを移動
サブマシンとして使用する場合、OneDriveでメインマシンとデータ共有しておくと用途が広がる。

OneDriveのフォルダに指定するドライブはNTFSでフォーマットされている必要がある。
USBがFATでフォーマットされている場合は次のコマンドで変換可能。
>convert D: /fs:ntfs ("D:"の部分は実際のドラブ文字で置き換え)

タスクバーのOneDriveアイコンクリック
⇒設定(歯車アイコン)⇒設定(メニュー)
⇒ アカウントタブ⇒「このPCのリンク解除」
⇒サインアウト後、OneDrive設定のダイアログ表示
⇒「OneDriveを設定」ダイアログ⇒アカウント入力しサインイン
⇒「OneDreveフォルダー」ダイアログ⇒左下の「場所の変更」でUSBへ移動

USBへ移動後はファイル オンデマンドをOFFにしておいた方が良いでしょう。
上の「OneDriveの設定確認」参照


Tempの移動
Windows使用中にTempにデータが溜まり、容量不足の原因になります。シャットダウン後も残るデータもあります。USB3.0ならTempも移動した方がよいでしょう。USB2.0だと速度の問題が出そうです。
  • Temp移動は起動直後に行う。
  • Cドライブのプロパティーで一時ファイルを削除する。
     「ディスクのクリーンアップ」で「一時ファイル」を削除
     「システム ファイルのクリーンアップ」で「一時ファイル」を削除
  • Tempフォルダにファイルが残っている場合は、移動先のTempフォルダにコピーする。
  • robocopyコマンドでコピーした方がファイル属性が保存されて安全だと思います。
    実行例(管理者権限でcmd.exeを起動)
    >robocopy C:\Windows\Temp D:\Windows\Temp /MIR
    >robocopy C:\Users\usrename\AppData\Local\Temp D:\...\Temp /MIR
  • 環境変数のTEMP、TMPをUSBメモリのパスに書き換える
    参考:【Windows10】一時フォルダを別ドライブに移動して高速化する
  • 変更直後に再起動
再起動後、不要になったTempフォルダが空でない場合は削除する。
私は、念のため一旦フォルダをリネームし、再起動後にフォルダ内のデータを削除し、空のフォルダを残した。(環境変数に関わらずC:\Windows\Tempを使用するプロセスがあるようだ。)
Tempフォルダのリネーム、削除がアクセス権なしで失敗する場合は、cmd.exeを管理者権限で起動し、ren、rmdirなどのコマンドで操作する。

--------------------
レベル2
USBメモリまたはSDカード常時装着&固定ドライブ化
速度的にはUSB3.0(以上)がお勧めです。本体左側がUSB3.0、右側がUSB2.0です。
USB3.0なら内蔵eMMCと同等の速度が期待できます。
SDカードスロットはUSB2.0なので、高速なSDカードを使ってもそれなりの速度しかでません。
以下、SDカードも含めUSBメモリとします。また、ドライブ文字をDとします。

どのような方法にせよUSBメモリにデータを保存すれば紛失時のデータ流出の危険があります。そのような心配のない用途に限るか、心配なら(私は試していませんが)BitLockerによる保護などが必要です。

eMMCやUSBメモリのデータ圧縮はまだ試していません。Cドライブ全体を圧縮すると起動が遅くなると決めつけているからですが、Cドライブの残り容量があまりに少ないので検討してみる予定です。

USBメモリを固定ドライブ化
アプリケーションをUSBメモリにインストールをしようとすると「インストール ディレクトリはローカル ハード ドライブにあることが必要です。」と警告される。
そこで、いくつかの方法を試した。
ファイル/フォルダ削除でゴミ箱移動が可能になる方法もある。

USBメモリにアプリをインストールした後、アンインストール時に,msiフォルダが作成できないというダイアログが表示され、アンインストールに失敗することがある。検証不十分だが、パーティションをactiveにするとエラーが発生しなくなっている。

方法1
USBメモリ上のファイルをVHD(Virtual Hard Disk)に割り当てる。
HDDとして扱ってくれることで、アプリケーションのインストールやライブラリ類の移動、ファイル履歴の保存先に選択などが行える。

また、リムーバルディスクの場合にファイル/フォルダ削除はゴミ箱への移動ではなく完全削除となり、かつ削除のたびに「このファイルを完全に削除しますか?」のダイアログが表示されるが、この方法だとファイル/フォルダ削除がゴミ箱移動となる

VHDは再起動時にマウントする必要がある。タスクスケジューラで自動マウントを設定する。


タスク設定時にユーザのパスワードを要求される。PINではダメなので、ローカルユーザに変更し、パスワードを設定しておく。

欠点として、(設定の問題があるかもしれないが)サインイン前にマウントが完了していないことが多く、その場合にサインイン時の環境が不完全な状態となる。手動でマウントするか、エクスプローラの再起動や再サインインが必要が必要になる。これが許容できるなら、良い方法と思う。

サインイン直後にマウントが完了していないとディスクトップ、タスクバーの再現ができないため、デスクトップはDドライブに移動した。この場合、デスクトップからのファイル削除は完全削除となる。

VHDは起動時にはまだマウントされていないため、起動時に他のUSBメモリが装着されているような場合、若いドライブレターが先に適用される。そのためVHDのドライブレターはD、Eなど他のメモリに使われる可能性があるものは避ける。私はVを割り当てることにした。

方法2
ディスク管理を使用し、USBメモリのパーティションをCドライブ上の空のフォルダにマウントする。

アプリケーション インストール先をこのフォルダ下に設定すると、インストールは完了し起動するが、アンインストール、修復で失敗した。何か設定に問題があったのかもしれない。

もし試す場合は、バックアップからの復旧か再インストールの準備をしておくこと。

もしアプリ削除で問題が発生したら、USBメモリに移動したライブラリ類を標準に戻して、アプリ削除/再インストールを試みる。それでもダメだとバックアップへの復旧か再インストールとなる。

方法3
USBメモリに(例えば)”C:\Program Files (USB)”フォルダを作り、次のコマンドでCドライブにリンクを作る。
>mklink /J "C:\Program Files (USB)" "D:\Program Files (USB)"

アプリケーション インストール先をこのフォルダ下に設定する。インストールは完了し起動し、アンインストール、バージョンアップも成功した。

VHDマウントのタイムラグの問題がないため、この方が良い場合がありそう。

方法4
USBメモリ上のフォルダを共用にし、ネットワークドライブに割り当てる。
このドライブはファイル履歴の保存先として選択可能になる。
あまり好ましく思えなかったので、よく試していない。

--------------------
レベル3
肥大化するフォルダ、サイズの大きいフォルダをUSBメモリへ移動する
多くのフォルダアクセスで管理者権限が必要となる。以下の手順でアクセス拒否が発生した場合は、管理者権限でCMD.EXEを起動し、コマンドで操作する。
また、USBメモリへのデータコピーは属性保存のため、原則としてrobocopyを使用した。
アプリケーション起動後に残る常駐プロセスのためにフォルダはリネームができない場合がある。その場合は再起動直後に行う。
バックグランドの常駐サービスが使用しているためにリネームができない場合がある。その場合は回復の再起動でコマンドプロンプトを表示し、リネームした。

バックアップを作っておく
不具合が発生した場合、最悪Windows再インストールの可能性もある。
これ以降に進む前に、バックアップを作っておいた方がよい。

仮想ハードディスクもバックアップ対象のドライブとして選択可能になるが、USBメモリはWindowsバックアップに含めず、別にrobocopyでコピーする。試していないが、再起動不可の場合はVHDドライブのマウントもできていないので、復元に失敗すると思う。

また、USBメモリにライブラリなどのフォルダを移動するためか、システムイメージは作成できるが、ファイルのバックアップには失敗する。

ページングファイルの縮小
メインメモリが不足するとPagefile.sysに書き込まれ、肥大化する。
固定HDDがある場合などは別ドライブにPagefile.sysを移すことができるが、USBメモリの場合は単純にはできない。
VHDをPagefile.sysにすることはできるが、Cドライブは使用せずVHDだけにPagefile.sysを作る設定だと、おそらく起動時にはまだマウントが完了していないためCドライブにPagefile.sysが作られた。
そこで、CドライブにPagefile.sysに200Mを固定で割り当て、VHDにPagefile.sysシステム管理で設定した。今のところこれで動作している。


AppDataのOneDrive移動
C:\Users\username\AppData\Local\Microsoft\OneDrive
  • OneDriveのリンクを解除する、終了
    タスクトレイのOneDriveアイコン⇒設定アイコン⇒「設定」クリック
    ⇒「このPCのリンク解除」クリック
    ⇒「OneDrive終了」クリック
  • OneDriveのデータコピー
    >cd C:\Users\username\AppData\Local\Microsoft
    >robocopy OneDrive D:\...\OneDrive /MIR
  • OneDriveリネーム
    >cd C:\Users\username\AppData\Local\Microsoft
    >ren OneDrive OneDrive~
  • リンク作成
    >mklink /J OneDrive D:\...\OneDrive
  • OneDrive再設定
     [スタート] ⇒[検索] ⇒[OneDrive] と入力⇒検索結果で [OneDrive] を選択
    参考:OneDrive の同期に関する問題を解決する
  • 再起動、動作確認後、リネーム後のOneDrive~を削除
AppDataのEdge移動
C:\Users\username\AppData\Local\Microsoft\Edge
「AppDataのOneDrive移動」と同様の手順でEdgeをコピー、元フォルダをリネーム、リンク作を行い、Edgeの動作に問題なければ元データを削除する。
Edgeが起動していなければ成功したが、再起動直後に行った方が確実。

AppDataのGoogle移動
Chromeをインストールした場合に実行。

--------------------
レベル4
危険度の高いフォルダ移動。
インストールされたアプリを移動する場合、USBメモリに異常が発生するとアプリのアンインストールができなくなる恐れがある。移動後、速やかにUSBメモリのバックアップを取る。

SoftwareDistributionの移動
WindowUpdateでフォルダが肥大化するため、”C:\Windows\SoftwareDistribution”をUSBメモリへ移動する。

DataStore.edbをコマンドで削除する方法ことで小さくすることができるそうだ。大きくなったらその都度コマンド実行するのも面倒なので、私はSoftwareDistributionを移動した。
  • Windowsアップデートで最新状態にする
  • Windowsアップデートを停止する
    >net stop wuauserv
  • 管理者権限のcmd.exeでコピー、リネーム、リンク作成
    >cd C:\Windows
    >robocopy SoftwareDistribution D:\...\SoftwareDistribution /MIR
    >ren SoftwareDistribution SoftwareDistribution~
    >mklink /J SoftwareDistribution D:\Windows\SoftwareDistribution
  • Windows Update再開
    >net start wuaserv
  • 問題なければリネームしたC:\Windows\SoftwareDistribution~を削除
SoftwareDistribution移動後にWindows Updateでエラーが発生したら、SoftwareDistributionを削除する。

Program Files (x86)のEdge移動
「AppDataのEdge移動」と同様の手順で以下のフォルダを移動。
  • C:\Program Files (x86)\Microsoft\Edge
  • C:\Program Files (x86)\Microsoft\EdgeCore
  • C:\Program Files (x86)\Microsoft\EdgeUpdate
  • C:\Program Files (x86)\Microsoft\WebView
  • C:\Program Files (x86)\Microsoft\Temp
Program FilesのGoogle移動
Chromeをインストールした場合に実行。

Program FilesのDell移動
SupportAssistをインストールした場合に実行。
「AppDataのEdge移動」と同様の手順で以下のフォルダを移動。
  • C:\Program Files\Dell
(リネームに失敗したら回復⇒再起動⇒詳細⇒コマンドプロンプ⇒コマンド実行)

--------------------
レベル5
HDD用空きスペースの利用
How to install SSD for Inspiron 14 3452?で紹介されている。

外付けHDD/SSDを使用するのがアプリインストール、バックアップなども含めて用途的にはUSBメモリより望ましい。SSDをUSB3.0に接続すると、CrystalDiskMarkの測定では内蔵eMMCの3倍近い速度がでた。

しかし、常に外付けを繋いでおくのはうっとうしく、軽量ノートパソコンの意味がなくなる。まだ試していないが、HDD用のスペースにSATA-USB変換アダプタを付けた内蔵HDD/SSDを入れ、USBコネクタと結線する。

USB2.0の口となら実現できそうだが、それだとHDD/SSDの速度は引き出せない。
SB3.0は、線の引き回しが難しそうで、ノイズが乗って期待どおりの速度が出ないとか、エラーが発生する可能性がありそう。

SATAコネクタ追加
マザーボードにはコネクタを取り付けるはずの端子が付いている。果たして実際に動作するかわからないが、腕に自信があり部品が調達できるなら試してみる価値はあるかも。

--------------------

現状のシステム構成
USB3.0にSunDiskの小型USBメモリを常時装着。(Dドライブ)
VHD.vhdフォルダを作成し、V:ドライブにマウント。
D、VにUser、Windowsなどの移動対象のフォルダを原則同じパスになるように設定。
ライブラリ類は移動時に新規作成してくれる。

Vドライブにはvhdマウントのタイムラグを許容できるもので、ファイル削除時にゴミ箱移動にしたいもの(ドキュメントなど)を移動。
Cドライブを圧迫しないよう、新規アプリケーションはVドライブにインストールする。

Dドライブにはvhdマウントのタイムラグの影響が大きいもの(デスクトップなど)を移動。TEMPなどWindowsが直接操作するものもDドライブへ移動。

OneDriveはvhdマウントの影響がでることがあるが、ドキュメントを置く都合でVドライブに移動した。

------------------------------

テスト中に利用したコマンド類
試みにUSBメモリをこの方法で初期化してみた。この目的では特に効果なし。

共有フォルダをネットワークドライブに割当たが、それを解除したときにドライブに☓印のついたアイコンが残り、消さなくなった。次のコマンドで解消。
>net use /PERSISTENT:NO
直後に再起動

ディスク使用状況チェック
DiskInfoを使用し、データ量の多いフォルダを探す。

------------------------------

ストレージRead/Writeベンチマーク
CristalDiskMarkによる測定結果

内蔵eMMC
USB3.0メモリ(SanDisk 64GB Ultra Fit USB 3.1)
シーケンシャルRWはeMMCに匹敵するが、ランダムアクセスで劣る。
頻繁にデフラグしておくのが望ましい。

SDカード(SanDisk Extream Pro 64G)
USB2.0らしい結果。

SSD-USB3.0接続
さすがに速いが外付けなので採用せず。

SSD-USB2.0接続

SSDでもUSB2.0では価値がない。