web-dev-qa-db-ja.com

Linuxインストール全体を別のドライブに移動する

Ubuntu 14.04にはたくさんのパッケージがあり、仕事に関係するものがあり、とても満足しています。 120GBのメインSSDドライブにインストールされます(ubuntuのインストール時に「/」を選択したため、すべてがこのドライブにあるはずです)。/dev/sdaとして表示されます

今、コンピューターに別のSSDを追加しました。これは240Gbです。現在、他のストレージメディアはありません(外部ハードドライブなど)。

新しい240GBドライブは明らかに容量が大きく、高速(120GBのものよりも新しい世代)であるため、Linuxをこの新しいドライブに移動したいと考えています。この新しいドライブは/ dev/sdbとして表示され、現時点ではフォーマットされていないか、何もありません(私は文字通りパッケージ化を解除し、今すぐPCに挿入しています:P)

Linuxインストールを新しいドライブに安全に移動するにはどうすればよいですか?

必要に応じて、新しいドライブが/ dev/sdaとして表示されるように、SATAケーブルを変更できます。

これが役立つ場合、これは「fdisk -l」の出力です。

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00076d7a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   226064383   113031168   83  Linux
/dev/sda2       226066430   234440703     4187137    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sda5       226066432   234440703     4187136   82  Linux swap / Solaris

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
52
Saeid87

この目的でCLONEZILLAを使用できます。

Clonezillaは無料のパーティションおよびディスクイメージング/クローン作成ツールで、すべてのデータ(ディスクまたはパーティション全体)を高度に圧縮された方法でバックアップし、後でそれを完全に同じ状態に戻すためにハードディスクにクローンします。これは、ほとんどの場合、OSをインストールするよりも高速です。

  • ダウンロード Clonezilla安定ISO または 直接ダウンロードclonezilla-live-2.4.6-25-AMD64.iso

  • Tuxboot 7.0 を使用して、起動可能な(ライブ)USBを作成します。

  • 作成されたClonezillaメディアから起動します。

  • 今、あなたには多くのオプションがあります:

    1. 「/」(セーブパート)のみのイメージを作成し、他のSDDのパーティションにクローンします。
    2. フルディスク(savedisk)のイメージを作成し、新しいSSDにクローンします。

enter image description here

あなたの場合、「デバイス-デバイス」オプションも使用できますが、私はそれをよく知りません。

Clonezillaの詳細なガイドは、ここで見つけることができます:http://clonezilla.org

35
Severus Tux

それにはいくつかの方法があります。しかし、最も簡単な方法は、すべてのファイルを古いドライブから新しいドライブにコピーすることです。

  1. 新しいドライブにext4パーティションとスワップパーティションを作成します。

  2. LiveUSBから起動します。

  3. 古いUbuntuパーティションをあるディレクトリにマウントし、新しいパーティションを他のディレクトリにマウントします。

  4. cp -aコマンドを使用して、古いファイルから新しいファイルにすべてのファイルをコピーします。

  5. grubを新しいドライブにインストールする

  6. /etc/fstabを新しいUUIDで更新します。

不明な点がある場合は、説明を追加できます。

39
Pilot6

時間があり、安全に行きたい場合:

$ dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

コマンドの説明:

  • ifは入力、ofは宛先です
  • bsはブロックサイズを設定します。 ddが読み書きするチャンクのサイズです。通常、チャンクサイズを大きくするとパフォーマンスが向上しますが、入力ディスクにエラーがある場合のデータの破損も大きくなります。こちらをご覧ください: archwiki on dd
  • noerrorはr/w-errorsで継続します。
  • syncは、エラーが発生した場合にオフセットを同期します。

これにより、基本的にディスクsdaのイメージが作成され、sdbに書き込まれます(同じパーティションレイアウトなど)。もちろん、ファイルに依存しない120GB全体を書き込みます。したがって、ディスクのごく一部しか使用しない場合、非常に安全ですが、最速ではありません。ただし、入力ディスクがかなりいっぱいの場合は、さらに高速になる可能性があります。

しかし:

  • その後、パーティションのサイズを変更する必要があります。そうしないと、余分なスペースを利用できなくなります。
  • いずれの場合でも、/ etc/fstabファイルを編集する必要がある場合があります。
    これは、ハードウェアIDを使用してディスクを認識する場合です。
20
larkey

他の回答とは異なり、これによりLinuxインストールのクローンを作成し、現在のインストールをそのままの状態でGrubメニューに追加できます。さらに、/etc/fstabを自動的に変更し、grubブートメニューを更新します。

クローンを作成する正しいパーティションを選択するのに役立つメニューが提供されます。パーティションからのクローンは、現在ブートされているパーティションです。

