Buat gambar OS

2

Saya menggunakan perangkat Nano Pi yang memiliki OS Debian di dalamnya. Gambar OS ada di memori internal (8 GB). Ukuran total memori yang digunakan agak 4GB. Saya ingin mengambil cadangan OS ini ke dalam file gambar.

Setelah melakukan

dd if=/dev/mmcblk1 of=NanoPi.img bs=8M status=progress

Ukuran file gambar total hingga 8GB. Bagaimana saya bisa membuat gambar hanya digunakan oleh memori dan tidak semua?

ron123456
sumber
Anda juga dapat mencoba dan mengubah ukuran partisi Anda terlebih dahulu, dan kemudian membuat gambar dengan dd
Nordlys Jeger
tapi .. gambar akan dibuat dari seluruh blok dengan benar ... mmcblk1 ... yang akan memiliki partisi boot mmcblk1p0, partisi utama mmcblk1p1 dan partisi baru mmcblk1p2 ... jadi .. bagaimana mengubah ukuran partisi dapat membantu?
ron123456
ah, saya salah membaca pertanyaan Anda.
Nordlys Jeger

Jawaban:

2

Anda tidak dapat melakukan ini dengan mudah menggunakan dd karena perangkat blok hanyalah dump byte. Mungkin berisi data file yang lama dihapus di ruang yang tidak terisi. dd tidak menyadarinya karena itu adalah pekerjaan filesystem. Anda memiliki beberapa opsi:

Tetap gunakan dd

... dan terima penggunaan ruang yang lebih besar. Alih-alih melakukan sesuatu seperti dd if=/dev/mmcblk1 of=NanoPi.img bs=64K conv=noerror,sync status=progress. Ukuran blok yang lebih kecil memberi Anda sedikit lebih banyak keamanan jika terjadi kesalahan baca. Jika dd gagal membaca setidaknya satu sektor - sisa blok tidak akan diproses. Ukuran blok adalah jumlah maksimum byte yang dapat Anda lepas untuk satu sektor yang buruk. conv=noerror memastikan kloning berlanjut jika terjadi kesalahan. conv=sync menggeser pointer dalam file tujuan maju jika terjadi kesalahan baca sehingga data tetap selaras dan dengan demikian valid.

Kamu bisa pipa dd keluaran melalui gzip untuk mengompres data dan menghemat ruang: dd if=/dev/mmcblk1 bs=64K conv=noerror,sync status=progress | gzip -c > NanoPi.img.gz Untuk mendapatkan kembali gambar mentah lakukan gunzip -c ./NanoPi.img.gz > NanoPi.img.

Gunakan rsync

... dan berurusan dengan file mentah. rsync -aAXv /path/to/mounted/mmcblk1 /path/to/destination/folder. Ini mungkin atau mungkin tidak bekerja untuk Anda tergantung apakah sistem file Anda dipasang atau tidak.

Rokas Kupstys
sumber