« Thinkpad X200 の HDDをSSDに換装(その1) | トップページ | 今度の 葉問3 は凄そうだ。 »

2015年11月14日 (土)

Thinkpad X200 の HDDをSSDに換装(その2)

Thinkpad X200 の HDDをSSDに換装(その1)の続き。主に、Windows パーティションのクローニングについて。

Partclone を使用した。Debian にもパッケージが存在する。

クローニングに先立ち、NTFSパーティションを縮小する必要があったため、以下の手順を踏んだ。

ファイルシステムの縮小には、NTFS-3Gに含まれる ntfsresize を使用した。

  1. HDD にある第1パーティション、例えばこれが /dev/sda1 だとすると、 ntfsresize --info /dev/sda1 で、このパーティションに含まれるNTFSファイルシステムのサイズをどこまで減らすことができるのかがわかる。
  2. ファイルシステムサイズを変更するには、 ntfsresize -s 43000MB/dev/sda1 などとして実行する。
  3. パーティションのサイズは、fdisk などで別途変更する。
  4. その後、Windows を起動し、chkdsk などディスクの構造チェックを済ませる。

というわけで、Windows の管理ツールから記憶域の操作ができるのであれば、多分そちらの方が楽。


SSD を内蔵SATA コネクタに接続し、HDD は外付けUSB接続としてクローニングに備える。
パーティションのクローニングは、
partclone -b -s /dev/sdb1 -o /dev/sda1
などとする(イメージ作成を介さずに直接コピーする場合)。

同様に、3つのパーティションについてクローニングした後、Debian 側で os-prober パッケージをインストールし、grub-update を実行すると、Windows Vista が 起動時のGRUB のメニューに現れるようになる。

・・・これで Windows Vista も起動できるようになりました。となればめでたしめでたしだったのだが。。。

\Windows\system32\winload.exe が見つからない というエラーが出て、起動できない。
GRUB → Sドライブ までは処理が渡っている様子。さてどうしたものか。

いろいろ調べた挙句、別のノートPC (Thinkpad Edge 13、Windows7 64bit)から修復ディスク(CD-R)を作成し、起動エラーの回復処理を行った。対象になる Vista は 32bit で 64bit ではないが、起動の回復まではできる。

http://www.multibooters.com/articles/windows-drive-letters.html あたりの解説も見ながら、推測も交えつつ、もう少し詳しく説明すると、、、、


  • 各パーティションには、Disk Signature という、固有の記号が埋め込まれている。

  • パーティション作成のたびに生成され、作成した時刻などを種とし、できるだけ同じものが出現しないようになっている。

  • MBR には各パーティションのDisk Signature が記録されている。

  • Windows の処理が最初に渡る(Thinkpad X200 の場合だと、S:)ドライブから C:ドライブに処理を渡すときに、この Signature を手がかりにどのパーティションに Winload.exe があるのかを探す。

察しのいい人はもうわかったと思うが、なんらかの理由で各パーティションに埋め込まれている Disk Signature が対応しなくなると、Winload.exe が入っているC: ドライブを見つけられないためにエラーが出て起動処理が止まる。

  • SSD で NTFS 用のパーティションを作成したときには、HDDにあるパーティションとは異なる Disk Signature が生成される。
  • partclone では、パーティションに埋め込まれている Disk Signature も含めてコピーしてしまう。 従って、MBRに書かているDisk Signature との対応が取れなくなる。

修復ディスクは、このずれた Disk Signature の整合を取ってくれるため、Winload.exe は実行できるようになる。

しかし、Windows が通常どおり起動できるようになるには、もう一山越える必要があった。

Winload.exe に処理が渡ったあと、ログイン画面が表示され、ログインすると、 デスクトップの準備中です。 と表示されたまま、しばらくディスクアクセスランプの点滅が続き、デスクトップがない状態で、起動処理が終わってしまう。

  • マウスでカーソルを動かすことはできる。
  • スタートメニューもなければ、デスクトップに並んでいるはずのアイコンもない。
  • Ctrl + Shift + Esc でタスクマネージャは起動する。
  • タスクマネージャの 新しいタスク... から explorer を起動することもできる。
  • ただし、一時的なプロファイルを使用している旨の表示が出る。
  • デスクトップに表示されるアイコンは、標準的なもの。
  • スタートメニューも同じく標準的なもの。

コンピュータ を開いてみると、3つのドライブのレターが S:, C:, Q: ではなく C: E: F: になっている。
結果から見ると、これが理由だった。つまり、C: に入っているはずのユーザプロファイルが見つけられないのだ(本来の C: が E: になっているため)。
ここまでわかれば、regedit での修復が可能である。

  • タスクマネージャ の 新しいタスク... から regedit を起動する
  • HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices を開く
  • \DosDevices\C: となっているキーの名前を \DosDevices\S: に変更する。\DosDevices\S: がすでに存在する場合には、先に \DosDevices\S: を \DosDevices\R:など、衝突しない名前に変えておく
  • 同様に、\DosDevices\E: → \DosDevices\C: 、\DosDevices\F: → \DosDevices\Q: にそれぞれ変更する。

Windows を再起動する。

これで、以前どおり Windows Vista が起動するようになった。
ドライブレターがずれたのは、修復ディスクの処理によるものだろう。

« Thinkpad X200 の HDDをSSDに換装(その1) | トップページ | 今度の 葉問3 は凄そうだ。 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Thinkpad X200 の HDDをSSDに換装(その2):

« Thinkpad X200 の HDDをSSDに換装(その1) | トップページ | 今度の 葉問3 は凄そうだ。 »

2026年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