Yeni bir ArchLinux kurulumunda “kök cihaz bulunamıyor”


36

Resmi kurulum kılavuzundaki talimatları izleyerek MacX Pro 8,1'de (donanım açısından önemliyse), MacX Pro 8,1'e (donanım açısından önemlidir) çift önyüklemeli olan ArchLinux'un (2014.06.01) en son sürümünü yükledim . yeni kurulan sisteme, beni kurtarma kabuğuna sürüklüyor:

ERROR: device 'UUID=<snip>' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=<snip>'.
You are being dropped to a recovery shell
    Type 'exit' to try and continue booting
sh: can't access tty: job control turned off
[rootfs /]# 

(UUID'yi kaldırdım çünkü yazmak istemedim, ancak blkidArchLinux'un yüklü olduğu bölüm için (yükleme diskinden) bana verilenle aynı)

Diğer çevrimiçi kaynaklar bu modası geçmiş nedeniyle önermek pacman, udev, filesystemveya linuxpaketin. Ancak bu sorunu, yeni bir kurulum değil, yalnızca çalışan bir sistemden yapılan bir çekirdek güncellemesinden sonra açıklarlar. arch-chrootKurulum diskine önyüklenirken bu paketleri ortamdan zorla yeniden kurdum , ancak bu durum değişmedi.

Bunun yerine, şovumla ilgili biraz deneme grub.cfg, neyin şikayet edildiğinin, hangi dosyanın kullanılacağını seçen komutun rootparametresi olduğunu gösterir. Gerçekten de, değişen etmek veya (Arch Linux yüklü olduğu hem tanımlamak ve kesinlikle başka dağılımı ile daha önce hiç başarılı ikinci versiyonunu kullanmış) verir ve sırasıyla. Ayrıca, GRUB, UUID tarafından bölüm bulabiliyor gibi görünmektedir, yalnızca linux çekirdeği, bulunmadığından şikayet etmektedir, çünkü ilk ramdisk düzgün bir şekilde yüklenmiştir (yani bu, burada açıklandığı gibi bir GRUB hatası değil, linux hatasıdır) .linuxvmlinuzroot=UUID=<snip>root=LABEL=ArchLinuxroot=/dev/sda8Unable to find root device 'LABEL=ArchLinux'Unable to find root device '/dev/sda8'

Yan not olarak: kurtarma kabuğu oldukça sınırlıdır ve standart çıktı düzgün çalışmıyor gibi görünmektedir. Bununla birlikte, lsçalışır ve dosyaların listelenmesi, temel (geçici) bir dosya sistemi gösterir, ancak tüm disk aygıtlarından eksik görünmektedir /dev. Ancak, bu hatanın bir parçası olup olmadığını bilmiyorum.

Bu benzerdir, ancak Linux ile aynı değil , bölüm başlangıcından itibaren ext4 olduğu için önyükleme yaparken kök dosya sistemi bulamaz . Ayrıca tam olarak aynı değildir, ancak belki ilgili olabilir Macbook Pro 7.1'de ArchLinux'u önyükleyemiyor - kurtarma kabuğuna düşer , ancak orada ramfskabuk yerine bir kabuğun içine düşer rootfsve hata mesajları farklılık gösterir.

Yanıtlar:


34

Normal görüntü ile önyüklemek yerine, geri dönüş sürümünü kullandım ve sisteme ön yükleme yapmayı başardım. Görünen o ki, Linux block mkinitcpiovarsayılan görüntüden eksik olan kanca (blok cihazlardan sorumlu) nedeniyle herhangi bir sürücü tespit edemedi . Bu sonra konuyor bunun kaynaklandığını autodetectiçinde /etc/mkinitcpio.conf. Bunu düzeltmek için, HOOKS=...bu dosyada çizgi böylece değiştirilmesi gerekir blockönce gelirautodetect

Düzeltmeden önce:

HOOKS="base udev autodetect block modconf filesystems keyboard fsck"

Düzeltmeden sonra:

HOOKS="base udev block autodetect modconf filesystems keyboard fsck"

Yeniden oluşturmak mkinitcpio -p linuxiçin koşmak initramfsdaha sonra sorunu kalıcı olarak düzeltti.


Çok yardımcı oldu :)
ajukraine

Bu üremek zor görünüyor, aynı problem vardı ve bu düzeldi ama aynı sürücü başka bir bilgisayarda mükemmel çalışıyordu. Sorunun meydana geldiği bilgisayar oldukça eski bir LGA775 bilgisayarıydı ve yukarıdaki çözüm bir mbr bölme tablosu kullanırken gerekli değildi. Bu nedenle, sorun yalnızca UEFI olmayan eski bir sistemde gpt bölümleme tablosu kullanıldığında meydana geldi. Mac'ler her zaman EFI kullanıyor mu bilmiyorum ama hangi bölüm tablosunu kullandığınızı merak ediyorum?
MADforFUNandHappy

Uzun zaman oldu ve MacBook artık yok ama GPT kullandığından eminim.
hlt

OP ile aynı sorunları alıyorum ve cevabınız benim için geçerli gibi görünse de, sorunumu çözmedi.
Nathan,

1

Benzer bir sorunla karşılaştım ama farklı bir kurulumla. ArchLinux'u sanal bir makinede kullanıyorum ve açılış yükleyicim syslinux. Numaralarınızı çekirdek kanca düzenini değiştirmek için kullandım ama hala bir rootfs kabuğuna kapıldım.

Benim için sorunu çözen benim hattımdaki APPENDçizgiyi değiştirmek oldu syslinux.cfg.

APPEND root=UUID=<snip>

için

APPEND root=PARTUUID=<snip>

Kolayca ekleyebilirsiniz PARTUUIDetmek syslinux.cfggibi bir komutu kullanarak blkid | grep sda1 | awk '{ print $7 }' >> /boot/syslinux/syslinux.cfgkök bölümü olduğunu varsayarak/dev/sda1

Daha sonra, satırı uygun alana taşımak için favori metin düzenleyicinizi kullanabilirsiniz.

EDIT: Sadece küçük awk betiğindeki sütun numarasının değişebileceğini anladım, bu yüzden içine koymadan önce çıktıya bir göz atın. syslinux.cfg

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.