Bu komutlar ne için?


10

Dün Grub geçersiz kılma özelliğine sahip bir Windows kurmak zorunda kaldım.

Grub'u ilk kez düzeltmek zorunda kalmadım, bu yüzden LiveCD kullandım, kök bölümünü (önyüklemem yok, sadece /ve home) monte ettim ve koştum grub-install --root-directory=/mnt/ /dev/sda. Ancak, işe yaramadı.

Ben bunun yerine sadece Linux bölümünü montaj, o da yaptığı bir öğretici buldum ederken Googling sonra mount --bind /mnt/dev /devve mount --bind /mnt/proc /proc/. Bundan sonra chroothiç /mntardından Grub yüklü ve bu yöntemi kullanarak, işe yaradı.

mount --bindKomutlar ne için? --bind used(Man sayfası) kullanımı hakkında bilgi sahibiyim ama neden bu örnekte kullanıldığını bilmiyorum.

Yanıtlar:


10

procve sysdosya sistemleri çalışan çekirdek tarafından sağlanır - çekirdek çalışmadığında, varolmazlar. Bu, başka bir işletim sistemine geçiş yaptığınızda, bu dosya sistemlerinin mevcut olmadığı anlamına gelir. Birçok program, örneğin çalışan sistem hakkında bilgi gerektirebilecekleri veya çekirdeğin bir şeyi işleme biçimini değiştirmek isteyebilecekleri şekilde işlev görmelerini bekler. Bu programların beklendiği gibi çalışması için genellikle geçerli çekirdeğin sağlanması /procve /sysbu çekirdeğin sağlanması yeterlidir .

Bağlama eylemi kullanılan dosya yollarını geçersiz kılacağından bir sembolik bağlantı yeterli olmaz. Linux'ta da dizinleri sabit olarak bağlayamazsınız ( tarafından sağlanan .ve dışındaki ). Bu, bu dosya sistemlerini krokili ortama bağlamak için üçüncü bir seçeneğin kullanılması gerektiği anlamına gelir. Bir bağlanma bağlantısı doğrudan çekirdek tarafından sağlanır ve bir kroot içinde beklendiği gibi çalışır...mkdir


procve sysbirden fazla yere monte edilebilir, bu yüzden --bindgerekmez (sadece iki kez monte edin). Ancak /dev/içeriden gelen çekirdek değil udev tarafından yönetilir.
Maciej Piechotka

@MaciejPiechotka / dev'den hiç bahsetmedim, çünkü bu söz konusu değil, ancak mutlaka udev tarafından yönetilmesi gerekmiyor.
Chris Down

Ben daha çok procve sysçift ​​monte edilebilir ( mount -t proc none /mnt/proc) dosya sistemleri olarak atıfta vardı, bu yüzden mount --bindonlara gerek yok . devgenellikle kullanıcı alanı (udev, busybox veya başka bir şey olsun) tarafından yönetilir, bu yüzden yapmanız gerekir. Zaten küçük bir nokta.
Maciej Piechotka

0

Bu --bindseçenek, montaj noktasının chroot-ed ortamında görünmesini sağlar .

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.