Yavaş önyükleme - “dev-disk-by için bir başlangıç ​​işi var…”


108

Sorunun ne zaman başladığını hatırlamıyorum, ancak VMWare Ubuntu resmimi harici bir SSD'ye taşıdığımda büyük olasılıkla işletim sistemimi bilgisayarlarımın herhangi birinde kullanabilirim. Google’da konuyla ilgili pek fazla bağlantı yok, ancak görünen konular hakkında çok fazla bağlantı yok fstab. Örneğin, Yavaş önyükleme - "Dev-disk-by ... için bir başlangıç ​​işi çalışıyor" nedir? - OpenSUSE Forumu .

Ekran görüntüsü

Değiş tokuş bölümünü silmek ve tekrar yaratmak zorunda kalan sözler.

Bunu Gparted ile yapmayı deneyebilirim ama asıl endişem Ubuntu'daki mevcut kurulumumu kaybediyor çünkü iş parçasında önerildiği gibi takas ile uğraşırsam ne olacağını tam olarak bilmiyorum. Yardım edebilecek kimse var mı?


SSD'nizi klonlamak isteyebilirsiniz ve sonra kendinizi elden çıkarabilirsiniz :) ( Bunun için CloneZilla'yı deneyin )
Grammargeek

Evet, sanırım bunu yapabilirim. Tatilden eve dönene kadar bekleyeceğim, böylece daha fazla alanım olan bir yere taşıyabilirim
cpd1

1
Bunu düzelttim. Gparted'a gidersem bir takas olduğunu sanmıyorum. Bir tane yaratıp fstab içindeki girişi değiştirdim. Bu işe yaradı ve artık 90 saniyelik önyükleme
yapılmadı

1
eğer kendi probleminizi
çözdüyseniz

1
Mantıklı ... Ben ekledim
cpd1

Yanıtlar:


115

Her başlatma sırasında 90 saniyelik bir gecikme ardından "dev-disk-by .. ile başlayan bir başlangıç ​​işi" alırsanız, aşağıdaki adımları tamamlayın:

  1. Yazılım Merkezini kullanarak gparted'ı kurun
  2. Gparted'ı açın ve Ubuntu'nun hangi bölümleri kullandığını görün
  3. Aşağıdaki satırı kullanarak fstab dosyasını düzenleyin.

    sudo -H gedit /etc/fstab
    
  4. Şu anda kullanmadığınız cihazı bulun

  5. #Bu satırın başına bir ve bir boşluk ekleyerek yorum yapın.

  6. Sıfırla, umarım sizin için işe yarar!


3
Adım adım talimatlar herkese yardımcı! Teşekkürler!
John Hall,

Siz adımları attığınızdan beri cevap olarak etiketledim
cpd1

9
+1 ... bulamayanlar için /etc/fstab, ayrıca kontrol edebilirsiniz /etc/crypttab- bu benim davamdı.
Grzegorz

7
Değişen bir blok kimliği ise, yorum yapmak yerine aygıt kimliğini düzeltmeyi tercih ederim.
user1708042

3
Benim için işe yarayan adım 4 olarak değiştirmektir: "Önyüklemede gecikmeye neden olan aygıt için gparted içinde bulunan UUID'yi kopyalayın" ve adım 5 için: "Aygıtın fstab dosyasında bulunduğu yeri değiştirin". Bazen hareket bölümlerini değiştirdiğinizde UUID'ler değişir ve soruna sebep olan budur. Değiştirilen bölüm için yeni UUID'yi düzeltmeniz yeterlidir.
m4l490n

35

Sorun, fstab'ın takas için bir giriş yapmış olmasına rağmen aslında bir tane olmadığı gerçeğinden kaynaklanıyor gibi görünüyor. GParted'i bölümü yeniden boyutlandırmak için kullandım ve yeni bir Swap oluşturdum. Sonra UUID'yi fstab dosyasına kopyaladım ...

  1. Şimdi değiş tokuş ettim
  2. Ve önyükleme saniyeler içinde 90 + saniyeler içinde

5
Ana bölümümü yeniden boyutlandırdım (takas alanı silme / yeniden oluşturma) ve bu sorunla karşılaştım. Aygıtları UUID tarafından listelemek için 'sudo blkid'i kullandım ve / etc / fstab içindeki yeni UUID'yi kullandım.
Brad Goss

32

Ben de gparted canlı yayınlamamı istediğim takasımı silmeye ve yeniden başlatmaya zorladığımdan beri VM'deki birincil bölümümü yeniden boyutlandırdıktan sonra da aynı sorunu yaşadım . Bu, fstab dosyasıyla eşleşmeyen yeni bir UUID'nin ayarlanmasına neden oldu.

