web-dev-qa-db-ja.com

内蔵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)(/ dev/sdb5から)Ubuntu 11.04を起動し、dd if =/dev/sdb5 of =/dev/sda1を実行します(もちろん、これは起動時に問題を引き起こすため、grubを再インストールする必要がありました。起動しますが、それからinitrdがいくつかのファイルを見つけられないという問題があります...おそらくそれは私が思ういくつかのパーティションをロードできないでしょう)。

今、私はそれらの2つのステップが間違ったアプローチだと思います、なぜならそれは/ dev/sdb5を正確にクローンする-間違ったハードドライブを指すfstabの参照を含むからです。これを修正する方法が正確にわかりません。 Ubuntu 11.04をSSDにインストールしてから、すべての構成をコピーして試してみることができますが、何かを失うか、元のファイルを指すfstabのようなものを上書きすることを心配していますハードドライブ。

現在、私はまだHDDから起動できるので、これをすぐに把握することは必須ではありませんが、現在の生産性レベルを維持できるように、まさに今の状態にしたいです仕事用のノートパソコンです)。

この困難をどのように克服できるかについての提案はありますか?

前もって感謝します!

18
jwir3

古いシステムを新しいドライブにインストールする方法は複数ありますが、実際にはそのようにはせず、システムのクローンを作成する方法を尋ねました。

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

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

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

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

11
Marty Fried

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

4
psusi

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

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

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

Sudo mount /dev/sda1 /mnt

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

2
Bruno

Bashスクリプト clone-ubuntu.sh は、受け入れられた回答の概要を説明する手順を自動化します。新しいパーティションを見つけやすくするためのメニューが提供されています。

clone-ubuntu.png

上記のリンクにアクセスして、スクリプトのコピーと次のような重要な考慮事項を確認してください。

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