2019年11月25日月曜日

Lenovo Rapid Driveが凄く面倒臭い

油断してPCのHDDからSSDへの移行で失敗した。
対象の機種はLenovoのY580なのだが、この機種は一昔前にLenovoが開発したRapid Driveという機能を有していて、小容量のmSATA SSDと大容量のHDDを組み合わせて使用するようになっている。
Rapid DriveはintelのISRTのような仕組みなのだけれど全くの別物で、HDDとSSDの容量を合わせて同一パーティションとして見えるようになるという代物。
この機能を使用している事に気付かずにHDDを抜いてSSDに入れ替え、SSDにWindows10をクリーンインストール。そこまでは滞りなく進み、OS起動後にディスクの管理でmSATAのパーティションを全消ししてしまった。
普通に考えればデータの移行も済んでないのに、元のSSDやHDDのパーティションを削除をするとか愚策極まりないのだけれど、完全に油断していたとしか言えない。
ちなみにmSATAのパーティションを触ってさえいなければ、SSDをHDDに戻して、起動ドライブをmSATAに戻せば元通り起動する。

とりあえず、OneKeyRecoveryも効かなくなっているので、HDD側に残っているLENOVO_PARTというパーティションに保存されているリカバリーイメージからの復旧を試みる事にする。
参考にさせて頂いたのは、こちらの記事

DISKPARTコマンドやAOMEI Partition Assistant、EaseUS Partition Master等で、mSATAの先頭からSYSTEM_DRV(1.6GB)とWindows_OS(残容量-1GB)、ブランクパーティション1GBのパーティションを作成。ついでに隠しパーティションになっているLENOVO_PARTも可視化しておく。
LENOVO_PART内の\OKRBackup\FactoryにBoot.okrとOS.okrというファイルが存在するが、これの実態はWIMデータなので、とりあえず拡張子をwimに変更(実際はokrのままでも大丈夫だと思う)
USBメモリーに適当なWindowsPE環境を作って、そのUSBメモリーから起動し、diskpartコマンドで各ボリュームのドライブレターを確認する。もし、割り当てられてなければ、ドライブレターを割り当て。

以下に上記URLに書かれている内容を引用させて頂く。

 初めに展開する先のドライブレターを確認しておいてください。
 ※ SYSTEM_DRV が先頭にくるので PE上では Windows_OS が C:\ と限らない
diskpart ( DISKPART を実行)
list volume
 を実行すると以下のように表示されます。
(例)
Volume 0 (番号)|C(ドライブレター)|ラベル(SYSTEM_DRV)|ファイルシステム(NTFS)
Volume 1 (番号)|D(ドライブレター)|ラベル(Windows_OS)|ファイルシステム(NTFS)
Volume 2 (番号)|E(ドライブレター)|ラベル(Lenovo_Reco)|ファイルシステム(NTFS)
 今回は、「 SYSTEM_DRV が C:\ 」 「 Windows_OS が D:\ 」 と リカバリ領域(Lenovo_Reco)が E:\ として説明
exit ( DISKPART を終了)・SYSTEM_DRV の イメージの展開
 コマンドプロンプトに戻っていると思うのでコマンドを実行
 次のような形になります
 imagex /apply “展開元 wim のパス” 1 “展開先パーティションのパス”
(例)
imagex /apply E:\FactoryRecovery\sdrivebackup.wim 1 C:\
を実施すると SYSTEM_DRV ( C:\ ) に sdrivebackup.wim が展開されます。
・Windows_OS のイメージの展開
(例)
imagex /apply E:\FactoryRecovery\cdrivebackup.wim 1 D:\
を実施すると Windows_OS ( D:\ ) に cdrivebackup.wim が展開されます。
4.ブートさせるためアクティブ( active )のフラグを立てます。
上記、展開が終われば、再度DISKPARTを実行
diskpart
list volume
select volume 1 ( 1 = Windows_OS に相当するボリュームの番号(今回は 1 )
active
exit (終了)5.シャットダウンと再起動
 ※上記で、正常に OS が起動してこない場合は
 OS インストールディスク(展開した OS と同じバージョン)を使用し
 修復 → コマンドプロンプトから以下コマンドを実施しBCDの再構築を実施
bootrec /fixboot
bootrec /rebuildbcd
exit
再起動、再度インストールディスクよりスタートアップ修復
(※スタートアップ修復は 2 回やるほうがベター)
初期設定の画面が起動してくれば成功です。

以上引用終了。
ドライブレターやファイル名はY580とは異なるので、適当に読み替える必要がある。例えばsdrivebackup.wimはBoot.wimで、cdrivebackup.wimはOS.wimといた具合。
それにしても、先人の知識というのは本当に助かる。
インターネットの集合知はあらゆる事に対して先達が居る事を思い知らされるが、非常に有用だと思う。

上記の作業を終了し、BIOSのBOOTドライブの設定をmSATAに変更してやれば、工場出荷時の状態でOSが起動するのだが、この際に間違ってもオリジナルのHDDを入れてはいけない。
工場出荷時の状態でRapidDriveが動いた際に、パーティションの中身が消滅する事も想定しなければならない。
というわけで、適当なクローンソフトでオリジナルのHDDをセクターコピーしておくのを忘れずに。
ちなみに単純にHDDの入替で新品のHDDを利用するのであれば、HDDの最後の方にLENOVO_PARTパーティションを作成して、その部分だけコピーしておけば良い。
改めて、すべての準備を整えてから電源を入れると、SSDとHDDが合成されて、一つのディスクとして見えている。
SSDのブランクパーティションとHDDのブランクパーティションが合成されて一つのパーティションが作成されているのが確認できた。
OSは全てSSDのドライブC上に存在しているのだが、たしか工場出荷時はドライブC自体がSSDとHDDに跨って配置されていた筈なので、一旦新規作成されたパーティションを削除してから、ドライブCを拡張してやれば、工場出荷時に近い状態までの復旧作業は完了となる。

ただ、予想通りRapidDriveの再生成時にファイル情報は全て無くなってしまっていたので、データの復旧はできなかった。
そもそも工場出荷時のWindows7に用事は無いので、まったくの無駄骨だったわけだが、勉強にはなったかな…
その後、元のHDDをデータ復旧ソフトでセクタースキャンしてみたものの、いくらかのデータは抽出できたものの、大部分のデータは失われてしまった。
このような特殊な例は稀だとは思うが、HDDからSSDへ移行過渡期に販売された製品については、よくよく調べてから作業する事にしよう。 それ以前にいくら、糞遅いHDDに数百GBのデータが入っていようが、そこは我慢してバックアップをとってから作業するという基本を忘れないようにすべきだろう。

0 件のコメント:

コメントを投稿