Sorunu önlemek için, /etc/fstabsiz de

  • sudo blkidBirincil bölüm yeniden boyutlandırmadan sonra değiştirilebilir UUID'yi yenisiyle değiştirin ( bulmak için çalıştırın ).

  • Veya, birincil bölümün yeniden boyutlandırılmasından önce (veya sonrasında) takas bölümünü yorumlayın.

Eskiden işletim sistemini kurmanın kastedildiği için tavsiye ederim.


Takas
bölümümü

17

Benim durumumda, daha önce şifreli bir takas kullanıyordum ve başlangıç ​​işi de belirtilmişti /dev/mapper/cryptswap1. Sorunu çözmek için ayrıca /etc/crypttabcevabı William MacDonald tarafından açıklanan adımlara ek olarak dosyayı da kaldırdım .


6

Gparted ile bölümleri yeniden boyutlandırırken veya silerken sıklıkla yeni bir takas bölümü oluşturmanız gerekir.

Daha sonra, takasın oluşturulmasından sonra gparted yoluyla aktive edilmesi gerekir ("Takas etkinleştir" komutu vardır).

Ayrıca, yeni UUID'yi / etc / fstab içine kopyalamanız gerekir; aksi takdirde önyüklemede işletim sistemi onu bulmaya çalışır, ancak boşuna, çünkü fstab dosyası eski takas alanını ifade eden UUID'yi içerir. Gparted, UUID için bilgi sağlar ancak terminalde kolayca çalışabilirsiniz:

sudo blkid

onu bulmak için.


4

Önyüklerken de aynı problem vardı.

Benim içinde /etc/fstabdosyanın, benim bölümleri yerler olarak tanımlanır /dev/sda1, /dev/sda2vb, ancak açılışı sırasında, birkaç kez mesaj "göründü bir başlangıç iş dev-SDX için çalışıyor " ( "x", etkilenmez edildiği ünite veya bölüm tanımlar).

Bunu çözmek için, /dev/sdxbölümün UUID değeri değiştirdim . UUID'yi görmek için terminal çalışmasından lsblk -f. Ardından, etkilenen bölümün UUID'sini kopyalayın ve aşağıdaki gibi /etc/fstabdeğiştirerek dosyaya yazın /dev/sdax: /dev/sda1değişiklikler UUID=xxxxxxxxxxxxxxxxxx.

Benim için çalıştı, umarım bu bilgi yararlıdır.


Evet. Bu tam olarak UUID'in çözdüğü problemdir. Sistem, hangi cihazda veya bölümün nerede olduğuna bakılmaksızın, bu kimliğe sahip herhangi bir bölümü monte eder. Dezavantajı ile, bölümü yok ettiğinizde / oluştururken veya yeni bir sürücü taktığınızda UUID'yi değiştirmeniz gerekir. Ve bir bölümü kopyalamak (gparted kopyala / yapıştır), aynı UUID ile bir kopya oluşturacaktır; bu, orijinal ve kopyanın ikisi de aynı anda çevrimiçi olduğunda sorunlara neden olabilir. Çoğu insan için bu tamam, ancak sürücüleri klonlarken / değiştirirken aklınızda bulundurmanız gerekir.
David C.

3

Önyüklemem yavaşladı çünkü sürücümü değiştirdim ve UUID eşleşmedi. Bu, Ubuntu'nun önyükleme sırasında tarama yapmasına neden oldu.

Sürücüleri sık sık değiştiriyorum. Bağlamalarınız her zaman aynı yerde ise (benimki gibi), UUID'yi kaldırabilir ve bu tarama hatasının oluşmasını önlemek için doğrudan yolu koyabilirsiniz ...

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1 /               ext4    errors=remount-ro 0       1
/dev/sda2 none            swap    sw              0       0

Bu öneri önyüklemeyi nasıl hızlandırır? Herhangi bir referans?
Mostafa Ahangarha

Yavaş önyüklemeye neden olan hata sorusunu yanıtlıyordum. Cevabımı netleştirdim.
Dan

1
Evet, cihaz adına göre monte etmek problemi önler, ancak aynı zamanda UUID'lerin (ve birim etiketlerinin) çözülmesi amaçlanan bir problem yaratır - bir sürücüyü farklı yerlere (örneğin bir SATA arayüzünden diğerine) takmak cihazın adını değiştirir, Bağlarını kırarak. Hangi problemin birlikte yaşamanın daha kolay olduğuna karar vermelisin, ama kararını hatırladığından emin ol, çünkü unuttuğun bir problem olduğunda çok sinir bozucu olabiliyor.
David C.

