Saya ingin mengambil cadangan seluruh tata letak partisi pada hard drive, termasuk drive logis, sehingga saya dapat mengembalikan tata letak itu ke disk lain. Saya tidak ingin menyalin isi partisi, hanya tata letak. Untuk partisi primer dan perluasan, mudah:
dd if=/dev/sda of=partitiontable.bin bs=1 skip=446 count=64 # backup
dd if=partitiontable.bin of=/dev/sda bs=1 seek=446 count=64 # restore
Tetapi ketika datang ke tata letak partisi logis, saya ingin tahu apakah ada di antara alat standar cara yang sama untuk menyimpan tata letak? Saya kira masalah utama adalah menemukan offset ke lokasi EBR, karena dengan itu, dd
akan melakukan sisanya. Perlu diingat saya harus bisa mengembalikan semuanya ke disk kosong (mungkin) dan dengan demikian mengembalikan tata letak yang sama. Menggunakan alat partisi suka fdisk
atau parted
baik-baik saja, tapi saya harus dapat mengotomatiskan penggunaannya (scripting) dan mereka tidak harus bergantung pada paket-paket yang berhubungan dengan X - hanya baris perintah.
Rencana cadangan saya melakukannya secara manual dalam skrip python kecil menggunakan modul struct, tapi saya agak berharap ada cara yang lebih mudah.
sumber
sfdisk
tidak berfungsi dengan volume besar atau mendukung GPT.sfdisk -L /dev/sda < part_table
Itu tergantung jika disk sumber Anda menggunakan tabel partisi MBR (alias "dos" atau "msdos") atau GPT (alias "GUID").
Disk lebih dari 2 TB tidak dapat menggunakan MBR, jadi mereka GPT.
Disk di bawah 2 TB dapat menggunakan keduanya, jadi Anda harus terlebih dahulu mencari tahu yang mana.
Dengan anggapan Anda menggunakan Linux, gunakan salah satu dari perintah ini untuk mencari tahu tabel partisi mana yang digunakan oleh disk sumber Anda:
Diberikan
Untuk disk MBR
gunakan
sfdisk
seperti yang disarankan oleh jawaban Petr Uzel, atau varian ini:Untuk disk GPT
Jawaban yang benar diberikan di sini dan di sini oleh Kris Harper .
Anda membutuhkan GPT fdisk . Lihatlah halaman unduhan atau jalankan
sudo apt-get install gdisk
.Kemudian gunakan perintah sgdisk :
Perintah terakhir mengacak GUID pada disk dan semua partisi. Ini hanya diperlukan jika disk akan digunakan di mesin yang sama, jika tidak maka tidak perlu.
sumber
--backup=File
untuk mengekspor tabel partisi dari drive sumber dan--load-backup=File
untuk mengembalikan drive tujuan.Bindings pyparted dan python- lvm yang lebih tua tetapi masih menarik .
Memperbarui:
Yang sebelumnya telah diposting karena di atas tidak berfungsi dalam banyak situasi modern per halaman manual sfdisk.
Namun perintah ini mendukung> 2 TB partisi dan LVM.
Output sampel:
sumber
sda.parted
file yang disimpan ke disk baru?