Fat32 olarak ilk bölüm ile yerel linux önyüklenebilir başparmak sürücü


2

Uzun süredir bunu yapmaya çalışıyorum ve seçeneklerimi tükettiğimi hissediyorum. Bir flash sürücüyü buna benzer şekilde bölümlenmiş yapmak istiyorum:

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2930687   1.4 GiB     0700  Microsoft basic data
   2         2930688        31709183   13.7 GiB    8300  Linux filesystem

İlk bölüm fat32'dir (pencerelerden okunabilir) ve ikinci bölüm yerel bir linux kurulumuna sahiptir (hangi rahatsızlık / fs ile ilgilenmediğiniz). Kicker, bu başparmak sürücüyü yalnızca herhangi bir küçük sürücüyü önyüklemeyecek bir HP sunucusunda önyüklemeye çalışıyorum. DOS tabanlı olması gerektiğini düşünüyorum. Linux bölümünü başlatmak için grub kullanmaya çalıştım ve farklı makinelerde harika çalışıyor ancak HP makinesinde şöyle şikayet ediyor:

Attempting to Boot from USB DriveKey (C:)
GRUB loading.
Welcome to GRUB!

error: out of disk
Entering rescue mode...
grub rescue>

Ne yazık ki, bu makinede BIOS'ta hiçbir parmak ucu sürücüsü / sabit sürücü / önyükleme seçeneği yok. Çünkü grubun “gitmeyecek” olduğunu düşünüyorum, syslinux kullanmaya çalışacağımı düşündüm ama syslinux farklı bölümlere önyüklemeyi desteklemiyor gibi görünüyor. Fat32 bölümündeki bir ISO'yu önyüklemek için syslinux ve memdisk kullanmanın HP'de (LIVE iso gibi) iyi çalıştığını gördüm. açılışta komut dosyası.

Yanıtlar:


0

Bu eski bir iplik, ama acını hissediyorum. Yüküm vardı ve yükler GRUB ile bunu yapmaya çalışan problemlerin arasında ve deponun nasıl numaralandırıldığına ve gruba aktarıldığına bağlı olarak, farklı tezgahlarda kendinizle benzer durumlara sahip.

Muhtemelen yaşadığınız sorun (eğer bana olanla aynıysa!) İkinci aşamada ikinci, linux, bölme ile birlikte çekirdek / bölme içine yerleştirilmiş ve aşama 1 yüklendiğinde sahne alanı bulamıyor demektir. 2.

Sonunda bir chroot ile uğraşarak GRUB'u göndermeyi başarabildim ve esas olarak BIOS'tan geçirilen disk aygıtı numaralandırması (çok sayıda manuel grub.cfg düzenleme) yüzünden nefretliydi. Extlinux kullanmak çok daha basit bir çözümdür. İşte süreç:

  1. MBR ile bölüm flash sürücü, ilk bölüm ~ 1GB ve ikincisi, gerisi ...
  2. Önyükleme bayrağının ilk bölümde ayarlandığından emin olun
  3. Bölümleri FAT32 ve başka bir şeyle biçimlendirme (BTRFS kullanıyorum)
  4. Boot sektörüne extlinux'u kurun, dd if=/usr/share/extlinux/mbr.bin of=/dev/sdb bs=440 count=1 conv=sync (iirc debian kullanır /usr/lib/syslinus/mbr/mbr.bin )
  5. FAT32 bölümünü bağlayın (örneğin / media / disk) extlinux --install /media/disk
  6. Extlinux kitaplıklarında kopyala, cp /usr/share/extlinux/{libcom32.c32,libutil.c32,menu.c32} /media/disk
  7. Uygun çekirdek / initramfs dosyalarından / media / diske kopyalayın
  8. Tercih ettiğiniz linux köklerini diğer bölüme çıkarın (veya BTRFS kullanıyorsanız subvol) ve düzeltin /etc/fstab FAT32 bölümünüzü / boot ünitesine takmak için
  9. yaratmak /media/disk/extlinux.confbenimki böyle görünüyor extlinux.conf

O zaman önyüklemeyi dene - uzak olmalısın! Mücadelelerimden bazı notlar:

  • BTRFS, önyükleyicide PARTUUID kullanılmasını gerektirir, bölümün taban UUID'sini kullanamazsınız; neden bilmiyorum
  • MBR kullandığımız için, bu UEFI ile kullanılabilecek bir işlem değildir; bir UEFI CSM gereklidir
  • Hiç kullanmaya ihtiyacım olmadı altmbr.bin ama YMMV
  • İlk bölüm için ext4 kullandım, ancak FAT32 ile iyi çalışmalı.

Tüm bootloader'a ek olarak, ilk bölümdeki çekirdek ve initramfs dosyalarına sahip olmak bunu kolaylaştırır ve henüz herhangi bir sebeple başarısız olduğunu gördüm. Bunun üzerine gömülü x86 sistemleri kurdum ve tamamen kurşun geçirmez gibi görünüyor.

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.