そのため、ntfscloneを使用して、Windows7のデータを/ dev/sdb3から/ dev/sdc1の新しいパーティションに移行することができました。新しいパーティションサイズに一致するようにボリュームサイズのサイズを変更することができました。また、ms-sysを使用してWindows 7MBRを/ dev/sdcに追加しました。
Windowsが起動しません。/dev/sdb3をまだ有効にしている場合は有効になりますが、ここでの最終的な目標は、そのパーティションを削除することです。さらに、この状態では、新しいドライブはDとしてのみ表示され、ブートドライブとしては表示されません。私はいたるところにグーグルで検索しました....助けて?
Ntfscloneコマンドはntfsclone-O/dev/sdc1/dev/sdb3でした
Windowsパーティションを別のディスクに複製すると、ドライブ文字が変更されたり、ブートレコードが壊れたりすることが原因で、失敗することがよくあります。次の2つの解決策は何度も役に立ちましたが、100%確実ではありません。
Windows7ブートディスクの「修復」機能を使用します。多くの場合、ブートの問題を修復することができます。ブートドライブをCに戻します: これらの手順 を使用します。残念ながら、これは100%の場合には機能しません。
別のアプローチ:Windows内から(古いパーティションで起動)、newパーティションとしてブート/システムパーティションのミラーを作成します。ミラー同期が完了したら、ミラーを解除し、newパーティションのみを保持します。この方法では、ディスクをダイナミックディスクに変換する必要があります。これにより、Linuxまたはその他のWindows以外のOSからこれらのディスクにアクセスする必要がある場合に問題が発生する可能性があります。
LinuxはWindowsと一緒にインストールできます。 2 Gbのようにかかり、grubがウィンドウを検出し、ブートメニューに表示されます。 1秒の遅延後にデフォルトにすることができます。追加のボーナスとして、緊急時に起動するための予備のシステムがあります。私はいつもそうします。
ntfsclone
では成功しませんでしたが、dd
では成功しました。役に立つかもしれない場合に備えて、これが私がしたことです。
古いドライブは/dev/sda
、640GBです。新しいドライブは/dev/sdb/
の120GBssdです。
3つのパーティション、1つの15GBリカバリ、1つの100MBブートパーティション、およびシステム(WindowsのC:にマウント)がありました。
最初のステップは、古いディスクのすべての開始/終了セクターを取得することです。
root@sysresccd /root % gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Disk /dev/sda: 1250263728 sectors, 596.2 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 95A8B5D6-CA2E-4D48-A3EA-856883098142
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1250263694
Partitions will be aligned on 2048-sector boundaries
Total free space is 4717 sectors (2.3 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 31459327 15.0 GiB 2700 Windows RE
2 31459328 31664127 100.0 MiB 0700 Microsoft basic data
3 31664128 1250260991 581.1 GiB 0700 Microsoft basic data
次に、fdiskを使用して同じパーティションを作成しました。
fdisk /dev/sdb
前のgdisk
出力で提供されたセクターの場所を使用して3つのパーティションを作成しました。
次に、cfdisk /dev/sdb
を使用して2番目のパーティションを起動可能としてマークしました。
最後のステップは、ntfsclone -O /dev/sdb1 /dev/sda1
メソッドが機能しなかったため、dd
を使用してデータをコピーすることです。
dd if=/dev/sda1 of=sdb1 conv=notrunc
dd if=/dev/sda2 of=sdb2 conv=notrunc
dd if=/dev/sda3 of=sdb3 conv=notrunc
これは、screen
に入れて、進行状況を取得するためにpidにUSR1シグナルを送信させる価値があります。
私のセットアップでは、最後のパーティションが100GBに縮小され、続いて約500GBの空き領域(640GBディスク)が縮小されました。最後のdd
コマンドは、デバイス(120GB SSD)にスペースが残っていない状態で終了しました。
しかし、再起動は魅力のように機能し、Windowsはくつろいだ気分になりました。彼が新しいハードウェアを見つけ、ドライバーを見つけてインストールしたと言って、私は笑いさえしました。 「ビンゴ、そのハードウェアが正しく機能するためには再起動する必要があります!」
上記のハードウェアが起動したSSDであったことを除いて(古いHDDはコンピューターから取り外されました)。
これらはすべて、主にこのブログ投稿から差し引かれていることに注意してください: http://linuxtips.manki.in/2011/11/migrating-to-new-ssd-without-data-loss.html
Windowsは、ほとんどの場合に起動するために必要な100MBの隠しパーティションを作成します。あなたもそれをコピー/回復しましたか?