EFI üzerinde Windows 7 ve Debian'ı çift önyüklemeden önce ne yapmalıyım?


10

EFI ürün yazılımı ile bir Asus anakartı satın almak üzereyim ve donanım geldiğinde kendimi Windows ve Debian'ı kurmak için hazırlamak istedim. Bu yolda inen birinin bana birkaç işaret vermesini umuyordum.

Windows 7 ve Debian'ı yeni bir UEFI tabanlı sisteme kurmaya çalışmadan önce ne gibi hazırlıklar yapmalıyım?

Yanıtlar:


8

DÜZENLEME: Bu yanıtı yazdığımda, EFI_STUB yapılandırılmış bir çekirdeği ile gönderilen çok az sayıda dağıtım, böylece özel bir tane oluşturmak zorunda kaldı. Günümüzde çoğu dağıtım uygun şekilde yapılandırılmış bir çekirdek gönderiyor ve artık özel bir yapıya gerek yok. Bu durumda, Bölümlerinizi ayarlayın” ve “Bir şeyleri ayarlayın” bölümleri ilginçtir, “Gereksinimler” ve “Çekirdeğin Derlenmesi” atlanabilir.

Windows'un UEFI'yi nasıl ele aldığını bilmiyorum, ancak Debian tarafından oldukça basit.

Bölümlerinizi ayarlayın

MBR'yi değil, GPT bölümleme şemasını kullanın.

UEFI ile bir GPT bölümünden önyükleme yapmak için EFI SYSTEM PARTITION (ESP) adı verilen özel bir önyükleme bölümü zorunludur . Zorunlu değildir, ancak en uyumlu yol bir FAT32 bölümü kullanmaktır. Çoğu durumda 200 MiB büyüklüğünde olmalıdır.

Bölümü ESP olarak kaydetmek için, bootbayrakla işaretlenmelidir. MBR şemalarının aksine, önyükleme bayrağı önyüklenebilecek bölümleri değil, yalnızca ESP'yi belirtmek için kullanılır.

UEFI, \EFI\<vendor>\<application>.efiUEFI uygulamalarını saklamak için bir dizin yapısı kullanır . Linux'ta bile bir dizin ayırıcı ters eğik çizgi ile gösterilir . bir dağıtım adı olabilir, gerçek değer UEFI ile ilgili değildir.

Uygulamalar bellek denetleyicileri veya bir UEFI kabuğu gibi sistem yardımcı programları olabilir. Ayrıca bir OS yükleyici veya işletim sisteminin kendisi olabilir. Önyükleme zamanında başlatılabilmesi için bu uygulamaların UEFI'ye kaydedilmesi gerekir.

Gereksinimler

Linux çekirdek sürümü> = 3.3 doğrudan UEFI tarafından yüklenebilir. Çekirdek kendi yükleyicisi olarak hareket edebilir. Buna EFISTUB denir . Aşağıdaki çekirdek yapılandırmaları gereklidir.

CONFIG_EFI = y
CONFIG_EFI_PARTITION = y
CONFIG_EFI_STUB = y
CONFIG_RELOCATABLE = y
CONFIG_FB_EFI = y
CONFIG_FRAMEBUFFER_CONSOLE = y
CONFIG_EFI_VARS m =

Bu yapılandırmaya sahip bir çekirdek şu anda Debian kararlı değil. Kendi çekirdeğinizi pişirebilir veya deney ağacından olanı kullanabilirsiniz, bu durumda bir sonraki paragrafı atlayabilirsiniz.

Çekirdeğin derlenmesi

(muhtemelen daha fazla gerekli değildir, düzenlemeye bakın)

Çekirdeği derlemeye karar verirseniz, burada nasıl yapılacağına dair kısa talimatlar verilmiştir. Sorunlarla karşılaşırsanız, bir çekirdeği nasıl derleyeceğiniz konusunda birçok bilgi bulabilirsiniz.

Kaynağı almak

git clone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Belirli bir sürüme göz atın

git ödeme v3.6

Çekirdeği yapılandırma

menuconfig yap

Sisteminizde gereken ayarları yapın veya özelleştirilecek bir şeyiniz olmadığı gibi bırakın. Bu, çekirdek yapılandırmasını dosyaya yazar .config.

Önceki paragraftaki ayarların yapıldığından emin olun. Seçmek de mantıklı CONFIG_INPUT_EVBUG=n. Aksi takdirde, günlükleriniz önemsiz GiB ile doldurulacaktır.

