ライトブログ

どれかキーを押すと,続行します.

FMVU55JS 謎の100GBを解放させる

皆さんお元気でしょうか。 仕事が忙しくて(副業もはじめたため)ブログどころではないですが、ちょっと時間とネタができたので更新。

FMVU55JS

親戚経由でなぜか修理することになったマシン。
富士通製、2012年モデル。Windows8.1が元のOS。MSの例のあれでWindows10にアップグレードされてる。
すでに8年経過しており、そろそろ限界じゃないかと思うが、使用頻度が低いのか、バッテリやHDDなどの劣化は少ない様子。

ただし、めっちゃ重い。HDDマシン自体を数年ぶりに使ったのもあるが、新しいエクセルを開くのに1~2分も待つ。
それもそうだ、64BitOSのくせしてRAMが4GBしか積まれてない。
メモリ使用率は起動後で90%を推移してる。そりゃ重いわ。

そして、Cドライブの実際の使用量は70GBぐらいなのに、220GBあるCドライブのうち170GBが使われていて容量が減っている状態。

どう料理しようか

データバックアップを行いながら、どうやって料理するかを考えていた。
プランとしてはいくつかの案が浮かんだが、まず、ドライブをSSDにする。搭載されてるHDDは500GBなので、ニアリーな容量の480GBを購入。

  • Win8からWin10にアップグレードされている
  • 富士通製であり、プレインストールソフトが多いこと
  • リカバリ領域がDtoDであり、外部メディアへ書き出されてない
  • SSDに換装するにしても、この謎の100GBを突き止めたい
  • リカバリしたとしてもOffice2010のプロダクトキーが分からない(箱ごと処分されてる)

など、要件を詰めていった結果、
1. 不要ファイルの削除と100GBも食っているファイルを突き止めて消す
2. SSDへクローンして換装
3. リカバリディスクを作成
4. HDDはフォーマットして外付けとして利用
という方向で進めつつ、最後にRAM交換ができるかの検証と考えた。

不要ファイルの削除

さて、ここから着手するわけだが、まずHDDの状態から見ておきたい。ここで不良セクタでもあれば、そもそもが崩れるから。
CrystalDiskInfoで見る限り、S.M.A.R.T.に問題はない。

ディスククリーンアップが落ちる

ともかく、クリーンアップをすれば解消するでしょと思って、Cドライブのクリーンアップを実行してみる。
しかし、「ディスクのクリーンアップ」を押したあとに、「システムファイルのクリーンアップ」をクリックすると、クリーンアップの算出の画面で落ちる。

「おっ?」
初めてのパターンに遭遇。

そもそも、システムファイル正常なんだっけ?

この手のやつが落ちるということは、システムファイルが異常なのではと言えるため、 PowerShellsfc /scannow を実行してみる。

スキャンが終わらないというか進まない。

2時間ぐらい待ってみたが、途中で何の応答もなくなる。
これは思いのほか根が深い問題かも・・・

Dismコマンド

同じくPowerShellで、

DISM /Online /Cleanup-Image /Scanhealth
DISM /Online /Cleanup-image /Restorehealth

をやってみる。

Scanhealthは途中フリーズしてそうだったが30分程度で無事完了。
Restorehealthは失敗。
エラーコード: 8024402c

このエラーって、Windows Updateに失敗したときに出てくるんだよな、何でここでと頭を抱える。

Windows Updateをやってみる。

ここまでの作業は、実はネットから切り離して行っていた。(ちょっと怪しいアプリとかファイルがちらほら見受けられていて、ネットワークへ参加させるのにリスクがあったため)
オフラインでできる検査ツールを実行したり、怪しいものを消したり(ask(アドウェア)が入っていたので、何かに紛れ込んでインストールされたのか)して、安全を確認して接続。
相当な量のアプデが来たが、重要なものだけを実行してみる。

Restorehealthに成功

もう一度DISM /Online /Cleanup-image /Restorehealthをやってみた。今度は成功。
こうなれば、もう一度sfc /scannowをやるうまみが出てくる。
これも成功。破損したファイルがあって修復された。
やっぱり。おそらく、これでクリーンアップが動くはず・・・!

消えてないし

システムファイルのクリーンアップを実行しても落ちなくなり、これでいけるやろと思ったが、全然消えなかった。
というかそもそも、Cの使用量と、隠しファイルを含めたCにあるフォルダの全容量が100GBも合致しないって何

しばし考え、とりあえずWindows Update全部終わらして最新のバージョンにしてみる。
数時間かけてバージョンを最新にしてもう一度クリーンアップ。
「古いバージョンのWindows 100GB」
が出てきた。

・・・おまえか。速攻で削除。

