RAIDのHDD上のXPをSSDに移植する
随分前に(2010年9月)、けんけんRXさんの掲示板「けんけんRXのじゃんく放浪記」に書かせてもらったHDD 4台のRAID 0にあるXPをSSD 2台のRAID 0に移植した経緯をその後文書ファイルに纏めていたのですが、それを改めてここに掲載することにしました。
Windows XPを使っている人も、多くは既にSSDを使っているでしょうが、まだこれからという人もいるでしょうから、そういう人の参考になれば、と思います。
一、
VISTAやWindows 7はドライブのパーティションの開始位置をデフォルトで2048セクタ(2048sectors=1024KB=1MB)とするように設定されており、SSDにとって最適なオフセットは64KBの倍数であるというから、VISTAやWin 7でSSDを使うことに問題はない。
ところが、Win XPではその開始位置が63セクタとなっている。これは、HDDでは問題にならないが、SSDではその転送率に影響があり、殊に小さいサイズのファイルの書き込みに影響があるという。IntelのSSDは、あまり影響を受けないようだが、OCZのSSDや私の使うRealSSD C300では特に4KBの書き込みが遅くなるようである。アルゴリズムやコントローラの設計によるらしい。
そこで、XPでSSDを最適な状態で使用するためには、パーティションのアラインメントが必要になるが、OSの入っているパーティションでこれを行うのは少し面倒であり、これがRAIDとなると、さらにややこしいことになる。
幾度か失敗し、あれやこれやと試している内にBIOSまでおかしくなったが、ようやく何とかXPをアラインメント済のRAID 0のSSDに移転することができた。
二、
1、まず、必要なものは、パーティション・アラインメントを行うアプリケーションである。
Microsoftにdiskpartとdiskparがあるが(紛らわしいが、違いは末尾の「t」の有無)、XPに備わっている
diskpartは、create pratition primary alignのコマンドが使えなかったので、オフセットを設定するには
diskparを使った。diskpar.exeは[https://kb.wisc.edu/images/group14/4556/diskpar.exe]からダウン
ロードして(※注意:2012年11月1日現在は[http://download.corrupteddatarecovery.com/download-file/diskpar.exe]の該当するDownloadLinkからダウンロードできるようですが、必ずアンチウィルスソフトによる
スキャンを実行し、その使用は自己の責任において行なってください。)、コマンド・プロンプトで使い易いように
各ユーザのディレクトリ(C:\Documents and Settings\〈ユーザ名〉)に入れておく。
【追記】:Windows 7のDiskPartはバージョンアップされ、オフセットを正確に設定することができるようになっ
ている。これについは、「Windows 7のDiskPart」を御覧下さい。
2、次に、バックアップ・ソフトが問題である。
私の使っていたParagon社系のHard Disk Manager(HDM)8.5やTrue Image 2009以前のものは復元
時に、パーティションを削除し、オフセットを元の63セクタに戻してしまう。しかし、試みに購入した
True Image home 2010は、変更したオフセットを維持してくれることが分かった。また、ディスクのバック
アップを復元する場合、ディスク全体を復元すれば、オフセットはそのまま再現される。
尚、Build 6053からBuild 7046に更新されている。【追記:2011年10月現在は、7160に】
AcronisのサイトよりBuild 7046のブータブルCD用のファイルをダウンロードして、CDに焼いておく。
※但し、Acronisの公式サイトには、以下のように記されている(2012年10月18日更新)[2699: Solid State Drive Support in Acronis Products]。
「Acronisの製品はSSDをサポートしますが、一定の制約を伴います。
解説
次のAcronisの製品はSSDを完全にサポートしています。
○ Acronis Backup & Recovery 11.5
○ Acronis Backup & Recovery 11
○ Acronis True Image Home 2011
○ Acronis True Image Home 2012
○ True Image 2013 by Acronis
○ Acronis Disk Director 11 Home
これら以外のAcronisの製品はすべて、SSDをサポートしますが、一定の制約を伴っています。
○ SSDであっても通常のHDDと全く同様の操作を行うことが可能です。
○ SSDに最適なパーティション・オフセットを維持するために必要な特別なパーティション・アラインメン
ト機能はありません。言い換えれば、バックアップ・イメージをSSDに復元する場合、SSDに推奨される
64KB(又は64KBの倍数)のオフセットになることはなく、たとえオフセットがバックアップ・イメージを
作成した時点では適切なものであったとしても、デフォルトの63セクタのオフセットとなるということで
す。これは、復元後、SSDのある機種においてはパフォーマンスの低下をもたらす結果となることがあり
ます。」
さらに、詳細情報として、
「64KBの倍数(最も一般的には、1024KBまたは2048セクタ)がSSDに推奨されているオフセットです。
完全サポートの詳細:
○ ディスクイメージをSSDに復元するかあるいはそのクローンをSSDに作成した場合には、オフセットは、
自動的にデフォルトの1024KB(2048セクタ)にセットされます。
○ パーティションのバックアップをターゲットにしたSSDの空のパーティションに復元した場合には、ター
ゲットのSSDはその復元前のオフセットを維持します。」と、説明している。
しかし、AcronisのForumでは、True Image Home 2011でもSSDのオフセットが維持されなかったとか、
True Image Home 2010であってもオフセットが維持されたという報告もあり、PC環境や使用状況によって異
なる結果が生じるようです。
([3823: alignment on a SSD]、[19651: Acronis still cannot do SSD alignment?!?!])
【追記】:True Image Home 2012はこの点問題ないようです。
2012年版については、こちら「Acronis True Image Homeを2010から2012へ」をどうぞ。
3、私のPC環境は、
CPU : Intel Core 2 Duo E8600
M/B : GIGABYTE GA-EP45-UD3R
HDD : Seagate ST3500418AS 500GB×4、RAID 0(ICH10R, Matrix Storage Manager)
: Western Disital WD20EARS 2TB
このRAIDを2つのボリューム分け、先頭のボリューム(120GB)にWindows XP Professional SP3のOS及び
アプリケーションを入れ(ドライブ「C:」)、残りのボリュームをデータ用にしていた(ドライブ「D:」)。
SSDは、Crucial RealSSD C300 64GBを2台購入。
三、
私が行ったXPを移植する手順。
1、まず、現RAID内のドライブ(C:)及びドライブ(D:)のパーティションをTrue Imageで他のHDDにバックアップする。
この時は、パーティションのみでもよい。万が一に備えてドライブ(D:)内のデータは、通常のファイル・バック
アップ・ソフトでバックアップしておく方がよいかもしれない。
2、再起動後、POSTでRAID BIOSに入り、HDDのRAIDを解除してNon-RAIDにし、一旦シャットダウンする。SSD
2台を SATAコネクタの先頭の0、1に接続。旧RAIDのHDD 4台をSATAコネクタ2、3、4、5に接続し替える。
3、再起動。RAID BIOSへ。SSDをRAID 0、Stripe Sizeを128KBで構成(SSDはStripe Sizeの影響を
あまり受けないらしい。4KBまたは16KBが僅かだが高速とのデータも見られる)。
さらに、HDD 4台でRAID 0を、Stripe Size 128KBで構成。
4、再起動。BIOSに入り、Advanced BIOS FeaturesのHard Disk Boot Priority(他のマザーボードの場合、
適宜読み替えてください)で、Storage内のBoot順をSSD(RAID)、HDD(RAID)、HDD(バックアップ用)の順に
する。
5、再起動。Bootable CDからTrue Image起動。HDD(RAID)に一旦OSを復元。
6、再起動。XPを立ち上げ、ディスク管理でSSDのディスク番号を確認。
diskparでSSDのRAIDにパーティションを作成する。
【diskparの操作手順】
① コマンドプ・ロンプトで「diskpar -i X」(Xの所にディスク管理上のディスク番号、例えば「1」を)と入力後、
Enterを押下してディスク情報を確認。
② 「diskpar -s X」 → Enter → 確認して「y」を2度入力 → offset値をセクタ単位で入力「2048」
(SSDによっては最適値は異なるらしいが、私はVISTAやWin7のoffset値を使用) → Enter → 容量を
入力 → Enter。
③ ディスク管理でクイックフォーマット後、HiddenSectors=2048を再度確認。
尚、アロケーション・ユニット(クラスタ)・サイズは、規定値の4KB(8セクタ)とする。
※ ここで、旧RAIDのHDD 4台を使わないのであれば、一旦シャットダウンして、それらを取り外せばよいが、
私はそれらを改めてRAID 0としてデータ用に使用するため、以下のような手順を踏んだ。
7、再起動。パーティション操作の行えるソフトのブータブルCD(私はHDM8.5のCDを使った)で起動。
HDD(RAID)の仮XPのパーティションを削除。このようなブータブルCDがなければ、これら4台のHDDは一旦取り
外して、手順9の後でRAIDを組み直して、手順10に移ることになろう。
8、再起動。True ImageのCDに替えて起動。改めて、XPをSSDのパーティションに復元。復元中、「パーティション
の削除」と表示されるが(最初はやはりダメかと思ったが)、offsetは維持される。
9、再起動。SSDのXPで起動。diskparでSSDのoffset(HiddenSectors)「2048」を確認。
ここで、一応アラインメントを施したSSD(RAID 0)へのXPの移転は、完了である。
10、序でに、データ用のHDD(RAID 0)にもアラインメントを行ってみた。
改めて、diskparでHDD(RAID)にoffset 2048 sectorsでパーティションを作成。クイックフォーマット。
ドライブレターは「D」に。
11、再起動。offsetを確認。True Imageでデータ用の(D:)をHDD(RAID)にパーティションとして復元。データ
そのものをファイルのバックアップから復元してもよいが、True Image等を用いる方が、高速で復元できる。
実際には、私は、HDD 4台のRAID 0を2つのボリュームに分けて、diskparでそれぞれoffset 2048 sectorsのパーティションを作成し、「D」と「E」のドライブレターを振った。もっとも、HDDではアラインメントを施す意味はないようだが。
四、
さて、63セクタと2048セクタとの違いはどれほどであろうか。CrystalDiskMarkの値を挙げておく。

左がオフセット63セクタ、右がオフセット2048セクタである(SATA 3Gb/s接続)。
御覧の通り、2048セクタの4KBの書き込み率は、63セクタの5倍以上になった。
SSDの機種によって効果は異なるようだが、パーティション・アラインメントを行ってみる価値はあるようです。
五、
尚、以上のような七面倒くさい手順を経ることなく、Paragon Alignment Toolというアプリケーションを試した方もいます(その方の書き込みも冒頭に挙げた掲示板にあります)。これは、「RAIDには対応しておりません」との断わり書きのあるものだが、時間はかかるもののRAID構成のSSDのアラインメントに成功したとのことです。
いずれの方法を参考するにせよ、あくまで公式にはサポートされていない、ということにご注意あれ。
Windows XPを使っている人も、多くは既にSSDを使っているでしょうが、まだこれからという人もいるでしょうから、そういう人の参考になれば、と思います。
一、
VISTAやWindows 7はドライブのパーティションの開始位置をデフォルトで2048セクタ(2048sectors=1024KB=1MB)とするように設定されており、SSDにとって最適なオフセットは64KBの倍数であるというから、VISTAやWin 7でSSDを使うことに問題はない。
ところが、Win XPではその開始位置が63セクタとなっている。これは、HDDでは問題にならないが、SSDではその転送率に影響があり、殊に小さいサイズのファイルの書き込みに影響があるという。IntelのSSDは、あまり影響を受けないようだが、OCZのSSDや私の使うRealSSD C300では特に4KBの書き込みが遅くなるようである。アルゴリズムやコントローラの設計によるらしい。
そこで、XPでSSDを最適な状態で使用するためには、パーティションのアラインメントが必要になるが、OSの入っているパーティションでこれを行うのは少し面倒であり、これがRAIDとなると、さらにややこしいことになる。
幾度か失敗し、あれやこれやと試している内にBIOSまでおかしくなったが、ようやく何とかXPをアラインメント済のRAID 0のSSDに移転することができた。
二、
1、まず、必要なものは、パーティション・アラインメントを行うアプリケーションである。
Microsoftにdiskpartとdiskparがあるが(紛らわしいが、違いは末尾の「t」の有無)、XPに備わっている
diskpartは、create pratition primary alignのコマンドが使えなかったので、オフセットを設定するには
diskparを使った。diskpar.exeは
ロードして
スキャンを実行し、その使用は自己の責任において行なってください。)、コマンド・プロンプトで使い易いように
各ユーザのディレクトリ(C:\Documents and Settings\〈ユーザ名〉)に入れておく。
【追記】:Windows 7のDiskPartはバージョンアップされ、オフセットを正確に設定することができるようになっ
ている。これについは、「Windows 7のDiskPart」を御覧下さい。
2、次に、バックアップ・ソフトが問題である。
私の使っていたParagon社系のHard Disk Manager(HDM)8.5やTrue Image 2009以前のものは復元
時に、パーティションを削除し、オフセットを元の63セクタに戻してしまう。しかし、試みに購入した
True Image home 2010は、変更したオフセットを維持してくれることが分かった。また、ディスクのバック
アップを復元する場合、ディスク全体を復元すれば、オフセットはそのまま再現される。
尚、Build 6053からBuild 7046に更新されている。【追記:2011年10月現在は、7160に】
AcronisのサイトよりBuild 7046のブータブルCD用のファイルをダウンロードして、CDに焼いておく。
※但し、Acronisの公式サイトには、以下のように記されている(2012年10月18日更新)[2699: Solid State Drive Support in Acronis Products]。
「Acronisの製品はSSDをサポートしますが、一定の制約を伴います。
解説
次のAcronisの製品はSSDを完全にサポートしています。
○ Acronis Backup & Recovery 11.5
○ Acronis Backup & Recovery 11
○ Acronis True Image Home 2011
○ Acronis True Image Home 2012
○ True Image 2013 by Acronis
○ Acronis Disk Director 11 Home
これら以外のAcronisの製品はすべて、SSDをサポートしますが、一定の制約を伴っています。
○ SSDであっても通常のHDDと全く同様の操作を行うことが可能です。
○ SSDに最適なパーティション・オフセットを維持するために必要な特別なパーティション・アラインメン
ト機能はありません。言い換えれば、バックアップ・イメージをSSDに復元する場合、SSDに推奨される
64KB(又は64KBの倍数)のオフセットになることはなく、たとえオフセットがバックアップ・イメージを
作成した時点では適切なものであったとしても、デフォルトの63セクタのオフセットとなるということで
す。これは、復元後、SSDのある機種においてはパフォーマンスの低下をもたらす結果となることがあり
ます。」
さらに、詳細情報として、
「64KBの倍数(最も一般的には、1024KBまたは2048セクタ)がSSDに推奨されているオフセットです。
完全サポートの詳細:
○ ディスクイメージをSSDに復元するかあるいはそのクローンをSSDに作成した場合には、オフセットは、
自動的にデフォルトの1024KB(2048セクタ)にセットされます。
○ パーティションのバックアップをターゲットにしたSSDの空のパーティションに復元した場合には、ター
ゲットのSSDはその復元前のオフセットを維持します。」と、説明している。
しかし、AcronisのForumでは、True Image Home 2011でもSSDのオフセットが維持されなかったとか、
True Image Home 2010であってもオフセットが維持されたという報告もあり、PC環境や使用状況によって異
なる結果が生じるようです。
([3823: alignment on a SSD]、[19651: Acronis still cannot do SSD alignment?!?!])
【追記】:True Image Home 2012はこの点問題ないようです。
2012年版については、こちら「Acronis True Image Homeを2010から2012へ」をどうぞ。
3、私のPC環境は、
CPU : Intel Core 2 Duo E8600
M/B : GIGABYTE GA-EP45-UD3R
HDD : Seagate ST3500418AS 500GB×4、RAID 0(ICH10R, Matrix Storage Manager)
: Western Disital WD20EARS 2TB
このRAIDを2つのボリューム分け、先頭のボリューム(120GB)にWindows XP Professional SP3のOS及び
アプリケーションを入れ(ドライブ「C:」)、残りのボリュームをデータ用にしていた(ドライブ「D:」)。
SSDは、Crucial RealSSD C300 64GBを2台購入。
三、
私が行ったXPを移植する手順。
1、まず、現RAID内のドライブ(C:)及びドライブ(D:)のパーティションをTrue Imageで他のHDDにバックアップする。
この時は、パーティションのみでもよい。万が一に備えてドライブ(D:)内のデータは、通常のファイル・バック
アップ・ソフトでバックアップしておく方がよいかもしれない。
2、再起動後、POSTでRAID BIOSに入り、HDDのRAIDを解除してNon-RAIDにし、一旦シャットダウンする。SSD
2台を SATAコネクタの先頭の0、1に接続。旧RAIDのHDD 4台をSATAコネクタ2、3、4、5に接続し替える。
3、再起動。RAID BIOSへ。SSDをRAID 0、Stripe Sizeを128KBで構成(SSDはStripe Sizeの影響を
あまり受けないらしい。4KBまたは16KBが僅かだが高速とのデータも見られる)。
さらに、HDD 4台でRAID 0を、Stripe Size 128KBで構成。
4、再起動。BIOSに入り、Advanced BIOS FeaturesのHard Disk Boot Priority(他のマザーボードの場合、
適宜読み替えてください)で、Storage内のBoot順をSSD(RAID)、HDD(RAID)、HDD(バックアップ用)の順に
する。
5、再起動。Bootable CDからTrue Image起動。HDD(RAID)に一旦OSを復元。
6、再起動。XPを立ち上げ、ディスク管理でSSDのディスク番号を確認。
diskparでSSDのRAIDにパーティションを作成する。
【diskparの操作手順】
① コマンドプ・ロンプトで「diskpar -i X」(Xの所にディスク管理上のディスク番号、例えば「1」を)と入力後、
Enterを押下してディスク情報を確認。
② 「diskpar -s X」 → Enter → 確認して「y」を2度入力 → offset値をセクタ単位で入力「2048」
(SSDによっては最適値は異なるらしいが、私はVISTAやWin7のoffset値を使用) → Enter → 容量を
入力 → Enter。
③ ディスク管理でクイックフォーマット後、HiddenSectors=2048を再度確認。
尚、アロケーション・ユニット(クラスタ)・サイズは、規定値の4KB(8セクタ)とする。
※ ここで、旧RAIDのHDD 4台を使わないのであれば、一旦シャットダウンして、それらを取り外せばよいが、
私はそれらを改めてRAID 0としてデータ用に使用するため、以下のような手順を踏んだ。
7、再起動。パーティション操作の行えるソフトのブータブルCD(私はHDM8.5のCDを使った)で起動。
HDD(RAID)の仮XPのパーティションを削除。このようなブータブルCDがなければ、これら4台のHDDは一旦取り
外して、手順9の後でRAIDを組み直して、手順10に移ることになろう。
8、再起動。True ImageのCDに替えて起動。改めて、XPをSSDのパーティションに復元。復元中、「パーティション
の削除」と表示されるが(最初はやはりダメかと思ったが)、offsetは維持される。
9、再起動。SSDのXPで起動。diskparでSSDのoffset(HiddenSectors)「2048」を確認。
ここで、一応アラインメントを施したSSD(RAID 0)へのXPの移転は、完了である。
10、序でに、データ用のHDD(RAID 0)にもアラインメントを行ってみた。
改めて、diskparでHDD(RAID)にoffset 2048 sectorsでパーティションを作成。クイックフォーマット。
ドライブレターは「D」に。
11、再起動。offsetを確認。True Imageでデータ用の(D:)をHDD(RAID)にパーティションとして復元。データ
そのものをファイルのバックアップから復元してもよいが、True Image等を用いる方が、高速で復元できる。
実際には、私は、HDD 4台のRAID 0を2つのボリュームに分けて、diskparでそれぞれoffset 2048 sectorsのパーティションを作成し、「D」と「E」のドライブレターを振った。もっとも、HDDではアラインメントを施す意味はないようだが。
四、
さて、63セクタと2048セクタとの違いはどれほどであろうか。CrystalDiskMarkの値を挙げておく。


左がオフセット63セクタ、右がオフセット2048セクタである(SATA 3Gb/s接続)。
御覧の通り、2048セクタの4KBの書き込み率は、63セクタの5倍以上になった。
SSDの機種によって効果は異なるようだが、パーティション・アラインメントを行ってみる価値はあるようです。
五、
尚、以上のような七面倒くさい手順を経ることなく、Paragon Alignment Toolというアプリケーションを試した方もいます(その方の書き込みも冒頭に挙げた掲示板にあります)。これは、「RAIDには対応しておりません」との断わり書きのあるものだが、時間はかかるもののRAID構成のSSDのアラインメントに成功したとのことです。
いずれの方法を参考するにせよ、あくまで公式にはサポートされていない、ということにご注意あれ。