İnşaat çekirdeği

INSTALL_MOD_STRIP = 1 make-kpkg --uc --us ikili kemer

Paketler üst dizinde oluşturulur.

Çekirdek kurulumu

dpkg -i linux-resim-3.5.0_Custom.deb linux-başlıkları-3.5.0_Custom.deb

İnitramfs oluşturma

mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0

3.6.0 çekirdek sürümüdür. Varsayılan olarak, hala eski çekirdeği çalıştırdığınız için iyi bir seçim olmayan çalışan çekirdeğe ayarlanır.

İşleri kurma

Linux çekirdeğini önyükleyebilmek için, initramfs ile birlikte ESP'ye kopyalanması gerekir. ESP'nin/boot/efi

/boot/efi/EFI/debian/vmlinuz-3.6.0.efi
/boot/efi/EFI/debian/initrd.img-3.6.0

NOT: Çoğu sistemle uyumluluğu sağlamak için, eklentinin efiçekirdeğe eklenmesi gerekir.

Artık çekirdek UEFI'ye kaydedilebilir. Bunun için aracı kullanıyoruz efibootmgr.

echo "root = UUID = 3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype = ext4 add_efi_memmap initrd = \\ EFI \\ debian \\ initrd.img-3.6.0" |
  iconv -f ascii -t ucs2 |
  efibootmgr \
    --oluşturmak \
    --gpt \
    --disk / dev / sda \
    - bölüm 4 \
    --label "Debian Linux çekirdeği 3.6.0" \
    --yükleyici "\\ EFI \\ debian \\ vmlinuz-3.6.0" \
    --write-signature \
    --ekle-ikili-argümanlar -

Argümanı --disk, çekirdeğin bulunduğu cihazdır, ESP değil. --partçekirdeğin bulunduğu bölüm numarasıdır. --labelUEFI önyükleme menüsündeki girdidir.

Mevcut girişlerin bir listesini görmek için efibootmgrargüman olmadan başlatmanız yeterlidir. Belirli bir girişi silmek için sözdizimi

efibootmgr -b girişi (onaltılık) -B

Örneğin:

efibootmgr -b 001a -B

Bu talimatlar çekirdek güncellemesi için geçerli değildir. Çekirdek ve initramfs otomatik olarak ESP'ye kopyalanmaz. Bu, çekirdeği ve initramfs'ı ESP'ye kopyalayan ve çalıştıran kısa bir komut dosyası kullanılarak yapılabilir efibootmgr. Bu komut dosyası /etc/kernel/postinst.d, çekirdek güncelleştirildikten sonra otomatik olarak başlatılacak şekilde yerleştirilebilir .

Not: GRUB gibi bir önyükleme yöneticisine gerek yoktur, UEFI'nin kendisi bir önyükleme yöneticisi olarak görev yapar.

Linux tarafında ihtiyacınız olan her şey bu, Windows'u eklemek için ne gerektiğini bilmiyorum.


2

UEFI'nin Linux'u makinenizden kilitlemeyeceğinden emin olun; muhtemelen BIOS'ta bu yönde bir ayar vardır. Kontrol edin ve doğrulayın. Gerekirse bu noktayı kılavuzla ve üreticiyle tekrar kontrol ederdim.

Bununla ilgili genişletilmiş bir tartışma vardı; ZDNet'in birkaç makalesi vardı. İşte 21 Eylül 2011 tarihli ve 23 Eylül tarihli bir makale .

İkinci olarak, geçmiş verilere dayanarak, önce Windows'u yüklemek isteyebilirsiniz. Geleneksel olarak, Windows yalnızca makinedeki tek işletim sistemi olduğunu varsayar - bu nedenle Linux ile ilgili tüm önyükleme verilerini siler. Bu UEFI için farklı olabilir, bilmiyorum.


2

UEFI'de Windows ve Linux'u çift önyükleme yapmanız gerekmez. UEFI'nizi veri kaybı olmadan MBR-BIOS'a dönüştürmek için kılavuzu izleyin .

Bu rehber benim tarafımdan hazırlandı. Ayrıca, atıfta bulunulan blog asla kaldırılmaz. Veri kaybı olmadan 10 kez kullanmış olmama rağmen, prosedürümü kullanmadan önce verilerinizi yedeklemenizi tavsiye ederim.


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.