これでようやく実際の使用量にニアリーになった。
重要データのバックアップを取り、ようやくSSD移植への布石が整った。

SSDへ換装

CrucialSSDには、標準でAcronics True Imageでのクローンができるようになっているため、今回はそれを使ってクローンすることにする。
特段面倒なことはないので省略。

クローンが完了したら、SSDへ換装する。
裏面のネジを外し、ふたを開ける。バッテリとM/Bの接続コネクタを外し、電源ボタンを何回か押し、放電。
バッテリを外し、HDDが接続されているM/B側のコネクタを真上に引き抜く。
HDDのネジを取り外し、SSDへ交換する。
HDDが接続されているコネクタがやたら堅く、焦るが慎重に。

やっぱり動かないDtoDリカバリ

SSDでWin10が起動した。
ふと、Win10になってパーティション構成が標準から変更されている状態で、リカバリユーティリティが動作するのかと思ったのでやってみることに。

まあ、動作するわけないよね。
Cドライブ単体のリカバリでさえだめだった。

リカバリディスクの作成

となれば、リカバリディスクの作成はWin10上ででしかできないことになる。
バックアップナビより、リカバリディスクを作成することに。

リカバリディスクセットの作成には、空のDVDが6枚必要です」と書いてあり、USBメモリにできるようにしてほしいと思うが、仕方ないのでDVD-R 50枚をAmazonで購入。(大体この手のやつ、1~2枚失敗するから多めに。)

案の定、3枚目の作成で失敗した。もう一度作成したら成功したので良かったが、めっちゃ焦った。

リカバリディスクセットの作成が完了。
恒例の回復ドライブの作成も終わり、これでシステムデータの保全もできた。

なんか重い

それにしても、なんかもたつく気がする。
低電圧版i3だし、RAMも4GBしかつんでないから、重いのかなとかいろいろ考えていたら、どうやらディスクアクセスが重い

特に、WindowsのログオンのPW入力⇒デスクトップ表示までがもたつく。

高速処理用SSDがあまり高速でなかった

ameblo.jp blog.clock-up.jp mazda77.hatenadiary.org https://sp.ts.fujitsu.com/dmsp/Publications/public/ti-intel-rapid-start-performance-technology-eng.pdf

調べていくと、このPCは、HDDの遅さの軽減のため、24GBのSSDを搭載しており、そこにデータをキャッシュするExpressCacheと、休止⇒復帰を高速化するIRSTのパーティションが設けられていることが分かった。
言われてみれば、HDD単体よりちょっと速いなと思っていたが、これのおかげということだ。

最後のリンクの記事内のとおり、

  • キャッシュ用SSDの速度>OSのストレージ(HDD)の時はこれは有効に働く
  • キャッシュ用SSDの速度<OSのストレージ(SSD)となるときには、単なるボトルネックにしかならない

ということだった。

SSDの速度を測ってみる。

高速処理用SSD

f:id:core7-booker:20200513221601j:plain

