dd を使用して、デュアル ブート HDD (350 GB) を、HDD から 2 つの OS のうち 1 つだけをコピーして、より小さな SSD (120 GB) にコピーできますか。

dd を使用して、デュアル ブート HDD (350 GB) を、HDD から 2 つの OS のうち 1 つだけをコピーして、より小さな SSD (120 GB) にコピーできますか。

350 GB HDD を搭載したデュアル ブート マシン (Windows + Ubuntu) があります。 120 GB SDD に Ubuntu のみをクローンしたいのですが、どうすれば実現できますか。

PS: 「dd」を使用して Linux パーティション (sda5) を SDD にコピーしました。起動できるようにディスクのジオメトリを保持するために必要なことは何ですか。

Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 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
Disklabel type: dos
Disk identifier: 0x000f3d7c

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048    718847    716800  350M  7 HPFS/NTFS/exFAT
/dev/sda2          718848 200712992 199994145 95.4G  7 HPFS/NTFS/exFAT
/dev/sda3       369358848 625139711 255780864  122G  6 FAT16
/dev/sda4       200714238 369358847 168644610 80.4G  5 Extended
/dev/sda5       200714240 353449983 152735744 72.9G 83 Linux
/dev/sda6       353452032 369358847  15906816  7.6G 82 Linux swap / Solaris

答え1

最初からやり直してください。始める前に、この回答全体を少なくとも 1 回は読み、理解していることを確認してください。必要に応じて、エディターにコピーし、およびへの想定される参照を修正してください/dev/sdaX/dev/sdbX本当に。これらを正しく理解する必要があります。既存のインストールを完全に破壊する可能性が非常に高いからです。本当に。

  1. SSD をパーティション分割します。

    • UEFI ブート パーティションが必要になる場合があります。
    • 少なくとも/dev/sda5Linux パーティションと同じサイズのパーティションが必要になります。
    • スワップ パーティションが必要な場合があります。
  2. 保持したいLinuxパーティションをコピーする

    • レスキューディスクから起動する
    • ターゲットが であると仮定して/dev/sdb2、実行するcat /dev/sda5 >/dev/sdb2
    • を気にする必要はありませんdd。 を使用するとcat遅くなることはなく、通常ははるかに速くなります。
  3. パーティションに合わせてターゲットファイルシステムのサイズを変更する

    • ターゲットが/dev/sdb2 そしてファイルシステムの種類がext3または の場合ext4、実行しますresize2fs /dev/sdb2
  4. レスキューディスクをまだ使用中

    • ターゲットが であると仮定して/dev/sdb2、実行するchroot /dev/sdb2 /bin/bash
    • 以下のコマンドを実行しますが、ディストリビューションによってコマンドが異なる場合があることに注意してください。

      grub-install /dev/sdb   # Second disk
      update-grub
      
  5. 再起動して新しいシステムが起動できることを確認します

  6. スワップパーティションがある場合は修正する

    • 新しいスワップが であると仮定して/dev/sdb3、実行しますmkswap /dev/sdb3
    • /etc/fstabスワップUUID定義を更新(またはコメントアウト)するために編集します
  7. 古いディスクを取り外して再起動します

    • GRUB ブート パラメータを一時的にhd0()ではなく参照 に変更する必要がある場合がありますhd1()。その場合は...
    • 次のコマンドまたは同等のコマンドをもう一度実行します。

      grub-install /dev/sda    # First disk, this time
      update-grub
      
  8. もう一度再起動

    • この段階ではスムーズに起動するはずです

答え2

上記の回答ありがとうございます。私はデュアル OS セットアップを使用しています。

  1. gpartedを使用して外付けハードドライブにUbuntuパーティションのコピーを作成しました。これはライブUbuntu USBで行われました。
  2. ソースディスク上のUbuntuパーティションを削除しました
  3. クローンにより、Windows が新しい SSD (ターゲット ディスク) にコピーされました。完了すると、Windows にログインするための簡単なチェックが成功しました。
  4. 外付けハードドライブから新しいSSDにUbuntuパーティションをコピーしました。これもライブUSB経由で行われました。
  5. ライブUSBでGRUBを修正するためにブート修復ツールを実行しました

再起動すると、両方の OS にログインできるようになりました。

関連情報