3

Ana durum:

Daha önce ayrıntılarla cevaplandı ... (Bu dosyalar altında UUID'yi kontrol etmeniz gerekir)

/etc/crypttab 
/etc/fstab
/etc/grub.d/40_custom 
/boot/grub2/grub.cfg

Alternatif Durum I - Udev:

Bu neden olabilir udev bir varsa kural altında komut /etc/udev/rules.d/komut dosyası bu fstab adım sonsuza kadar devam yapacaktır başarısız olursa, boot zamanı sadece ihtiyaçlarına uygun ya da silmek için komut düzenlemek için tasarlanmamıştır.

Alternatif durum II - Şifreli Geliştirme:

Şifrelenmiş bölümler kafa karıştırıcı olabilir, çünkü ana bölüm bir UUID'ye sahiptir ve eşlenen Şifrelenmiş bir tane, farklı bir yerde tanımlanmaları gereken tek bir bölüm için ana bölümden farklı bir UUID'ye sahiptir etc/crypttabve/etc/fstab

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi

Gerçek UUID’de belirtilmesi gerekir etc/crypttab

# cat /etc/crypttab
sda2_crypt  UUID=727fa348-8804-4773-ae3d-f3e176d12dac  none  luks

Sanal UUID adresinde olması gerekiyor /etc/fstab

# cat /etc/fstab
UUID=P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi / ext4 defaults,errors=remount-ro 0 1

Alternatif durum III - Ghost Dev:

Açılışta monte edilecek, ancak sistemde bulunmayan veya bir usb sürücü gibi çıkarılmış bir aygıt.

Sadece bağlı cihazı tutmak için gerçek bağlı cihazları kontrol edin lsblk -o name,uuid,mountpointve düzenleyin VEYA/etc/fstab bağlı olmayan cihazı orada bırakın, ancak seçenekle önyükleme sırasında yok sayılacak şekilde ayarlayın ve bu şekilde çizgiyi ayarlayınnoauto

UUID=BLA-BLA-BLA /mount ext4 option,noauto,option 0 0

Sistem günlüklerini kontrol etme

journalctl -ab 

systemd-analyze blame

systemd-analyze critical-chain

systemctl status dev-mapper-crypt_sda2.device

systemctl status systemd-udev-settle.service

1
Teşekkürler, bu çok iyi bir cevap ve kabul edilmeli. Buradaki diğer cevapların çoğu tehlikeli şekilde yanlıştır ve sorunu aşsalar bile , örneğin takas cihazının şifrelemesini ortadan kaldıran daha az belirgin olabilecek diğer sorunları ortaya koyarlar.
Waqar Lim

2

Kontrol etmeye ek olarak /etc/fstabveya /etc/crypttabdiğer yanıtlar belirtildiği gibi, aynı zamanda çekirdek parametreleri gelen UUID kontrol /etc/default/grub. Bir süredir GRUB konfigürasyonunda /etc/fstabbir resume=…çekirdek parametresi bulmak için mükemmel bir renk hacmine sahip olan bir sistem yüzünden kafam çok karıştı .


1
Bu, sorunu çözmeme yardımcı oldu. Benim / etc / fstab iyiydi. Sonra ek olarak /etc/default/grubda değişiklikler yapmak zorunda kaldım /boot/efi/EFI/fedora/grub.cfg. Takas bölümünü el ile değiştirdikten sonra linux "resume = UUID = ..." parametresi eski haline geldi.
Stphane

1

Bekleyişi atlayabilir ve ' Ctrl+ c' kullanarak doğrudan oturum açma ekranınıza gidebilir ve sonra çözüm üzerinde çalışabilirsiniz. Bazen olmazsa sonsuza dek sürecek.


Kelimenin tam anlamıyla Ctrl, artı anahtar ve c mi?
muru

Evet, işte bu :)
Ramon Suarez

0

Bunun eski olduğunu biliyorum, ancak rsync ile bir klonlama yaparken bu problemle aynı hata mesajına rastladım. fstab'da hata olmadığından , initrdfs yazılımını elle güncelledikten sonra sorun çözüldü. Bunu başarmak için

  1. Makineyi çalışan bir kurulumda önyükleyin (çoklu önyükleme makinesi, aksi halde canlı)

  2. Sistemin kök bölümünü problem ile bağlar.

  3. çalışma chroot için dev, sys ve proc mount

  4. filesistem kökünün içine chroot

  5. mkinitrd yürütmek

  6. chroot'tan çıkın ve yeniden başlatın.

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.