rsyncは、パーティションの再クローンを選択した場合に最適な速度で使用されます。これは、アップグレードが失敗し、バグ修正を待ってから再度アップグレードを実行する場合に役立ちます。同様に、アップグレード中に間違ったオプションを選択した可能性があり、再度実行したい場合があります。

完全なスクリプトはここにあります: 18.04 LTSアップグレードをテストするためにUbuntuを新しいパーティションにクローンするためのBashスクリプト

clone-ubuntu.png

4

新しいHDDに切り替えるときの方法は次のとおりです。

  • 新しいドライブに必要なパーティションレイアウトを作成する
  • live CD/USBからの起動、インストール、レスキューなど。
  • たとえば、/mnt/aにコピーする古いハードディスクパーティションをマウントします。
  • /mnt/bなどのファイルを受信するために、新しいハードディスクパーティションをマウントします
  • cp -aまたはtarを使用して/mnt/aから/mnt/bにファイルをコピーします
  • ブートローダー(liloまたはgrub)を新しいディスクにインストールします¹
  • /etc/fstabを更新します(blkidを使用して新しいUUIDを識別できます)
  • 再起動し、すべてが正常かどうかをテストします

注¹:

次のコマンドを使用して、すべてのハードディスクとパーティションを確認します。

Sudo fdisk -l 

次に、Ubuntuがインストールされているパーティションをメモします。パーティションは/dev/sda1のようになります

GRUB 2(ハードディスクパーティション)をインストールする必要があるパーティションをマウントすると、ファイルシステムがNautilusに表示されます。次に、実際のハードディスクMBRを変更するために、正しいハードディスクパーティションをマウントする必要があります。そのために必要なこと:

Sudo mount /dev/sda1 /mnt
mount

パーティションを別の場所にマウントします

Sudo mount /dev/sda1 /mnt/boot

起動したライブイメージの/devフォルダーから、/devにマウントしたパーティションの/mntフォルダーへの壊れないリンクを作成します。

Sudo mount --bind /dev /mnt/dev/

ここで、ルートをライブCDルート(/)からマウントされたパーティションのルートに変更する必要があります

Sudo chroot /mnt

これで、マウントされたパーティションが新しいルートである新しいルートシェルになります。この入力を確認するには、lsと入力します。マウントされたパーティションにいるので、先に進んでGRUB 2をインストールできます:

Sudo grub-install /dev/sda 

エラーなしでインストールが完了します

exitと入力するか、を押して、CHROOTシェルを終了します Ctrl+D Live CD/USBシェルに戻ります

クリーンリブートするために、以前にマウントしたパーティションをアンマウントします。

Sudo umount /mnt/dev
Sudo umount /mnt/boot
Sudo umount /mnt

ライブCDまたはUSBスティックを取り外してから再起動し、ハードディスクから起動します。

Sudo reboot

ソース

4
delt

この投稿に関連する実験を行うことにしました。

Lenovo ThinkCentreを取得しました。 256 GB SSDと1 TB HDD(スピナータイプ-高速ですが、SSDほど高速ではありません)がありました。

Linux Mint 19.2(LM19.2)をインストールすると、1 TBドライブにインストールされました。 SSDが回復不能になり、新しいKingston 240 GB SSDを購入しました。

LM19.2を新しいSSDにインストールしようとしていましたが、よく開発されたLM19.2イメージを1 TBドライブから新しいSSDに転送する方法があるはずです。

私はこの投稿を見つけました。上記のいくつかの確かなアドバイスがありますが、私は実験するモードでした。以下は私がやったことの説明であり、うまくいきましたVERY.

  1. GPartedを使用して、1 TB HDDと同じタイプのパーティションテーブルとパーティションをSSDに作成しました。
  2. LM19.2 1 TB HDDで、すべてのTimeShift(Ubuntu/Linux Mintの新しいツール)スナップショットを実行しました。
  3. そのスナップショットをSSDに復元しました。
  4. 上記の手順が完了したら(2と3と並行して1を実行することもできます)、再起動し、SSDが選択されることを確認しました。
  5. 再起動中に奇妙だった唯一のことは、初期のgrub画面がUbuntuを起動するかどうかを尋ねたことでした。これはTimeShift復元に特有のものだと思いました。
  6. LM19.2が通常行うように、その後の起動は起動します。
  7. 外部ドライブから新しいドライブを使用してこれを実行できることを確認したら、この回答を編集します(これが機能することは明らかなようです)。これは、LMマシンをすばやく複製できることを意味するためです。新しいハードウェアに。

起動速度だけで、これらの簡単な手順は労力に値します。 Dropboxでも問題なく転送されました-もう一度ログインしてほしいだけで、ファイルのインデックス作成に全時間を要しましたが、うまくいきました。

0
Thom Ives