Bagaimana cara memindahkan instalasi Linux di antara partisi?

8

Saya mendapatkan HDD baru dan ingin memindahkan instalasi Linux yang sudah ada (lebih spesifik: OpenSUSE 11.1) dari partisi pada HDD lama ke partisi pada HDD baru.

Rencana saya adalah:

  1. boot menggunakan CD boot (katakanlah itu adalah CD boot OpenSUSE)

    EDIT Seperti yang disarankan oleh banyak orang (terima kasih untuk semua)
    1a. salin semua file dari satu drive ke drive lain

  2. memodifikasi / etc / fstab ( tambahkan mount poin ke partisi baru)
  3. memodifikasi / boot / grub / menu.conf ( tambahkan partisi boot)
  4. instal ulang grub

Apakah saya benar? Apakah itu?
Atau apakah saya salah langkah penting? (Saya cukup yakin saya lakukan)

linux_is_for_desktop
sumber
1
Anda melewatkan langkah sebenarnya menyalin file dari partisi lama ke yang baru. beberapa mungkin mengatakan bahwa cukup penting :)
cas

Jawaban:

4

Saya akan mengatakan ada satu hal yang Anda lewatkan.

  1. boot menggunakan CD boot (katakanlah itu adalah CD boot OpenSUSE)

    1a. salin semua file dari satu drive ke drive lain

  2. memodifikasi / etc / fstab (ubah mount poin ke partisi baru)

  3. memodifikasi / boot / grub / menu.conf (ubah partisi boot)
  4. instal ulang grub

Saya akan mengatakan jika Anda mengatur partisi pada drive baru agar kompatibel dengan pengaturan lama, ini harus cukup mudah. Mungkin sedikit lebih rumit jika Anda harus mengedit lokasi titik mount di dalam file OS. Saya akan merekomendasikan menjaga partisi cukup mirip yang harus Anda lakukan adalah boot, pasang drive baru, salin, ubah partisi boot, instal ulang grub pada drive baru. hapus drive lama dan Anda selesai!

Axxmasterr
sumber
Anda harus berhati-hati dengan penyalinan. Gunakan opsi -a untuk cp.
Kim
5
atau gunakan rsync. ini memiliki keuntungan bahwa jika ada yang mengganggu salinan, Anda dapat menjalankan rsync lagi dan itu akan mengambil dari mana ia tinggalkan daripada memulai dari awal. dalam urutan pilihan, alat yang tepat untuk pekerjaan ini adalah: rsync, tar, cp -a
cas
+1 Saran dari Craig di atas memang saran yang bagus.
Axxmasterr
1

Anda perlu menyalin file seperti yang ditunjukkan Axxmasterr. Segalanya tampak benar bagi saya. Yang lain mengikuti jalur yang sangat mirip: Memindahkan instalasi GNU / Linux ke partisi baru

Hati-hati dengan perintah cp yang Anda gunakan untuk menyalin file. Gunakan opsi -a untuk memastikan perilaku yang benar ketika Anda menekan symlink dan menyimpan informasi kepemilikan.

Beberapa orang menggunakan tar alih-alih cp untuk menyalin file ke partisi baru:

$ cd sourcedir; tar --create --file = -. | (cd targetdir; tar --extract --file = -)

Seperti yang disarankan di tautan di awal, Anda mungkin ingin meninggalkan entri lama di file grub dan hanya menambahkan yang baru, jika Anda perlu kembali.

Semoga berhasil!


sumber
Saya merekomendasikan untuk mengubah titik koma dalam perintah ini menjadi && (operator kondisional) sehingga perintah 'tar' berikutnya tidak akan dieksekusi jika chdir () gagal karena alasan apa pun (salah ketik, izin, apa pun). Saya juga merekomendasikan menggunakan opsi -S (--sparse) dengan 'tar' --create untuk memungkinkan penanganan file sparse seperti beberapa contoh / var / log / wtmp atau / var / run / utmp, misalnya).
Jim Dennis
1

Saya pikir itu akan berhasil.

Jika hanya ada satu partisi pada setiap hard drive, dan disk baru memiliki ukuran yang sama atau lebih besar dari disk asli, maka cara yang lebih cepat adalah dengan mengkloning yang lama (/ dev / xxx, di mana xxx = sda disk asli Anda , hdb, dll.) ke yang baru (/ dev / yyy).

Jadi langkah-langkahnya adalah:

  1. Boot menggunakan live cd
  2. sudo dd if = / dev / xxx = / dev / yyy bs = 32k

Pastikan Anda mendapatkan jika (input file) dan benar, atau Anda akan merusak seluruh disk lama Anda.

Fred Hamilton
sumber
Melakukan dd akan menyalin sistem file juga, itu mungkin tidak siap untuk perubahan ukuran disk (bahkan jika lebih banyak ruang pada disk baru)
Joakim Elofsson
Benar, partisi yang dikloning pada disk baru akan memiliki ukuran yang sama dengan partisi asli pada disk lama, jadi Anda perlu mengembangkannya untuk menggunakan disk baru yang lengkap (saya akan menggunakan gparted). Jika Anda ingin mengubah sistem file juga maka pendekatan "cp -a" yang disebutkan dalam jawaban lain lebih baik.
Fred Hamilton
Anda dapat mengubah ukuran file files ext2-3-4 menggunakan resize2fs. Sistem file lainnya memiliki alat serupa. Untuk ext juga dimungkinkan untuk mengurangi ukuran sistem file. Saya selalu lebih suka ini daripada pendekatan cp / tar / dump.
Kristof Provost