Saya memiliki dua drive di komputer saya yang memiliki konfigurasi berikut:
Drive 1: 160GB, /home
Drive 2: 40GB, /boot and /
Sayangnya, drive 2 tampaknya sekarat, karena mencoba menulis ke sana memberi saya kesalahan, dan memeriksa pengaturan SMART menunjukkan keadaan yang menyedihkan.
Saya memiliki banyak ruang di Drive 1, jadi yang ingin saya lakukan adalah memindahkan partisi / dan / boot ke sana, menghapus Drive 2 dari sistem, mengganti Drive 2 dengan drive baru, kemudian membalikkan proses.
Saya membayangkan saya perlu melakukan beberapa pembaruan untuk grub, dan saya perlu memindahkan beberapa hal, tetapi saya cukup bingung bagaimana cara tepatnya mengenai hal ini. Karena ini adalah komputer utama saya, saya ingin berhati-hati untuk tidak mengacaukan semuanya sehingga saya tidak bisa boot.
sumber
Jawaban:
Anda harus boot dari live cd. Tambahkan partisi untuk mereka ke disk 1, salin semua konten, dan kemudian gunakan
sudo blkid
untuk mendapatkan UUID dari setiap partisi. Di disk 1 baru /, edit / etc / fstab untuk menggunakan UUID baru yang baru saja Anda cari.Memperbarui GRUB tergantung pada apakah itu GRUB1 atau GRUB2. Jika GRUB1, Anda perlu mengedit /boot/grub/device.map
Jika GRUB2, saya pikir Anda perlu me-mount partisi Anda karena mereka akan berada dalam situasi nyata. Sebagai contoh:
(Mengisi apa pun partisi sebenarnya yang Anda salin, tentu saja)
Kemudian ikat mount / proc dan / dev di / media / root:
Sekarang chroot ke drive sehingga Anda dapat memaksa GRUB untuk memperbarui sendiri sesuai dengan tata letak baru:
Perintah kedua akan membuat satu keluhan (saya lupa apa itu ...), tapi tidak apa-apa untuk diabaikan.
Uji dengan menghapus drive yang buruk. Jika tidak berhasil, bad drive masih bisa mem-boot sistem, tapi saya yakin ini semua langkah yang diperlukan.
sumber
/media/root/boot/efi
, antara lain.sudo grub-install /dev/sda
sebelumsudo update-grub
Jika Anda langsung mengganti drive, Anda dapat menggunakan
dd
(mencobanya di server saya beberapa bulan yang lalu, dan itu berfungsi seperti pesona).Anda juga akan memerlukan CD boot untuk ini.
dd if=/dev/sdb1 of=/media/drive1/backuproot.img
- sdb1 menjadi/
partisi root ( ) Anda. Ini akan menyimpan seluruh partisi dalam file./boot
dd if=/media/drive1/backuproot.img of=/dev/sdb1
- tulis kembali./boot
Di atas akan membuat 2 partisi dengan ukuran yang sama persis seperti sebelumnya. Anda mungkin perlu menyesuaikan grub (periksa pos makro).
Jika Anda ingin mengubah ukuran partisi Anda (seperti yang saya lakukan):
/
dan/boot
; ukuran apa pun yang Anda inginkan)mount /media/drive1/backuproot.img /media/backuproot/
/
partisi kosong :mount /dev/sdb1 /media/sdb1/
cp -R
tidak akan melakukannya!)cp -R --preserve=all /media/backuproot/* /media/sdb1
/boot/
Ini harus dilakukan.
sumber
Solusi terakhir saya untuk ini adalah kombinasi dari sejumlah teknik:
Ini semua bekerja dengan baik, tetapi saya perlu memperbarui grub2 sesuai instruksi di sini .
Setelah semua ini dilakukan, semuanya tampak berhasil.
sumber