< | >

SSDインストールで悪夢
  • (2013-01-03 07:26:59)
4台のPCのHDDをIntel SSD 330でリプレース中。トラブル続出で逆にHDDのことを勉強することに(2012/01/02 小平探検隊)

HP dc7800US、HP dc5700ともにクラッシュ


IntelはSSD330の移行のためのツールを無償提供してくれている。

・Intel Data Migration Software
・Intel SSD Toolbox
・Acronis AlignTool Intel SSD Edition

これはありがたいのだが、なぜかウチとは相性が悪くて動作しない。クラッシュを確認したPCはHP dc7800US、HP dc5700。ともにXPを入れている。

XPだからか?もしそうなら「XPには使用できない」なんて説明があると助かるが、とくに注意書きはなかったのでXPでも問題なさそうだが。

何台かインストールしてみると、ToolBox以外は他社のパーティションコピーソフトを使用した方が安定しているし、スピードも速いようだ。

トラブルの現象


(1)Data Migration Softwareを実施するとリブートで起動しなくなる。ブラックアウトした画面の左端でカーソルが点滅する。MBRかPBRかそのへんが壊れているように見える。

しかたないので、MiniTool Partition Wizard Home Edition や Easeus Partition Master、Easeus Todo BackupなどでDISK Copyをとり入れ替える。

(2)Intel SSD Toolboxはどちらも動作する。Trimコマンド(「SSD Optimizer」)を走らせる。

(3)しかし、その後AlignToolを走らせると、再度SSDがクラッシュする。サルのようにDisk Copyを繰り返す悪夢。

アライメント調整はどうしたら?


HDDのアライメントという言葉ははじめて知った。詳しいことはわからないが、いくつかの記事を読んだ範囲では下記のように理解している。間違った理解でも構わない。とりあえず今日の時点ではこれで十分か。

HDDディスクの最小データ管理単位は「セクター」(512バイト)。セクターの8セクタ分を「ブロック」と呼ぶ。1ブロックは4k=4096バイトで物理的な区画分けされたエリア。

OSが読み書きするデータ単位は4k=4096バイト。この単位をクラスター(論理ブロック)と呼ぶ。サイズはブロックと同じ。

本来なら、HDDの物理ブロックとOSがアクセスするクラスターの住所はぴったり一致しているはずだが、XPの場合、XPのクラスターがSSDのブロックよりも1セクタ分、早く始まるらしい。

その理由はわからないが、思うにHDDはどこにでも区画分けできるが、SSDはメモリーの構造上、始めることができるアドレスに制約があるのでは?

とにかく、1セクタ分ズレるので、それが問題だ。若干効率が悪い気もする。本来なら1クラスタしか読み書きする必要がないものに、ブロックをまたいでしまうために、1クラスター分余計に読み書きが発生する場合がある・・・それがどうしたという話ではあるが。

msinfo32でアライメント確認


msinfo32→システム情報→コーポネント→記憶域→ディスク→開始オフセット32,256バイト

ここに表示される「パーティション開始オフセットがデータの開始アドレスと見なすアドレスが入っている。

このアドレスが、ブロック単位、つまり4096の倍数になっていればアライメントはズレていないことになるらしい。

やはり、ズレていた。

Easeus Todo BackupにはOptimize for SSDがあった


Easeus Todo Backupにはクローンディスク作成のオプションとしてOptimize for SSDがあった。これにチェックを入れてDISK Copyしてあげれば、アライメント調整も同時にやってくれるとのこと。

dc5700はすでに入れ替えてアライメントがズレたままで運用中で、今更やり直すのも大変なので、このまま運用するか。ズレていても大差なかろう・・・と考えていたが、どうにも気になり調整することにした。気になるのはどうも病気の一種と思う。

Easeus Todo Backupのバックアップ&リカバリーでアライメント調整


Easeus Todo Backupにはリカバリー機能があるが、リカバリー時にもOptimize for SSDがある。そこで、1度バックアップを取り、それを戻すときにオプションを入れると、どうもアライメント調整をやってくれる模様。

msinfo32の結果・・・

開始オフセット → 4096バイト(8セクタ目をデータ開始アドレスにしてくれている)

ちなみに・・・

XPデフォルト → 32256(63セクタ)
Win7デフォルト → 1048576(2048セクタ)

Win7の開始オフセットは約1Gbもスペースを空けているが、今時のHDDはこれくらい余裕でいいか。Win7が、2048セクタから開始されているなら、XPもこれに合わせた方がわかりやすい。マニュアルで調整するときは2048にしよう。

マニュアルでアライメント調整をやる場合


今回はEaseus Todo Backupのおかげでなんとかできたが、できないと思い調べた備忘録。

【概要】
SSDをUSBなどに繋いで作業する。アライメント調整終了後、このSSDをパーティションソフトなどでアクティブにして、ターゲットPCに入れ替えて立ち上げる。

(1)SSDのパーティションを削除
(2)diskpar.exeをDOS窓から実行
diskpar.exeは誰かが作ってくれたフリーで出回っているアライメントを操作するユーティリティ。
Windowsに実装されているdiskpart.exeとは別物。どこからかダウンロードする。

diskpart.exeで、diskナンバーを確認して
diskpar.exeで調整する

(3)確認&立ち上げ

【手順】
-------------------------------
diskpart
-------------------------------
ターゲットのディスクナンバー(ドライブ番号)を確認する

C:\>diskpart
DISKPART>list disk
DISKPART>exit

-------------------------------
diskpar.exe
-------------------------------
C:\diskpar.exe -i ドライブ番号
C:\diskpar -s ドライブ番号

Are you sure drive 4 is a raw device without any partition (Y/N)?

All data on this drive will be lost. Continue (Y/N)?

Please specify starting offset (in sectors):
→ たとえば、「8」と入れる。この場合、8セクタの意味。原則的に8セクタ(4096バイト)の倍数を入れる
→ Win7のデフォルトは2048(1,048,576バイト)なのでWin7に合わせるため「2048」がよいかも
→ ムダにスペースと取りたくないときは最小の8セクタ(4096バイト)がよいかも
→ ネットでは「128」(65,536)とか「1024」(524,288)とか入れている人が多いようだ

Please specify partition length (in MB) (Max = xxxx):」そのまま

※確認

C:\diskpar.exe -i ドライブ番号

HiddenSectors = ★
→ ★が入力したセクタ数になっていることを確認する

-------------------------------
バックアップソフトでイメージをSSDに入れる
-------------------------------

以上

?廃棄も大変SSD
?案外壊れやすいのかSSD、全滅リスクを体験
?SSDインストールで悪夢
?(SSDで高速化) 素人には手間だが、効果は抜群





<< 案外壊れやすいのかSSD、全滅リスクを体験< | >新鮮だったLastPassの考え方 >>
search
layout
admin

[▲page top]