2つのオペレーティングシステムパーティションを持つハードドライブがあります。すべてを合わせると、私のフラッシュドライブに複製するには大きすぎます。とにかく、私は小さなものを複製したいと思います。
/dev/sda1
:120GB HDDパーティション1(Lubuntu)
/dev/sda2
:8GB HDDパーティション2(Debian)<--複製するアイテム
/dev/sdb
:32GBフラッシュドライブ
単一パーティションを複製しようとしましたが起動dd
しないようです。
sudo dd if=/dev/sda2 of=/dev/sdb status=progress bs=1M
このフラッシュドライブを起動しようとしたときに「Boot USB」をクリックしましたが、BIOSメニューは2つのHDD OSオプションのみを持つgrub起動メニューにリセットされます。
sda2
問題は、単一のパーティション()をドライブ(sdb
)に複製しようとしていることです。代わりにそれを使うべきですかsdb1
?1つのパーティションのみが複製されたため、これはブートコンテンツが失われたことを意味しますか?
単一のオペレーティングシステムパーティションを起動可能なフラッシュドライブに正常に複製する方法は?
答え1
どちらの仮定も正確です。パーティションをサムドライブに直接ダンプすると、パーティションテーブルがないため、ブートセクタもありません。
これを機能させるためにできることはいくつかあります。通常、まずドライブにパーティションテーブルを作成し、オペレーティングシステムのデータを含む物理パーティション(/dev/sdb1)を作成し、そこにデータをコピーします。すべてのデータが取得されたら、ドライブにgrubをインストールすることもできます。
これはいくつかのコマンドですばやく実行できますが、用語や概念に慣れていないと(ひどい)間違いを犯すのは簡単です。だから私はあなたに次のことを提案したいと思います。それは容易になります:
- バックアップしてください!すべて!時には1文字を失うと、すべてのデータが永久に失われる可能性があります。
- gpartedをインストールして開きます。
- サムドライブを選択してください(ディスクが選択されていないことを確認してください)。
- メニュー「デバイス」>「パーティションテーブルの作成」
- msdosを使用できます
- ext4などの未割り当て領域にデフォルトパーティションを作成します。
- 新しいパーティションを起動可能にする
- 適用と終了
- ランニング
sudo dd if=/dev/sda2 of=/dev/sdb1; sudo resize2fs /dev/sdb1
。 - Debian システムから起動します。 (
/dev/sdb
Debianを起動した後もサムドライブがそのまま残っているとします。)blkid /dev/sdb1
複製されたパーティションのUUIDを取得するには、実行してください。- 現在の
/etc/fstab
ファイルをバックアップします。 /
次のようにして取得したUUIDへのパスを参照するように更新します。
...
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=5405ba56-dd62-48b4-b381-976162b4957c / ext4 errors=remount-ro 0 1
sudo mount /dev/sdb1 /mnt; sudo cp -p /etc/fstab /mnt/etc/fstab; sudo umount /mnt
この新しいfstabをDebianのサムドライブにコピーするには、実行してください。- 走る
sudo grub-install /dev/sdb
- ファイルバックアップを
/etc/fstab
元の状態に復元します(サムドライブパーティションではなくディスクパーティションのUUIDを使用)。 - このコマンドはDebianディスクの起動を妨げてはいけませんが、ディスクが元の
fstab
状態に復元されているので、sudo update-grub
アップデートが/etc/fstab
サムドライブに設定されているときにファイルを読み取ることができることを確認してください。
これは、Debian パーティションの内容をサムドライブに複製し、そのためのブート環境を作成する必要があります。今はこのプロセスを確認できません。したがって、これを数回実行しましたが、ここのコマンドは現在テストされていません。