Dağıtım arasında paylaşım / önyükleme bölümü


4

Birkaç ay önce makineme CEntOS 6.5'in varsayılan kurulumunu çalıştırdım ve o zamandan beri kurtulmak istemediğim programlar ve dosyalar ekledim. Ubuntu 14.x'i çift önyüklemek istiyorum ve / boot bölümü ile ne yapacağımı merak ediyorum. Sabit sürücü şu anda şöyle bölümlere ayrılmıştır:

sda: 256 GB SSD

  • sda1: / önyükleme 500 MB
  • sda2: / LVM fiziksel hacmi ~ 237 GB
    • /kök, köken
    • /ev
    • takas

Sorum şu: dağıtım / dağıtım bölümünü dağıtımlar arasında paylaşmak uygun mudur? veya Ubuntu için ayrı bir / önyükleme bölümüne ihtiyacım var mı? Eğer öyleyse, / boot bölümünü sürücünün başına koymak gerekli midir?

Yanıtlar:


1

Yapabilirsin, ama bu iyi bir fikir değil.

GRUB'da ne yapacağınız, initrdsistemde yüklü her dağıtım için farklı çekirdek ve dosyalar belirtmektir .

Ancak, bir dağıtım için önyükleme yapılandırması, her bir dağıtımın önyükleme yapılandırmasını nasıl ayarladığına ve dosyalarının adını nasıl verdiğine bağlı olarak diğer dağıtımların yapılandırması ile çakışabilir /boot. Bu, karışık bir konfigürasyona yol açabilir ve potansiyel olarak bir veya daha fazla dağıtımın önlenemez olmasını sağlayabilir. Herhangi bir dağıtımda çekirdeği güncellerken veya önyükleme ayarlarını değiştirirken özel dikkat gösterilmelidir. Bununla birlikte, herhangi bir çelişki yoksa, her iki işletim sistemini de sorunsuz bir şekilde açabilmelisiniz.


bir dağıtım için önyükleme yapılandırması diğer dağıtım (ların) yapılandırmasıyla çakışabilir ... Yalnızca bir yükseltme ( apt-get dist-upgrade ve apt-get autoremove) yapabilir ve bir dağıtımın artık gerekmediğine inanabileceği dosyayı silebilirsiniz.
Hastur

Şöyle dedim: "Çekirdekleri güncellerken ya da herhangi bir dağıtımdaki önyükleme ayarlarını değiştirirken özel dikkat gösterilmelidir."
bwDraco

Basit bir şeyin bile apt-get autoremoveyıkıcı olabileceğini vurgulamayı tercih ettim . Yukarıdaki gibi bir komutla (açıkça çekirdekle ilgili değil), başka bir dilde ihtiyaç duyulan çekirdekleri içeren mevcut dağıtım için artık gerekmeyen paketleri silebilirsin ... Farklı zamanlarda daha fazla dinleyeceğine inanıyorum. sonra pişman olmaktan daha iyidir ;-) İfade için "Yapabilirsin, ama harika bir fikir değil."
Hastur

1

Bunun partiye biraz geç kaldığını fark ettim, ancak üç eşzamanlı kurulum ve bir /bootbölüm tutmak için bunu sürdürdüm:

  • arch linux
  • Ubuntu 14.04
  • Ubuntu 16.04

Ben yıllardır arch kullandım, ancak ubuntu ile pek aşina değildim ve bir bootloader yüklemesini nasıl durduracağından emin değildim, ben de izin verdim. Kemer için kullanıyorum syslinux, bu grubyüzden daha fazla aşina değilim. Bu, denememde biraz erken olsa da , işte prosedürüm:

  • potansiyel olarak çakışan dosyaları tanımlar. Ubuntu ve arch'ın adlandırma kurallarını belirttikten sonra, bu 14.04 ve 16.04'lere düştü vmlinuzve ininrd.imgbunlar aynı adlandı (farklı zamanlarda güncelleme yaparlarsa sürüm numarasının dışında). Hepsi için uyumlu olduklarını biliyorum, ama onlara öyle davranmamayı seçtim.
  • syslinuxher dağıtım için girişler oluşturarak her zamanki gibi kurulum yapın (aşağıda gösterilmiştir)
  • Potansiyel olarak çelişen dağıtımlardan herhangi birinin güncellenmesi durumunda, sorunlardan kaçınmak için bir adlandırma stratejisi uygulayın
  • bir yedekleme planına sahip olmak

Her iki ubuntu çekirdeği güncellerse, iki anahtar dosya alırım:

  • /boot/initrd.img-x.x.x-xx-generic
  • /boot/vmlinuz-x.x.x-xx-generic

Yukarıdakilerin her biri için, sadece sonuna _distroeklerim, ayrıca syslinux.cfgher güncellememi değiştirmemek için statik olarak adlandırılmış bir değişkeni değiştiririm (aşağıda daha fazla gösterilmiştir). İşlem, örnek olarak 14.04 / Trusty kullanarak ve sadece ilgilenilen dosyaları gösteren bu şekilde görünür.