CrucialSSD(換装したSSD

f:id:core7-booker:20200513221558j:plain

このPCの場合、キャッシュが利用される場合の処理のフローは、CPU/RAM↔高速処理用SSDSSDとなるわけだが、高速処理用SSDのほうが遅いため、ただのボトルネックでしかない。
なので、IRSTとExpressCacheの両方をアンインストールして再起動。
再起動後、ディスクの管理から高速処理用SSDのドライブをフォーマットしたが、使い道なさ過ぎたので未割当にして放置することにした。

ディスクアクセスのもたつきは消えたように感じる。
ログオン⇒デスクトップ表示までの時間も短縮されたように感じる。

RAMの限界突破してみる?

さて、ここまでやってきてやっぱり気になるのが、メモリ不足だ。
SSD換装や不要ソフトのアンインストールで多少は良化しているが、まだ80%台を推移している状態。

CPU的にはメモリの上限は32GBであり、富士通のHP上で4GBと書いてあるに過ぎない。
ヤフオクで見ても、4GB×2で3,000円ぐらいだし、買ってみることに

メモリの交換

メモリの交換は、SSDの交換より簡単。
なぜならバッテリ外さなくてよいから。(バッテリのケーブルは抜いて放電はしてください。壊れる可能性あり。)

動いた

UEFIでも認識している。
Windowsも起動する。
Windowsメモリ診断も通った。
富士通のハードウェア診断ツールも正常にPASSした。

使用率も40%未満まで下がった。 全体的なレスポンスも向上した気がする。

古いHDDのフォーマットをしよう⇒面倒なことになって慌てる

さて、ここまでくれば、前のHDDはフォーマットして、外付けHDDとして再利用するためのフェーズになる。
外付けケースを買ってUSB接続。DISKPARTから対象のドライブを選択して clean を実行。
新しいシンプルパーティションを作成して完了。

 
 
 

Windowsが起動しない?

フォーマット後、HDDを取り外して、シャットダウン。
翌日、最終確認のために起動したら、
エラーコード: 0xc00000e
Windowsが起動しない。

メモリか?8GB無理だったか?
SSDまずかった?

とかが脳裏に浮かんだ。

調べていくと、WindowsブートローダWindowsが入っているパーティション/ドライブを見つけられないことに起因するものらしい。

とりあえず、データの保全のため、別なPCにSSD、古いHDD両方をつないで、AcronicsのツールでSSD⇒HDDに逆クローンした。 そのあと、ハードウェア的な問題がないかをまず調べるためにハードウェア診断ツールを動かすも、普通にPASSした。

Windows Boot Manager がいない

このPC、F12を押しながら電源ボタンを入れると、UEFIの起動メニューが出るのだが、今まで正常起動していた時に出ていた、Windows Boot Manager」がない
完全に見失ってる。パーティション破損してるか?

リカバリは最終手段として、分析しつつ打てる手を考えた。
Systemイベントログを追ってみる⇒BSODや致命的なエラーを引き起こしたログはない。
スタートアップ修復⇒そもそもメニューにねえ。
回復ドライブ⇒ユーザーデータ消えるリスクあるため却下。
他の回復メニュー⇒そもそもWindowsが入っているパーティションに行けてないから動かない。

調べていくうちに、下記の記事が見つかった。

www.sumahoinfo.net

この記事内では、最終的にWindowsの再インストールか再クローンで復旧したと書かれている。
今回のケースでは、どちらも利用できない。

コマンドプロンプトから直すしかない

状況的に、今回の原因となった操作は古いHDDに対するcleanコマンドと想定される。
あのコマンドが、SSD側のWindowsに影響したとは言えないが、なんせHDD側にもWindowsはいるわけで、WindowsブートローダがHDDのWindowsを認識してしまっている可能性は否定できない。
HDDがフォーマットされてしまえば、HDDのWindowsを探しに行くSSDWindowsブートローダは当然Windowsを見つけることはできず、↑のエラーで止まることになる。
ブートローダに、正しいWindowsの場所を教えてやれば、動くのではないかと思った。

Windowsのインストール用USBドライブを作成する。
USBドライブから起動し、「コンピュータを修復する」を選ぶ。「詳細オプション」から「コマンドプロンプト」を立ち上げる。
DISKPART を起動。
list volumeを実行

f:id:core7-booker:20200517010229j:plain

211GBあるDドライブが、本来Cドライブであるはずで、Ltr Labelが1つずつずれている気がするが、いったん置いておこう。おそらくWindowsのインストールUSBから起動しているからだと思われる。

exit
bootrec /Rebuildbcd を実行
Windowsのインストールが1つ認識され、インストールをブート一覧に追加しますか?(Y/A/N)みたいな表示がされるので、Yを入力。

ここで本来ならば「操作は正常に終了しました。」と出てくるはずが、「指定されたパスがみつかりません」と返ってきた。
また調べていると、下記の記事に。

qiita.com

bcdboot C:\Windows /l ja-jp を実行するとよいと。

今回の場合、Windowsが入っているのは画像から見てDドライブとなるので、
bcdboot D:\Windows /l ja-jp として実行してみる。

指定されたパスがみつかりません

え?なんで?
でもよく考えたら、実際の起動時にはCドライブがWindowsが入っているパーティションなんだから、やっぱりQiitaの内容どおりのコマンドでいいのでは?と思い、
bcdboot C:\Windows /l ja-jp を実行。

操作は正常に終了しました。」と来た。
お、いけたか?いやまだ安心するのは早い。

コマンドプロンプトを終了し、再起動してみる。

 
 
 

無事Windowsが起動して復活。めっちゃ焦った。
念のため、再起動やシャットダウン⇒起動をやってみたが、ちゃんと動くようだ。
ドライブレターも、ちゃんとCドライブがWindowsが入っているパーティションとなっている。 さらに念を入れて、 sfc /scannow を行っておく。

bcdeditコマンドをコマンドプロンプトで実行してみる。
正しくCドライブをブートパーティションとして認識できているようだ。

古いHDDをフォーマットしたいが、怖いので、別マシン上でDISKPARTでcleanしておくことにした。

 
 
 
 
これで一通りの作業は完了。
ご返却して動作とデータを確認してもらって無事納品となった。

得られた教訓

念のため、クローン後の元ドライブのフォーマットは別PCでやろう。