/ İnek kurallı yolu alınamadı


42

Bir süredir Ubuntu 12.10'u kurmaya çalışıyorum ve engelleri birer birer geçiriyorum. Şimdi aşağıdaki gibi bir durumdayım.

Tamamen Ubuntu'ya tahsis edilmiş bir WUBi ve çift önyükleme seçeneği bulunmayan bir PC ve 10 GB HDD'm var.

DVD'den yüklemeye çalışıyordum, ancak "Frekans dışında" hatası ile takılıyor. Bu yüzden USB önyükleme seçeneği için uyum sağlamak zorunda kaldı. Ancak bilgisayarım USB önyüklenebilir değil, bu nedenle geçici çözüm "Plop Boot Manager". Bu yüzden kurulum prosedürünü aşağıdaki gibi yapıyorum:

  1. Plop yüklü olan bir CD sürücüsünden başlayarak.
  2. Plop seçeneklerinde USB önyüklemesi için tercih.
  3. önyükleme USB'den başlar.
  4. monitör sonunda "frekans dışı" hata veriyor
  5. terminali almak için Shift+ Alt+ tuşlarına basın F1.
  6. grubunu aç sudo nano /etc/default/grub.
  7. gerekli değişiklikleri yapın.
  8. sudo update-grub.

Şimdi burada şöyle hata alıyorum:

/usr/sbin/grub-probe:error:failed to get canonical path of /cow.

Benim sistemim

P4 3.06 GHz, 1 GB ram, işletim sistemi olmayan 10 GB HDD, CRT lg StudioWorks'ü (7 yaşında) izleyin. Mobo Mercury P4 266a NDMx (865 eşdeğeri). Tüm sistem XP altında mükemmel çalışır durumdadır, ancak USB önyüklenebilir değildir ve diğer tüm cihazlar mükemmel çalışır.

Sonra ne yapmalıyım?


Bilgisayarınızda Ubuntu'yu çalıştırmak için Önerilen Minimum Sistem Gereksinimleri var mı? 12.04'ü 1GB RAM'den düşük makinelere takarken sorun yaşadım.
CSCameron

Evet, sistem spesifikasyonumu soruya ekledim.
ulkaNCST

askubuntu.com/questions/207663/… bir denemeye değer olabilir.
Rinzwind

5
İlk bazı klasöre sabit sürücü bağlama, demek /mntve sonra chrootiçin /mnt.
yeşil,

Yanıtlar:


29

Ubuntu canlı CD'sinden (14.04 ve 16.04 denendi) önyükleme yaptıktan sonra, grub bölümündeki chroot güncelleme grubunu çalıştırarak bu sorunu çözebildim. ( /dev/sda1Hangi bölümü kurduğunuza bağlı olarak aşağıdan değiştirin. Tüm komutları root olarak yazın.)

mkdir /mnt/chrootdir
mount /dev/sda1 /mnt/chrootdir
for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do
    mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir
done
chroot /mnt/chrootdir
update-grub2  # inside chroot

2
Mount'ı çalıştırmaya çalışmak bana şu hatayı veriyor : NTFS signature is missing., garip, çünkü NTFS değil Ext4 olmalı ...
Cerin

@Cerin, / dev / sda1’in benim için doğru bölüm olduğunu vurguluyorum, ancak bu birim NTFS ise, açıkça sizin için değil.
Nathan Kidd

Çözümünüz kafa karıştırıcı. İlk kısmı ve ikincisini ilk kısmın içinden geçirmeniz mi gerekiyor? Yoksa ilk kısımda yaptığınız her şeyi atıp sadece ikinci kısmı yönetiyor musunuz? Neden / / dev / sda ve / dev / sda1'i bağlıyorsunuz?
Cerin

2
Talimatlarını takip ettim ve sona erdi /usr/sbin/grub-probe: error: failed to get canonical path of '/boot'., ancak /bootönyükleme sürücümde sadece benim bölümüm vardı , gerisi başka bir yerdeydi.
Kızak

1
Daha grub-install /dev/sdaönce ek yapmak zorunda kaldı update-grub, sonra çalıştı!
kiw

10

Önyüklemesi gereken sürücünüzü bulun

mount

Veya

parted -l

Veya

fdisk /dev/sda

Ve bölümleri listelemek için p yazın, 83 yazın.