$ cd /boot
$ sudo mv ./initrd.img-4.4.0-62-generic ./initrd.img-4.4.0-62-generic_trusty
$ sudo cp ./initrd.img-4.4.0-62-generic_trusty ./initrd-trusty.img
$ sudo mv ./vmlinuz-4.4.0-62-generic ./vmlinuz-4.4.0-62-generic_trusty
$ sudo cp ./vmlinuz-4.4.0-62-generic_trusty vmlinuz-trusty

Arch adlandırma kuralı asla çatışan beri, bu şimdiye 2 yedekleme / doğru adlandırılmış ile bitirmek anlamına gelir initrdve vmlinuzbenim değiştirmesini tutmak için kullanabileceğim ikisiyle birlikte dosyaların syslinux.cfgher zaman. Anahtar dosyalar şöyledir (yorum eklenmiş olarak):

$ ls /boot/

initramfs-linux.img                 ## arch main initramfs
initramfs-linux-fallback.img        ## arch fallback initramfs
initrd.img-4.4.0-62-generic_trusty  ## named recent 14.04 initrd
initrd.img-4.4.0-62-generic_xenial  ## same for xenial (16.04)
initrd-trusty.img                   ## statically named initrd
initrd-xenial.img
vmlinuz-4.4.0-62-generic_trusty     ## named vmlinuz
vmlinuz-4.4.0-62-generic_xenial
vmlinuz-linux                       ## arch's vmlinuz
vmlinuz-trusty                      ## statically named vmlinuz
vmlinuz-xenial

Önyükleme için, işte syslinuxgirişlerim:

LABEL arch
  MENU LABEL arch
  LINUX ../vmlinuz-linux
  APPEND luks-options-here rootflags=compress=lzo,discard,ssd,subvol=arch rw
  INITRD ../intel-ucode.img,../initramfs-linux.img

LABEL xenial
  MENU LABEL xenial
  LINUX ../vmlinuz-xenial
  APPEND luks-options-here ro rootflags=compress=lzo,discard,ssd,subvol=xenial quiet splash $vt_handoff
  INITRD ../initrd-xenial.img

LABEL trusty
  MENU LABEL trusty
  LINUX ../vmlinuz-trusty
  APPEND luks-options-here ro rootflags=compress=lzo,discard,ssd,subvol=trusty quiet $vt_handoff
  INITRD ../initrd-trusty.img

Şimdiye kadar grububuntus'tan ayrıldım ve her güncellemede şikayet ediyor, ancak hiçbir şey ters gitmedi. Benim yedek plan kopyalamak oldu mbr.biniçin /boot/(genellikle İçinde bulunduğu /usr/lib/syslinux...kemer üzerine) böylece eğer grubben en azından can benim açılış üzerine karar geri bootloader. % 95 + kemer kurulumumun asla rahatsız edilmeyeceğinden eminim (en azından önyüklemek için), bu yüzden hemen hemen her zaman buna önyükleyebilirim ve ubuntusu yanlış bir şekilde kopyalarsam / adlandırırsam düzeltebilirim. Muhtemelen her birinin eski bir sürümünü tutacağım, böylece işlem sırasında bir sorun çıkarsa hangisinin açılışta yükleneceğini değiştirebilirim .ddsyslinuxinitrd/vmlinuzinitramfs

Umarım olan biten şey budur. Muhtemelen, otomatikleştirmek için henüz bağlantılar almadıysam, bir çeşit güncelleme sonrası komut dosyası vb. Kullanabilirdim.

Kabul edilen cevap, işlerin yanlış gidebileceğini ortaya koyuyor, ancak bunu yapan başkalarının örnekleri için etrafa dolandığımdan ve sadece bu gibi cevaplar bulduğumdan (temelde "mümkün, ama yapma"), somut bir örnek ekleyeceğimi düşündüm. böyle bir şeyi nasıl kurardık.

Şahsen ben bu konuda oldukça heyecanlıyım. Bir önyükleme bölümüm var ve sizin de fark ettiğiniz gibi, bir btrfsbölümden üçe yan yana dağıtım yapın . Önceden tahsis etmeye gerek yok, bir kurulumdan hoşlanmama ve dağıtma konusunda endişelenmenize gerek yok (çevresinde kullanılmayan bir bölme bırakarak) ve zaten sahipken bir linux bölümünü başlatmak için bir sürü mantıksal hacme gerek yok bootloader!

Umarım bu birine yardımcı olur.


0

Farklı bölümlerde başka sistem dizinleri de olabilir.

Sorunuza en iyi şekilde cevap vermek için. Paylaşma / önyükleme yapabiliyor olabilirsiniz, ancak önerilmez. Şahsen, günün sonunda baş ağrısına değeceğini sanmıyorum.


1
Süper kullanıcıya hoş geldiniz! Soruyu daha kesin olarak cevaplamaya ve cevabınız için bazı belgeler sağlamaya çalışırım.
Alex McKenzie
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.