Harici bir sürücüyü önyükleme sırasında yalnızca fişe takılıysa takın


70

Fstab'ımda harici bir sabit disk sürücüsü girişi var:

UUID="680C0FE30C0FAAE0" /jgdata ntfs noatime,rw

Ancak bazen bu sürücü önyükleme sırasında takılı değildir. Bu beni bir önyüklemenin yarısına bırakıyor, "Beklemeye Devam Et, S tuşuna basın veya M tuşuna basın" komutunu verin, ancak bu aşamada herhangi bir tuşa basmanın hiçbir etkisi olmaz ( Ctrl- Alt- dahil Delete, büyük harf bile değil).

Çıktısını kontrol etmek için bir komut dosyası yazarken fdisk -l, bu sürücüyü yalnızca varsa önyükleme sırasında nasıl takabilirim? Bu sürücü için bir fdisk girişi olması kullanışlı olacaktır, bu yüzden sadece mount /jgdatabir cihaz adına ihtiyaç duymak yerine yazabilirim .

Yanıtlar:


73

Hepiniz doğru izdesiniz. Biraz daha temiz ve daha iyi bir yol buldum.

Eklemek doğru seçenek fstabis nofail, ancak sonra gelmek gerekiyor auto. Bunu değiştirirseniz noauto, önyükleme sırasında hiçbir zaman takılmaz. nobootwaitBootloader'a eklerseniz , fsckkontrol etmeden önce bölümü monte etmek veya boot işleminde kullanılan bir bölümü monte etmemek gibi ciddi bir şeyi kaçırmış olabilirsiniz .

Yukarıdaki değişikliği yaptıktan sonra, sistem kapalıyken cihaz prize takıldığında sistem normal bir şekilde başlayacaktır (ve birimi monte edecektir). Cihaz önyükleme zamanında mevcut değilse, normal önyükleme yapar.

Tek rahatsızlık, cihazı çalışırken sisteme bağlarsanız, yapılandırmaya bağlı olarak (test edilecek çok fazla değişken var) cihazın derhal takılmaması olabilir. Bu, basit mount -aveya mount /specific_deviceyeniden başlatma ile giderilebilir .


2
Çevrimiçi bulabildiğim her örnek, otomatik göstermeden önce başarısız olduğunu gösteriyor. Doğru sipariş için herhangi bir dokümantasyon var mı?
Hackeron