(Fedora'ya sahipseniz, "vgs" ve "lvs" komutlarını kullanmanız gerekebilir ve mdraid varsa, "cat / proc / mdstat" veya mdadm -A --scan veya insmod raid1 veya insmod raid5 ve sonra mdadm -A --scan) ve / dev / sda yerine / dev / md0 veya / dev / mapper / my-vg kullanacaksınız

sonra takmayı dene

mkdir /mnt
mount /dev/sda1 /mnt
cd /mnt
ls -l

Bu senin sürücün mü? Güzel!

grub-install --recheck --root-directory=/mnt /dev/sda 

(Ya da kökünüzü hangi sürücü / sürücü kullanıyorsa, monte edilmiş yolu ile)

grub-install --recheck --root-directory=/mnt /dev/sda --force

(Bölümlerinizi beğenmiyorsa zorlayın.)

Şimdi gruba önyüklemesi gerekir ve BIOS komutundan doğru önyükleme sürücüsünü yeniden başlattıktan ve seçtikten sonra veya BIOS'unuza ve yeterince hızlı olup olmadığına bağlı olarak ESC veya F12 tuşuna basarak önyükleme yapmak için grub komutlarını kullanabilirsiniz. Grub istemi - (hd0,1) ama (hd1,3) veya bunun yerine başka bir şey olup olmadığını bulmak için sekme tamamlamayı kullanabilirsiniz, ancak grubun sürücüyü okuyamaması durumunda sekme tamamlamanın bazen birkaç saniye askıda kalmasına dikkat edin. .

insmod linux
ls
root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
boot

Veya, umarım hala sağlam bir grub.cfg dosyanız vardır ... yoksa belki işe yarayabilir:

grub-mkconfig -o /mnt/boot/grub/grub.cfg

1
Bölmelerimden hoşlanmadı, ama -fişe yaramadı. Kullanmak zorunda kaldım--force
RM

GRUB'dan boot etmek için sistemimde yukarıdaki gibi değişmek zorunda kaldım: linux /vmlinuz root=/dev/sda1 (yani kök klasör) initrd /boot/initrd.img (yani ekle .img)
Warner

5

Yukarıdaki koda göre gözden geçirilmiş çözüm

Yukarıdaki çözüm, sorunsuz bir şekilde tamamen çalışmaz çünkü önyükleme bölümünü dosya sisteminin / (kök dizinine) monte eder. Bu, grubun / boot'ın olmadığından şikayet etmesini sağlar. Bu, bu sorunu çözecektir:

mkdir /mnt/chrootdir
mkdir /mnt/chrootdir/boot
mount /dev/sda1 /mnt/chrootdir/boot
for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir ; done
chroot /mnt/chrootdir
update-grub2  # inside chroot

Gördüğünüz gibi satır sonlarını da kaldırdım, böylece herkes için yürütülmesi daha kolaydır.

Başka (daha basit) bir çözüm

Çalışmakta sorun yaşamaya devam ederseniz, / boot bölümünü / (root) bölümüne kopyalamaya çalışmalısınız. Bunun için sisteminizi Ubuntu live boot dvd ile başlatın ve terminali açın. İçinde yazın:

sudo su
fdisk -l

Hangi bölümlere sahip olduğunuzu bulmak için. Benim durumumda sda1 yaklaşık 250 MB büyüklüğündeki sda5 ve yaklaşık 500 GB büyüklüğündeki sda5. Bu değerleri aşağıdaki komutlarda kullanıyorum:

mkdir /mnt/boot/
mount /dev/sda1 /mnt/boot/

mkdir /mnt/root/
mount /dev/sda5 /mnt/root/

cp -R /mnt/boot/ /mnt/root/boot/

Veri bölümü için önyüklenebilir bayrağını ayarlayın ve önyükleme bölümü için kaldırın:

fdisk /dev/sda
b -> 1 (unset the bootable flag for the first partition)
b -> 5 (set the bootable flag for the fifth partition)
w -> write changes to the MBR

Bilgisayarınız şimdi önyükleme dosyaları için sda5 içine bakacak. Chrooting'i tekrar yapma zamanı geldi, bu sefer grub için gerekli ve Ubuntu canlı diskiniz tarafından üretilen bazı gerekli klasörlerle:

mkdir /mnt/chrootdir/
mkdir /mnt/chrootdir/dev/
mkdir /mnt/chrootdir/proc/
mkdir /mnt/chrootdir/sys/

mount /dev/sda5 /mnt/chrootdir/
mount --bind /dev/ /mnt/chrootdir/dev/
mount --bind /proc/ /mnt/chrootdir/proc/
mount --bind /sys/ /mnt/chrootdir/sys/

chroot /mnt/chrootdir/

grub-install /dev/sda

Kurulum tamamlandı. Hata bildirilmedi.

Grub.cnf dosyasının üretildiğini belirten bir mesaj göremezseniz, update komutunu da çalıştırın:

update-grub2 /dev/sda

Artık güvenle yeniden başlayabilir ve tanınmış önyükleme menüsünün yeniden görüntülendiğini görebilirsiniz.

Bu çözüm, fiziksel bir sunucudan sanal bir makineye geçtikten sonra benim için çalışan tek çözümdü. Umarım birileri bunu yararlı bulur!


0

Biliyorum, bu eski bir problem, ama bugün nane-linux (ubuntu tabanlı) sürümüyle aynı sıkıntıları yaşadım. Çok basit bir çözüm buldum! :-) İlk kurulum sırasında internet bağlantısını kesin. Bu, uyumlu olmayan grubun yüklenmesini durdurur2. Kurulum tamamlandıktan sonra tüm güncellemeleri yapın.


0

Aynı hatayı aldım. Tek sorun / ineğin hala / üzerine monte edilmiş olmasıdır.

Küçük bir sudo umount / inek hile yaptı.


-6

Bu, canlı bir cd'den kullanırken hatayı size verecek güncelleme grub komutudur. Grub kurtarma yaparken de benzer bir durumla karşılaştım. Sahip olduğunuz sorun, güncelleme grub ve grub kurulum komutlarının doğrudan canlı cd altında çalışmamasıdır (nedenini bilmiyorum). Öyleyse, komutların bulunduğu yere / usr / sbin konumuna gitmeli ve onları oradan yerine getirmelisiniz (örneğin ./update-grub).


Hayır, sabit diski takmanız ve içine “green7” dediği gibi chroot koymanız gerekir.
psusi

Benim yöntemim de işe yarıyor. dene. daha basit
aveemashfaq

1
Senin bir yöntemin yok. / usr / sbin zaten yolda, bu yüzden cd'ye gerek yok. Grub-install ve update-grub'u doğrudan canlı cd'den (not ettiğiniz gibi) çalıştıramazsınız çünkü gruba sabit diskte yüklü olan işletim sisteminden ziyade canlı cd olacak olan sistemi başlatmak için grub ayarlamaya çalışır sürücü.
psusi

Bu, elbette, çalışmıyor. "İnek topunu / inek olamaz" hatası alıyorsunuz. Ve / usr / sbin'e cd-inle ilgili şeyler.
dan3,

Deneyin millet. her zaman benim için çalıştı
aveemashfaq
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.