内部HDDを新しいSSDにクローンする

内部HDDを新しいSSDにクローンする

最近、マシンに SSD をインストールしました。マシン自体は Lenovo thinkpad W520 で、以前は内蔵 HDD が搭載されていました。内蔵 HDD を拡張ベイに移動し (CD-ROM を置き換え)、新しい SSD を内蔵ベイに取り付けました。

私が抱えている問題は、Ubuntu の設定がまさに希望どおりになっていることです。当初は、現在の設定にするために多くの時間を費やしました。もう二度とこのようなことはしたくありません。しかし、OS を SSD 上に配置することで得られる起動時間の短縮も望んでいます。

そこで、Ubuntu パーティションを SSD にクローンしたいのですが、問題は、標準 HDD が SSD よりかなり大きいことです。また、SSD には不要な Windows パーティションがあります (Windows は使用しないので、他のハード ドライブから起動しても問題ありません)。ハード ドライブのレイアウトは次のとおりです。

/dev/sda (SSD): モデル: ATA M4-CT256M4SSD2 (scsi) ディスク /dev/sda: 256GB セクターサイズ (論理/物理): 512B/512B パーティションテーブル: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot

/dev/sdb (HDD): モデル: ATA ST9500420AS (scsi) ディスク /dev/sdb: 500GB セクターサイズ (論理/物理): 512B/512B パーティションテーブル: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs

これまで試したこと:

1) パーティション /dev/sdb5 と /dev/sda1 のサイズを同じサイズに変更します。2) Ubuntu 11.04 (/dev/sdb5 から) を起動し、dd if=/dev/sdb5 of=/dev/sda1 を実行します (もちろん、これによって起動に問題が発生するため、grub を再インストールする必要がありました。起動はできますが、initrd が一部のファイルを見つけられないという問題が発生します... おそらく、一部のパーティションをロードできないのだと思います)。

さて、私はこれらの 2 つの手順は間違ったアプローチだと思います。なぜなら、/dev/sdb5 が正確に複製され、間違ったハード ドライブを指す fstab 内の参照も含まれるからです。これをどのように修正すればよいのか、正確にはわかりません。Ubuntu 11.04 を SSD にインストールして、すべての構成をコピーしてみることもできますが、何かが失われるか、元のハード ドライブを指す fstab のようなものが上書きされるのではないかと心配です。

なお、現時点ではまだ HDD から起動できるので、これをすぐに解決する必要はありませんが、現在の生産性レベルを維持できるように、現状のままにしておきたいと考えています (これは仕事用のラップトップです)。

この困難を克服するにはどうすればいいか、アドバイスをいただけますか?

前もって感謝します!

答え1

古いシステムを新しいドライブに移行する方法は複数ありますが、実際に尋ねられたのは、その方法ではなく、システムを複製する方法です。

私はライブ CD から gparted を使用するので、どちらのパーティションもマウントされません。元のパーティションを SSD 上で必要なサイズに縮小し、そのパーティションをコピーして新しいドライブに貼り付けることができます。私の記憶が正しければ、これにより同じ UUID が再利用されますが、後でどちらかのパーティションでそれを変更できます。これを行うコマンドは、sudo tune2fs -U random /dev/sdb5sdb5 に UUID を割り当てることです。

古いシステムを変更せず、しばらくマウントしたままにしておきたい場合は、SSD パーティションの UUID を変更して fstab を編集することができます。これは実際にはまったく難しくなく、学ぶべきことです。すでに持っている知識を持つ人にとっては、かなり自明です。新しい UUID を割り当てたら、次のコマンドですべてを確認できます。sudo blkid -c /dev/null- パラメータ -c はキャッシュ ファイルを指定し、/dev/null はキャッシュを使用しないことを意味します。そのため、変更は常にすぐに反映されます。私は常にこの形式を使用していますが、多くパーティションの。

UUID を取得したら、gedit または任意のテキスト エディターを使用して、それをコピーして /etc/fstab の古いものに貼り付けることができます。

ただし、個人的には、最初にパーティションのサイズを変更する時間をかけるよりも、古いインストールを新しいディスクにコピーする方がよいでしょう。GRUB を mbr にインストールする方法がわからない場合は、まずベースの Ubuntu をインストールし、次に /etc/fstab をバックアップし、古いインストールをその上にコピーし、次に新しいインストールから fstab をコピーして、正しいエントリのみが含まれるようにするとよいかもしれません。

答え2

ライブ CD から起動し、両方のドライブをマウントし、 でファイルをコピーしますsudo cp -ax /media/source /media/dest。 コピー先の /etc/fstab を編集して正しい UUID ( で検索blkid) を指定し、grub を再インストールします。

答え3

dd if=/dev/sdb5 of=/dev/sda1システムが/dev/sdb5それ自体で実行されている場合(そしておそらく読み取り専用でマウントされていない場合)は、使用を避けることをお勧めします。

パーティションをコピーする別の方法は、ライブ CD (または USB) から起動して GParted を起動することです。Ctrl+C/Ctrl+V を使用して、あるディスクから別のディスクにパーティションをコピーできます。

コピーが作成されたら (おそらく再起動後にパーティション テーブルを更新する必要があります)、引き続きライブ CD から、ターミナルを使用して新しいルート パーティションをマウントします。

sudo mount /dev/sda1 /mnt

次に、/mnt/etc/fstab正しい場所を指すように編集します。

答え4

bashスクリプトclone-ubuntu.sh承認された回答で概説されている手順を自動化します。新しいパーティションを簡単に見つけられるようにメニューが用意されています。

クローン-ubuntu.png

スクリプトのコピーと、次のような考慮すべき重要なポイントについては、上記のリンクにアクセスしてください。

  • rsync起動されたパーティションを複製するために使用され、システム仮想ディレクトリは正しくスキップされます。
  • /etc/fstabターゲット クローンの UUID が起動用に正しい UUID に更新されます。
  • /etc/grub/grub.cfgシームレスな GRUB ブートのために更新されました。

関連情報