Bagaimana cara berpindah dari satu drive ke drive lain yang ukurannya berbeda?

21

Saya telah mengalami skenario ini beberapa kali: Saya perlu mengganti drive karena saya membutuhkan lebih banyak ruang, mengalami masalah, pindah ke kotak baru, dll.

Apa cara terbaik untuk menyalin data dari satu ukuran partisi ke yang lain (menganggap target memiliki ruang yang cukup)?

Bagaimana kalau itu sistem file yang berbeda (seperti ReiserFS ke ext4)?

Jika itu hanya drive baru pada sistem yang ada, bagaimana cara memastikan saya tidak perlu menginstal ulang untuk membuat semuanya berfungsi?

Perbarui - banyak opsi sangat memungkinkan, dan saya telah mengubah pertanyaan ini ke wiki komunitas karena saya pikir tidak ada jawaban yang "benar".

warren
sumber
1
superuser.com/questions/32164/… diminta untuk drive / partisi windows
warren

Jawaban:

10

Kloning drive menggunakan CloneZilla , lalu gunakan gparted untuk mengubah ukurannya. Simpan yang lama Anda dalam kasus jika terjadi salah :-)

Omong-omong, cara ini gratis.

craigmoliver
sumber
2
Saya suka bagian gratis di sini, meskipun tidak ada yang mengalahkan perangkat lunak yang berfungsi baik yang melakukan segalanya (bukannya 3 freewares bersama-sama)
Ivo Flipse
1
Ini hanya dua freeware dan cukup menyakitkan. Booting ISO tidak ada masalah.
craigmoliver
Saya dapat mengkonfirmasi bahwa ini berfungsi. Saya berhasil memindahkan drive sekunder saya dengan Windows 7 dari drive 160GB ke drive 1TB. Mengkloningnya ke disk linux saya dengan Clonezilla. Memulihkannya pada disk baru dan mengubah ukurannya dengan alat Manajemen Disk Windows 7. Ini dari NTFS ke NTFS.
Thomas Watnedal
Anda mengatakan 'mengkloning drive' meskipun dia bertanya mengkloning partisi Juga katanya sistem file yang berbeda.
barlop
5

Solusi yang saya gunakan di masa lalu adalah tar. Jika partisi memiliki ukuran dan jenis yang sama persis, Anda dapat menggunakan dd.

Inilah jawaban saya untuk kesulitan:

  1. boot menggunakan distro cd langsung seperti Slax
  2. verifikasi partisi yang Anda inginkan ada di drive baru
  3. pastikan drive lama dan baru sudah terpasang, misalnya /tmp/driveolddan / tmp / drivenew '
  4. jalankan dari terminal tarperintah berikut :

    (tar cp --xattrs /tmp/driveold/path) | (tar x /tmp/drivenew/path)

  5. ulangi untuk setiap partisi yang perlu Anda salin

Ini berfungsi untuk setiap partisi yang pernah saya coba (tidak termasuk /boot, yang saya pastikan partisi identik, dan digunakan dd).

warren
sumber
2
Saya suka solusi ini karena sangat sederhana, tetapi saya pikir Anda akan memerlukan beberapa opsi tambahan seperti p (pertahankan izin) untuk mendapatkan semua meta-data.
Jay Conrod
1
Anda tepat di p - Saya telah menambahkan bahwa :)
warren
2
Berbicara tentang meta-data, --xattrsopsi (menyimpan ACL dan info SELinux) juga harus digunakan.
Cristian Ciupitu
2 ter yang terhubung dengan pipa bisa diganti cpio --pass-through.
Cristian Ciupitu
1
Versi apa yang tarmemiliki --xattrsopsi? Bukan milikku. Saya sarankan menggunakan rsyncatau cpsebagai gantinya: serverfault.com/questions/306538/…
Teddy
2

Ini adalah salah satu alasan saya suka LVM. Cukup tambahkan disk baru ke grup volume, pvmovevolume logis dari disk lama ke disk baru, hapus disk lama dari grup volume, dan kemudian dari sistem. Jika itu adalah disk boot yang Anda ganti maka Anda juga perlu memperbarui boot loader Anda.

pgs
sumber
Itu adalah ide bagus - kecuali jika Anda tidak menjalankan LVM, itu adalah sedikit rasa sakit :) Terima kasih atas saran, meskipun!
warren
Sesuatu untuk dipertimbangkan lain kali Anda menginstal :-)
pgs
2

+1 ke warren dan menggunakan tar.

Namun, saya biasanya mencoba mengembalikan dari cadangan. Dan pindah dari satu disk ke yang baru sepertinya kesempatan yang bagus untuk melihat apakah rencana cadangan Anda berfungsi.

Jika Anda mensimulasikan kegagalan disk (menarik daya dari disk lama), mulailah untuk memulihkan ke disk baru. Dan ketika Anda selesai, Anda memulai disk lama dan diff mereka untuk melihat apakah Anda mendapatkan semua file.

Jika keduanya identik, Anda berdua telah memindahkan semua data Anda, dan Anda tahu bahwa rencana cadangan Anda valid dan berfungsi.

Johan
sumber
ide yang bagus - meskipun bagi mereka di antara kita (<whistle mode = "innocent" />) yang tidak memiliki solusi "cadangan", ini mungkin juga Waktu yang Baik untuk datang dengan satu :)
warren
1
:)
Johan
2

Opsi lain adalah mem-boot dari liveCD dan me-mount drive lama sebagai hanya baca. Ini untuk mencegah livecd dari mengubahnya selama penyalinan. Kemudian rsync -avz /mnt/olddisk/ /mnt/newdisk(trailing slash setelah olddisk diperlukan). Seperti yang telah disebutkan orang lain, jika ini adalah disk boot yang sedang diperluas, Anda harus menjalankan ulang grub-install <new device>sebelum dapat bootable.

Shoan
sumber
ada satu aku tidak akan :)
warren
1

Sebagian besar utilitas kloning disk dapat melakukan ini. Saya suka menggunakan g4u dari livecd. Hantu itu bagus, tetapi saya lebih suka menggunakan yang gratis.

menggigil42
sumber
1

Saya juga menemukan Disk Copy , yang tampaknya tidak ada dalam daftar Wikipedia, tetapi belum pernah menggunakannya.

warren
sumber
1
Copy Disk bagus.
craigmoliver
Sayangnya, ini hanya untuk windows, dan pertanyaan ini diberi tag linux.
programmer5000