it-swarm-tr.com

Önyükleme ve kök bölümlerini başka bir sürücüye taşıma

Bilgisayarımda aşağıdaki yapılandırmaya sahip iki sürücüm var:

Drive 1: 160GB, /home
Drive 2: 40GB, /boot and /

Ne yazık ki, sürücü 2 ölüyor gibi görünüyor, çünkü yazmaya yazmaya çalışmak bana hata veriyor ve SMART ayarları kontrol etmek üzücü bir durum gösteriyor.

Drive 1'de çok yerim var, bu yüzden yapmak istediğim/ve/boot bölümlerini ona taşımak, Drive 2'yi sistemden kaldırmak, Drive 2'yi yeni bir sürücü ile değiştirmek ve ardından işlemi tersine çevirmek.

Grub için bazı güncellemeler yapmam gerektiğini hayal ediyorum ve bazı şeyleri hareket ettirmem gerekiyor, ama tam olarak bu konuda nasıl gideceğimi hayrete düşürüyorum. Bu benim ana bilgisayarım olduğu için, bir şeyleri karıştırmamaya dikkat etmek istiyorum, bu yüzden önyükleme yapamıyorum.

32
mlissner

Buna son çözümüm bir dizi tekniğin birleşimiydi:

  1. Ölen sürücüyü ve değiştirilmesini aynı anda bilgisayara bağladım.
  2. Yeni sürücü eskisinden daha küçüktü, bu yüzden GParted kullanarak eski bölümleri küçülttüm.
  3. Bunu yaptıktan sonra, eski sürücüdeki bölümleri kopyaladım ve yenisine yapıştırdım (GParted kullanarak).
  4. Ardından, önyükleme bayrağını yeni sürücüdeki doğru bölüme ekledim, bu yüzden eski sürücünün aynası oldu.

Tüm bunlar iyi çalıştı, ama talimat2 burada grub2 güncellemek gerekiyordu.

Tüm bunlar yapıldıktan sonra işler işe yarıyor gibi görünüyor.

6
mlissner

Canlı bir cd'den önyükleme yapmanız gerekir. Bunlar için disk 1'e bölümler ekleyin, tüm içeriği kopyalayın ve Sudo blkid her bölümün UUID'sini almak için. Disk 1'in yeni/dizininde, az önce aradığınız yeni UUID'leri kullanmak için/etc/fstab dosyasını düzenleyin.

Güncelleme GRUB, GRUB1 veya GRUB2 olmasına bağlıdır. GRUB1 ise, /boot/grub/device.map dosyasını düzenlemeniz gerekir

GRUB2 ise, bölümlerinizi gerçek bir durumda olduğu gibi monte etmeniz gerektiğini düşünüyorum. Örneğin:

Sudo mkdir /media/root
Sudo mount /dev/sda1 /media/root
Sudo mount /dev/sda2 /media/root/boot
Sudo mount /dev/sda3 /media/root/home

(Tabii ki bölümleri kopyaladığınız gerçek bölümleri doldurmak)

Ardından/media/root dizinine mount/proc ve/dev komutlarını bağlayın:

Sudo mount -B /proc /media/root/proc
Sudo mount -B /dev /media/root/dev
Sudo mount -B /sys /media/root/sys

Şimdi sürücüye bağlanın, böylece GRUB yeni düzene göre kendini güncellemeye zorlayabilirsiniz:

Sudo chroot /media/root
Sudo update-grub

İkinci komut bir şikayet yapacak (ne olduğunu unutuyorum ...), ama görmezden gelmek tamam.

Bozuk sürücüyü çıkararak test edin. Çalışmazsa, kötü sürücü yine de sistemi önyükleyebilmelidir, ancak bunların hepsinin gerekli adımlar olduğuna inanıyorum.

31
maco

Sürücüyü hemen değiştirirseniz dd (birkaç ay önce sunucumda denedim ve bir cazibe gibi çalıştı) kullanabilirsiniz.

Bunun için bir önyükleme CD'sine de ihtiyacınız olacak.

  1. Önyükleme CD'sini başlat
  2. Sadece Sürücü 1'i takın
  3. Çalıştırmak dd if=/dev/sdb1 of=/media/drive1/backuproot.img - sdb1 kökünüz (/) bölüm. Bu, tüm bölümü bir dosyaya kaydeder.
    • aynısı /boot
  4. Gücü kapatın, diski değiştirin, gücü açın
  5. Çalıştırmak dd if=/media/drive1/backuproot.img of=/dev/sdb1 - geri yaz.
    • aynısı /boot

Yukarıdaki, daha önce sahip oldukları boyutta 2 bölüm oluşturacaktır. Grub'u ayarlamanız gerekebilir (macos gönderisini kontrol edin).

(Ben yaptığım gibi) bölümleri yeniden boyutlandırmak istiyorsanız:

  1. Yeni sürücüde 2 Bölüm oluşturun (/ ve /boot; ne istersen boyutu)
  2. Yedek resmi yükleyin: mount /media/drive1/backuproot.img /media/backuproot/
  3. Boş / bölüm: mount /dev/sdb1 /media/sdb1/
  4. İçeriğini yeni bölüme kopyalayın (bu komuttan emin değilim, sahipliği korumak gerçekten önemli, cp -R yapmayacak!) cp -R --preserve=all /media/backuproot/* /media/sdb1
    • aynısı /boot/

Bunu yapmalı.

6
sBlatt