GNU/Linux >> Belajar Linux >  >> Debian

Debian/grub2:Memindahkan Partisi Root ke Drive Baru?

Adakah yang punya saran tentang cara memindahkan partisi root ke drive baru dan mengatur grub2 untuk boot di drive itu? Sepertinya saya tidak beruntung menginstruksikan grub-mkconfig apa yang ingin saya lakukan (misalnya chroot'int ke root baru saya hanya membingungkan semua skrip).

Latar Belakang Saya menjalankan Debian Squeeze pada NAS berdaya rendah tanpa kepala. Pengaturan saya saat ini adalah / di sda0 dan /boot di sde0 (kartu CF):Saya membutuhkan /boot yang terpisah karena sd[a-d] perlu melakukan spin-up tertunda. Sekarang saya telah menemukan disk IDE 2,5″ lama untuk digunakan sebagai / termasuk /boot untuk memungkinkan saya memutar semua disk besar.

Yang telah saya coba Pada dasarnya saya pergi

mount -o rw /dev/sdf5 /mnt/newroot
cp -ax / /mnt/newroot
cp -ax /boot /mnt/newroot/boot

Kemudian saya mencoba

chroot /mnt/newroot
update-grub

Tapi itu gagal dengan grub menanyakan apakah root sudah terpasang.
Kemudian saya melakukan upaya setengah hati untuk menyiapkan /mnt/newroot/grub/grub.cfg untuk menemukan gambar kernel di sdf5 , diikuti oleh grub-install --root-directory=/mnt/newroot /dev/sdf . Tapi ini baru saja memberi saya prompt penyelamatan grub ketika saya mencoba mem-boot dari sdf .

Rencana cadangan saya adalah menginstal ulang saja, jadi pertanyaan bonus (tidak ada tanda centang untuk yang ini):Apa yang harus saya lakukan untuk mendapatkan konfigurasi lvm2 dan mdadm saya? Apakah semuanya disimpan dalam sistem file (dan akan ditemukan secara otomatis), atau apakah saya perlu mengambilnya sendiri?

Solusi (terima kasih kepada Maciej Piechotka):Seperti yang ditunjukkan Maciej, saya perlu melakukan chroot yang tepat agar semua alat grub berfungsi. Untuk referensi, ini adalah bagaimana saya melakukannya:

[email protected]:/mnt/newroot$ sudo cp -ax / /mnt/newroot
[email protected]:/mnt/newroot$ sudo cp -ax /boot /mnt/newroot

Semua file sekarang disalin (lihat di sini untuk diskusi tentang strategi penyalinan). Perbaiki etc/fstab yang baru untuk menunjuk ke root baru:

[email protected]:/mnt/newroot$ diff -u etc/fstab.old  etc/fstab
    -UUID=399b6a6d-c067-4caf-bb3e-85317d66cf46 /     ext3 errors=remount-ro         0 1
    -UUID=b394b614-a977-4860-bbd5-7862d2b7e02a /boot ext3 defaults                  0 2
    +UUID=b9d62595-e95c-45b1-8a46-2c0b37fcf153 /     ext3 noatime,errors=remount-ro 0 1

Terakhir, pasang dev ,sys dan proc ke root dan chroot baru:

[email protected]:/mnt/newroot$ sudo mount -o bind /dev /mnt/newroot/dev
[email protected]:/mnt/newroot$ sudo mount -t proc none  /mnt/newroot/proc
[email protected]:/mnt/newroot$ sudo mount -t sysfs none /mnt/newroot/sys
[email protected]:/mnt/newroot$ sudo parted /dev/sdb set 5 boot on 
[email protected]:/mnt/newroot$ sudo chroot .

Kami sekarang di-chroot ke root masa depan persis seperti yang akan terlihat. Menurut Maciej, sebaiknya panggil saja grub-install , tapi saya melakukan update-grub pertama untuk melihat /boot/grub/grub.cfg yang dihasilkan sebelum menginstal bootloader. Saya tidak yakin itu akan diperbarui secara otomatis?

[email protected]:/# update-grub
[email protected]:/# grub-install /dev/sdb

Jawaban yang Diterima:

Pasang sistem file dasar dan salin/modifikasi file saat melakukan chroot seperti:

  • /dev (mount -o bind /dev/ /path/to/chroot/dev )
  • /proc (mount -t proc none /path/to/chroot/proc )
  • /sys (mount -t sysfs none /path/to/chroot/sys )

IIRC yang bekerja untuk saya saat menginstal Grub 2 di arch dan berkali-kali di Gentoo. Kemudian setelah chroot ke /path/to/chroot perintahnya sederhana:

grub-install /dev/<boot_disk>

Pada lvm2 (dan saya percaya madm tetapi saya belum menggunakannya) konfigurasi disimpan di disk. Ada konfigurasi apa yang harus dibaca untuk menemukan perangkat. Dengan asumsi perangkat Anda berada di lokasi standar (/dev/sd* atau /dev/hd* ) seharusnya tidak ada masalah.

Terkait:Buat file sebagai pengguna dan grup yang berbeda?

PS. Saya tidak akan mempercayai cp sederhana dari sistem live karena ada beberapa tempat yang bisa salah:

  • Lupa mengubah /etc/fstab dan file berguna lainnya
  • File diubah selama akses
  • Mengatasi sampah (/tmp dll.)

Debian
  1. Debian 10 (Buster) Dirilis – Fitur Baru

  2. Setel Ulang Kata Sandi Root yang Terlupa di Debian 10 / Debian 11

  3. Bagaimana cara menginstal GRUB di drive baru?

  1. Debian 8 Jessie Dirilis – Apa yang Baru?

  2. Cara Menginstal TYPO3 di Debian 9

  3. Debian – Memindahkan /var, /home Untuk Memisahkan Partisi?

  1. Cara Menginstal MariaDB di Debian 10

  2. Cara Mengkonfigurasi Server SFTP dengan Chroot di Debian 10

  3. Cara Menginstal dan Mengkonfigurasi KVM di Debian 10 (Buster)