'man fstab' gerekli siparişin hassasiyetini vermez (centos 7 ve Ubuntu 14.04'te kontrol edilmiştir). Yine de, "Bu cihaz için mevcut değilse, hiçbir hata bildirilmez." Nfs birimine erişilemiyorsa önyüklemede zaman aşımını beklememize yardımcı olup olmadığını merak ediyorum.
tisc0

16

Aynı sorunu yaşadım - bir adım daha ekledim

Bu nofailseçeneği kullanırsanız, /etc/fstabsistem önyükleme sırasında diskinizi (ve bölümünüzü) arayacaktır. Cihaz takılıysa, dosya sistemi monte edilecektir. Değilse, önyükleme normal olarak devam eder.

Arch wiki'ye bakınız: https://wiki.archlinux.org/index.php/Fstab

Örnek

UUID=XXXXXXXXXXXXXXX    /myhdd ntfs  auto,nofail,noatime,rw,user    0   0

Sistemi, cihaz takılı ve takılı olmadan başlatmaya çalıştım ve iyi çalışıyor.

Ulaşmadığım disk önyüklemeden sonra (önyüklemede takılı olmadığında) otomatik olarak takmak. mount -aHepsini tekrar monte etmek için root olarak kullanmalıyım .


13

noauto seçeneği önyükleme işleminin devam etmesine izin veriyor mu?

eğer mevcutsa otomatik olarak monte edilmez, ancak basit bir montaj / jgdata çalışması için mevcutsa biliniyorsa, komut dosyası oluşturulmuş bir montaj / jdata çıktı kontrolü gerektirmez, hatayı yakalar ve önyüklemeye devam eder

düzenleme: biraz daha okuma bootwait üzerine muhtemelen geçmek için daha doğru bir seçenektir ... (genellikle önyükleme sürecinde daha sonra mevcut olmayabilir ağ paylaşımları için kullanılır, ancak yine de askıda kalmasına neden olabilir, idk)

ve mount komut dosyası şöyle eklenebilir: https://stackoverflow.com/questions/2062543/running-a-script-with-the-help-of-grub-and-menu-lst


Cevap için teşekkürler. Sadece netleştirmek için, seçenekler fstab satırına eklenecek, doğru mu? (EDIT: Nvm, googled. Nobootwait ihtiyacım olan şey gibi görünüyor.)
Jeremy

1
Fstab'daki nobootwait seçeneğini kullandım, mükemmel çalışıyor, teşekkürler.
Jeremy

5
/dev/xvdh1 /myfs xfs defaults,nofail,x-systemd.device-timeout=30 0 0

benim için çalıştı.

nofail ... Mevcut değilse, bu cihazın hatalarını bildirmeyin.
x-systemd.device-timeout = 30 ... Aygıt yoksa önyükleme 30 saniye daha uzun sürer (varsayılan 90 saniyedir).

Kaynak: https://wiki.archlinux.org/index.php/fstab#External_devices


Bu en iyi ve en basit cevaptır. Unutmayın ki bu, OS'nin systemd kullanan yeni sürümleri için eski nobootwaitsözdiziminin yerine geçen yeni sözdizimi
cxrodgers

Bu benim için çalıştı. Anahtar, aygıtın zaman aşımını ekliyordu; sadece hiç başarısız olmamak, açılışta udev zaman aşımı nedeniyle gerçekten başarısız olur. (muhtemelen USB cihazlara özgüdür)
BobHy

1

Önyükleme sırasında takmanın önerilen yolu, sistemlerine fstab dosyası aracılığıyla yönlendirmektir . Ask'ınıza baktığımda, neredeyse orada olduğunuzu görebiliyordum, yalnızca cihazı otomatik sayı seçeneklerini kullanacak şekilde ayarlayan talimatlardan yoksun bırakarak sisteminizin uygun olduğunda cihazı monte etmesine izin veriyor.

Yani, sadece aşağıdaki gibi olması için fstab'daki satırı yeniden yazın:

# <file system>           <dir>       <type>    <options>         <dump> <pass>
UUID="680C0FE30C0FAAE0"   /jgdata      ntfs      user,auto,rw       0     0

Değiştirip kaydettikten sonra, elle monte etmeye çalışın:

$ sudo mount -a

Şunu not etmek önemlidir:

  1. cihazın UUID'sinden emin olmanız gerekir. UUID'ler, bir dosya sistemi oluşturduğunuzda make-filesystem yardımcı programları (mkfs. *) Tarafından oluşturulur.
  2. Bunların <options>virgülle ayrılmış fakat her virgülden sonra boşluk bırakılmayan çok özel bir formatta yazılması gerekir. Buna dikkat edin ;-)
  3. Bunun sorunsuz çalışıp çalışmayacağından emin değilim, çünkü NTFS-3G yardımcı programları kullanılarak işlenebilen bir NTFS dosya sistemini otomatik olarak almaya çalışıyorsunuz . Talimatlarımın doğru çalışması gerekiyor olsa da, daha önce hiç automount NTFS denemedim. Bu nedenle, başarısız olursa, NTFS'nin alternatif kullanımları için bu Montaj Windows Bölümlerine bakmanızı öneririm .

Teşekkürler!


bence söylediklerinin çoğunu alıyor, ama disk algılanmadığında takılıyor. bu yüzden "uygun" bir çözüm
önerdim

Cevap için teşekkürler. FYI sudo blkidkomutu UUID'leri bulmak için iyi bir yoldur.
Jeremy

Sadece fstab'daki bu kesin çizgiyi denedim. HDD takıldığında, sistem normal şekilde önyüklenir. Ancak, önyükleme sırasında, harici HDD takılı olmadığında, hala beni Bekle / Atla / El İle Kurtarma'ya yönlendiriyor. Bu istem zaman aşımına uğramadığından, eğer terminalde değilseniz, harici HDD takılı değilse kutu açılmayacaktır.
Jeremy

Nofail'i eklemeniz gerekir, seçenek.
kkron

0

Bende de aynı sorun var. Fstab'ı, sürücüyü bir sonraki önyüklememde göstermeyeceğimi bildiğimde girişi yorumlamak için düzenlemekteyim. Sonra sürücüyü hazırladığımda, yorumu kaldırmak ve mount -a'yı yayınlamak için fstab'ı düzenlerim. Bu mükemmel bir çözüm değil. Sistemin mevcutsa sürücüyü otomatik olarak monte etmesinin bir yolunu bulabilirsem ya da yoksa otomatik olarak atlayabilirsiniz. NFS paylaşımlarınız otomatik olarak bağlanmışsa ve sunucu yoksa aynı sorun oluşur.


1
Kabul ettiğim cevaba göz atın, sadece fstab'daki mount seçeneklerine nobootwait ekleyin.
Jeremy
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.