あるメディアから別のメディアへのオペレーティングシステムの転送

あるメディアから別のメディアへのオペレーティングシステムの転送

Manjaro Raspberry Pi 4システム用のARM付きUSBドライブと空のSDカードがあります。パーティションを維持しながら、オペレーティングシステムをUSBドライブからSDカードに転送できますか?可能であれば、Manjaroの実行中にもできますか?

出力は次のとおりですlsblk

$ lsblk # partitions on USB Drive
sda      8:0    1  14.9G  0 disk 
├─sda1   8:1    1 213.6M  0 part /boot
└─sda2   8:2    1  14.7G  0 part /
zram0  254:0    0  11.2G  0 disk [SWAP]

ベストアンサー1

  1. パーティションを維持しながら、オペレーティングシステムをUSBドライブからSDカードに転送できますか?

はい、SDカードが少なくともUSBドライブと同じ大きさであるとします。実行してblockdev --getsize64 /dev/sdaUSBドライブのサイズをバイト単位で取得し、SDカードのデバイスパスを変更して最小バイト数を確認できます。

これらのデバイスのサイズがまったく同じである可能性はほとんどないため、SDカードに同じパーティションテーブルを手動で作成することをお勧めします(手間を省くために同じパーティション番号を使用)。これにより、後でSDカードで使用できる追加のディスク容量を使用してルートパーティションを拡張したり、新しいパーティションを作成したりできます。sfdisk -l /dev/sda/ dev / sdaにあるセクターのパーティションのリストを取得し、fdisk /dev/sdbsdカードに同じパーティションを作成するために使用されます(sdカードデバイスが/ dev / sdbであるとし、必要に応じて更新します)。

パーティションを再作成したら、各パーティションの内容を一度に1つずつコピーできます。

  1. 可能であれば、Manjaroの実行中にもできますか?

はい、しかし、この場合、コピー中にディスクに何かを書き込んで、オペレーティングシステムがコピーを破損する危険を避けるために、ファイルシステムを読み取り専用でマウントする必要があります。

上記のようにパーティションを作成したとし、SDカードが/ dev / sdbであると仮定し、これを実行し、質問にリストした2つのパーティションをコピーするコマンドは次のとおりです。

mount /dev/sda1 -oremount,ro
dd if=/dev/sda1 of=/dev/sdb1 bs=1048576
mount /dev/sda2 -oremount,rw

mount /dev/sda2 -oremount,ro
dd if=/dev/sda2 of=/dev/sdb2 bs=1048576
mount /dev/sda2 -oremount,rw

一部のソフトウェアでは、一時的に読み取り専用でマウントされるルートファイルシステムが好きではない場合があります。再起動すると問題が解決する可能性があります。

おすすめ記事