Syslinux (Türkçe)

From ArchWiki
Çeviri Durumu: Bu makale, Syslinux makalesinin çevirisidir. Son çeviri tarihi (yıl-ay-gün şeklinde): 2023-05-16. Eğer makalenin İngilizce sürümünde değişiklik yapılmış ise çevirinin senkronize edilmesine yardımcı olabilirsiniz. Çevirmenliğe dair bilgi edinmek için Telegram grubumuzu ziyaret edebilirsiniz. Çevrilmiş tüm makelelere buradan erişebilirsiniz.

Syslinux sürücülerden, CD'lerden ve PXE aracılığıyla ağ üzerinden önyükleme yapabilen bir önyükleme yükleyicileri koleksiyonudur. Desteklenen bazı dosya sistemleri şunlardır: FAT, NTFS, ext2, ext3, ext4, XFS, UFS/FFS, ve sıkıştırılmamış tek cihaz Btrfs.

Uyarı: Syslinux 6.03'ten itibaren, desteklenen dosya sistemlerinin bazı özellikleri önyükleyici tarafından desteklenmemektedir. Daha fazla bilgi için [1] sayfasına bakın.
Not: Syslinux, kendi başına, kendi bölümleri dışındaki bölümlerdeki dosyalara erişemez. Bunun nasıl aşılacağı konusunda #Zincirleme önyükleme bölümüne bakın.

BIOS Sistemleri

Önyükleme sürecine genel bakış

  1. Aşama 1: Bölüm 1 - MBR'yi yükle - BIOS açılışta 440 baytlık MBR açılış kodunu diskin başına yükler (/usr/lib/syslinux/bios/mbr.bin veya /usr/lib/syslinux/bios/gptmbr.bin).
  2. Aşama 1 : Bölüm 2 - Aktif bölümü ara. Aşama 1 MBR önyükleme kodu etkin olarak işaretlenmiş bölümü arar (MBR disklerde önyükleme bayrağı). Örneğin bunun /boot bölümü olduğunu varsayalım.
  3. Aşama 2 : Bölüm 1 - Birim önyükleme kaydını çalıştır - Aşama 1 MBR önyükleme kodu /boot bölümünün Birim Önyükleme Kaydını (VBR) çalıştırır. Syslinux durumunda, VBR önyükleme kodu /boot/syslinux/ldlinux.sys bölümünün extlinux --install komutu tarafından oluşturulan başlangıç sektörüdür. ldlinux.sys'in ldlinux.c32 ile aynı olmadığını unutmayın.
  4. Aşama 2 : Bölüm 2 - /boot/syslinux/ldlinux.sys'i çalıştır - VBR /boot/syslinux/ldlinux.sys dosyasının geri kalanını yükleyecektir. /boot/syslinux/ldlinux.sys'in sektör konumu değişmemelidir, aksi takdirde Syslinux önyükleme yapmayacaktır.
    Not: Btrfs durumunda, dosyalar ldlinux.sys'in sektör konumunun değişmesine neden olacak şekilde hareket ettiğinden yukarıdaki yöntem işe yaramayacaktır. Bu nedenle, Btrfs'de ldlinux.sys kodunun tamamı VBR'yi takip eden alana gömülür ve diğer dosya sistemlerinin aksine /boot/syslinux/ldlinux.sys'e yüklenmez.
  5. Aşama 3 - /boot/syslinux/ldlinux.c32'yi yükle. - /boot/syslinux/ldlinux.sys, /boot/syslinux/ldlinux.c32 dosyasını yükleyecektir. (çekirdek modül), Syslinux'un ldlinux.sys içine sığdırılamayan çekirdek kısmının geri kalanını içerir. (dosya boyutu kısıtlamaları nedeniyle). ldlinux.c32 dosyası her Syslinux kurulumunda bulunmalı ve bölümde yüklü olan ldlinux.sys sürümüyle eşleşmelidir. Aksi takdirde Syslinux önyükleme yapamayacaktır. Daha fazla bilgi için https://bugzilla.syslinux.org/show_bug.cgi?id=7 adresine bakınız.
  6. Aşama 4 - Konfigürasyon dosyasını ara ve yükle - Syslinux tamamen yüklendiğinde, /boot/syslinux/syslinux.cfg dosyasını arar. (veya bazı durumlarda /boot/syslinux/extlinux.conf) ve bulunursa yükler. Eğer herhangi bir konfigürasyon dosyası bulunamazsa, Syslinux boot: komut istemine düşeceksiniz. Bu adım ve Syslinux'un çekirdek olmayan bölümlerinin geri kalanı (/boot/syslinux/*.c32 modülleri, lib*.c32 ve ldlinux.c32 hariç) /boot/syslinux/lib*.c32 gerektirir. (kütüphane) modüllerinin mevcut olması gerekir (https://wiki.syslinux.org/wiki/index.php/Common_Problems#ELF). lib*.c32 kütüphane modülleri ve çekirdek olmayan *.c32 modülleri, bölümde yüklü olan ldlinux.sys sürümüyle eşleşmelidir.

BIOS'ta Kurulum

syslinux paketini indirin.

Not:

Paketin yüklenmesi ile önyükleyicinin yüklenmesi aynı şey değildir. İlgili paket(ler)i yükledikten sonra, sistemi önyükleyebilmek için önyükleyici kodunun kendisinin (uygun alana, genellikle VBR'ye) yüklenmesi gerekir; aşağıdaki bölümlerde sisteminizin özelliklerine bağlı olarak alternatif talimatlar verilmektedir.

Otomatik kurulum

Not: syslinux-install_update betiği Arch'a özgüdür ve Syslinux tarafından sağlanmaz/desteklenmez. Lütfen betiğe özgü tüm hata raporlarını Syslinux'a değil Arch Hata Takibi adresine yönlendirin.
  • syslinux-install_update komut dosyasını çalıştırdıktan sonra, #Konfigürasyon ve #Kernel parametreleri bölümlerini izleyerek /boot/syslinux/syslinux.cfg dosyasını düzenlemeyi unutmayın..
Uyarı: syslinux-install_update betiği, muhtemelen sisteminize uymayan varsayılan bir root bölüm belirler. Syslinux'u /boot/syslinux/syslinux.cfg dosyasını düzenleyerek doğru root bölüme yönlendirmek önemlidir, aksi takdirde işletim sistemi önyükleme yapamayacaktır. Bakınız: #Kernel parametreleri.

syslinux-install_update betiği önyükleyici kodunu yükler (genellikle VBR'ye), *.c32 modüllerini /boot/syslinux/'a kopyalar, önyükleme bayrağını ayarlar ve önyükleme kodunu MBR'ye yükler. Yazılım RAID ile birlikte MBR ve GPT disklerini işleyebilir:

Ayrı bir önyükleme bölümü kullanıyorsanız, bunun bağlı olduğundan emin olun. lsblk ile kontrol edin; eğer bir /boot bağlama noktası görmüyorsanız, daha ileri gitmeden önce bağlayın.

  • Bayraklarla syslinux-install_update'i çalıştırın: -i (dosyaları yükleyin), -a ("boot" bayrağı ile "aktif" bölümü işaretleyin), -m (MBR önyükleme kodunu yükleyin):
    # syslinux-install_update -i -a -m
    Bu komut "Syslinux BIOS install failed" ile başarısız olursa, sorun büyük olasılıkla extlinux ikilisinin /boot içeren bölümü bulamamasıdır:
# extlinux --install /boot/syslinux/
extlinux: cannot find device for path /boot/syslinux
extlinux: cannot open device (null)

Bu, örneğin, mevcut bir özel kerneli önyüklerken root=/dev/sda1 şeklindeki bir kernel komut satırı parametresini /proc/cmdline ve mount komutunun çıktısı ile kanıtlandığı gibi root=801 sayısal eşdeğerine dönüştüren LILO'dan yükseltme yaparken meydana gelebilir. Bu durumu ya --device=/dev/sda1'i extlinux'a belirtirken aşağıda açıklanan manuel kurulumla devam ederek ya da sadece ilk olarak stok Arch Linux Kerneline yeniden başlatarak düzeltin; bir initramfs kullanımı sorunu önler.

Not:
  • Sisteminizi şimdi yeniden başlatırsanız, bir Syslinux komut istemi alırsınız. Sisteminizi otomatik olarak başlatmak veya bir önyükleme menüsü almak için yapılandırma dosyası oluşturmanız (düzenlemeniz) gerekir.
  • Eğer başka bir root dizindeyseniz (örneğin bir kurulum diskinden) SYSLINUX'u chroot'a yönlendirerek kurun:
# syslinux-install_update -i -a -m -c /mnt

Manuel Kurulum

Not: Eğer kurulu bir sistemi canlı CD ile kurtarmaya çalışıyorsanız, bu komutları çalıştırmadan önce chroot yaptığınızdan emin olun. Önce chroot yapmazsanız, tüm dosya yollarını (/dev/ yollarını değil) bağlama noktası ile öncelemeniz gerekir.

Syslinux'u kurmayı planladığınız önyükleme bölümünüz bir FAT, ext2, ext3, ext4 veya Btrfs dosya sistemi içermelidir. Syslinux'u bir dosya sisteminin root dizinine, örneğin /dev/sda1 aygıtı /boot üzerine takılı olarak kurmak zorunda değilsiniz. Örneğin, Syslinux'u syslinux alt dizinine kurabilirsiniz:

# mkdir /boot/syslinux

Temel önyükleme istemi dışında herhangi bir menü veya yapılandırma kullanmak istiyorsanız, .c32 dosyalarını /usr/lib/syslinux/bios/'dan /boot/syslinux/'a kopyalayın. Bunlara sembolik bağlantı kurmayın.

# cp /usr/lib/syslinux/bios/*.c32 /boot/syslinux/

Şimdi önyükleyiciyi yükleyin. FAT, ext2/3/4 veya btrfs önyükleme bölümü için aygıtın bağlandığı extlinux kullanın:

# extlinux --install /boot/syslinux

Alternatif olarak, bir FAT önyükleme bölümü için aygıtın monte edilmemiş olduğu zaman syslinux kullanın:

# syslinux --directory syslinux --install /dev/sda1

Bundan sonra, bölümleme tablosuna uygun Syslinux önyükleme kodunu yüklemeye devam edin:

Sonraki bölümlerde açıklandığı gibi.

Daha fazla genel bilgi için Master Boot Record bölümüne bakın.

İpucu: Hangi bölümleme tablosunu kullandığınızdan emin değilseniz (MBR veya GPT), blkid -s PTTYPE -o value /dev/sda kullanarak kontrol edebilirsiniz.
Not: Bölümsüz bir kurulum için, Syslinux önyükleme kodunu MBR'ye yüklemeye gerek yoktur. Aşağıya atlayabilir ve #Konfigürasyon bölümüne geçebilirsiniz. Bakınız: [2].
MBR bölümleme tablosu

Bir MBR bölümleme tablosu için, önyükleme bölümünüzün bölüm tablonuzda "aktif" olarak işaretlendiğinden emin olun ("boot" bayrağı ayarlanmıştır). Bunu yapabilen uygulamalar arasında fdisk ve parted bulunmaktadır. Bu şekilde görünmelidir:

# fdisk -l /dev/sda
[...]
  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      104447       51200   83  Linux
/dev/sda2          104448   625142447   312519000   83  Linux

MBR'yi kurun:

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda

Syslinux'un sağladığı alternatif bir MBR: altmbr.bin. Bu MBR önyüklenebilir bölümler için tarama yapmaz; bunun yerine MBR'nin son baytı hangi bölümden önyükleme yapılacağını gösteren bir değere ayarlanır. Aşağıda altmbr.bin dosyasının nasıl kopyalanabileceğine dair bir örnek verilmiştir:

# printf '\x5' | cat /usr/lib/syslinux/bios/altmbr.bin - | dd bs=440 count=1 conv=notrunc iflag=fullblock of=/dev/sda

Bu durumda, altmbr.bin dosyasının içeriğine 5 (onaltılık) değerinde tek bir bayt eklenir ve elde edilen 440 bayt sda aygıtındaki MBR'ye yazılır. Syslinux diskin ilk mantıksal bölümüne (/dev/sda5) kurulmuştur.

GUID bölümleme tablosu

GPT için, /boot bölümü için öznitelik bit 2 "Legacy BIOS bootable" ayarının yapıldığından emin olun. Parted için "legacy_boot" bayrağı kullanılarak ayarlanabilir. Özniteliği ayarlamak için sgdisk komutunu kullanın:

# sgdisk /dev/sda --attributes=1:set:2

Bu, /dev/sda'nın 1. bölümünde "legacy BIOS bootable" niteliğini ayarlayacaktır. Kontrol etmek için:

# sgdisk /dev/sda --attributes=1:show
1:2:1 (legacy BIOS bootable)

MBR'yi kurun:

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/gptmbr.bin of=/dev/sda

UEFI Sistemler

Not:
  • efi64 x86_64 UEFI sistemlerini belirtir, IA32 (32-bit) EFI için aşağıdaki komutlarda efi64 yerine efi32 yazın.
  • Syslinux için, kernel ve initramfs dosyalarının EFI sistem bölümü (ESP olarak da bilinir) içinde olması gerekir, çünkü Syslinux (şu anda) kendi bölümü dışındaki dosyalara erişme yeteneğine sahip değildir (yani bu durumda ESP dışında). Bu nedenle ESP'nin /boot konumuna bağlanması önerilir.
  • Otomatik kurulum betiği /usr/bin/syslinux-install_update UEFI kurulumunu desteklemez.
  • UEFI için syslinux.cfg yapılandırma sözdizimi BIOS ile aynıdır.

UEFI Syslinux'un Kısıtlamaları

  • UEFI Syslinux menüsünde kernel parametrelerini düzenlemek için TAB kullanmak bozuk görüntüye yol açabilir (metinler üst üste). Hata raporu: [3]
  • UEFI Syslinux, UEFI Shell veya Windows Boot Manager gibi diğer EFI uygulamalarının zincirleme yüklenmesini desteklemez. Geliştirme isteği: [4]
  • Bazı durumlarda, UEFI Syslinux QEMU/OVMF veya VirtualBox gibi bazı Sanal Makinelerde veya bazı VMware ürünlerinde/versiyonlarında ve DUET gibi bazı UEFI emülasyon ortamlarında önyükleme yapmayabilir. Bir Syslinux katılımcısı VMware Workstation 10.0.2 ve Syslinux-6.02 veya sonraki sürümlerde böyle bir sorun olmadığını doğruladı. Hata raporları: [5], [6] ve [7]
  • Memdisk UEFI için mevcut değildir. Geliştirme isteği: [8]
  • Syslinux, UEFI önyüklemesi için kullanımdan kaldırılmış EFI handover protokolünü kullanır. Officially supported kernels, CONFIG_EFI_HANDOVER_PROTOCOL=y ile oluşturulduğundan etkilenmez. Bu olmadan oluşturulan çekirdeklerin önyüklenmesi başarısız olacaktır, bakınız: FS#77632.

UEFI üzerinde kurulum

Not: UEFI ile ilgili komutlarda, esp EFI sistem bölümü diğer adıyla ESP'nin bağlama noktasını belirtir.
  • syslinux ve efibootmgr paketlerini indirin. Ardından ESP'de Syslinux'u aşağıdaki gibi kurun:
  • Syslinux dosyalarını ESP'ye kopyalayın:
# mkdir -p esp/EFI/syslinux
# cp -r /usr/lib/syslinux/efi64/* esp/EFI/syslinux
  • Syslinux için efibootmgr'yi kullanarak önyükleme girişini ayarlayın:
# efibootmgr --create --disk /dev/sdX --part Y --loader /EFI/syslinux/syslinux.efi --label "Syslinux" --unicode

Burada /dev/sdXY önyükleyiciyi içeren bölümdür.

  • #Konfigürasyon'u takip ederek esp/EFI/syslinux/syslinux.cfg dosyasını oluşturun veya düzenleyin.
Not:
  • UEFI için yapılandırma dosyası esp/EFI/syslinux/syslinux.cfg'dir, /boot/syslinux/syslinux.cfg değil. /boot/syslinux/ içindeki dosyalar BIOS'a özeldir ve UEFI Syslinux ile ilgili değildir.
  • BIOS modunda önyükleme yapıldığında, efibootmgr /EFI/syslinux/syslinux.efi için EFI nvram girişini ayarlayamayacaktır. Bunu aşmak için, kaynakları varsayılan EFI konumuna yerleştirin: esp/EFI/syslinux/* -> esp/EFI/BOOT/* ve esp/EFI/syslinux/syslinux.efi -> esp/EFI/BOOT/bootx64.efi

Konfigürasyon

This article or section is out of date.

Reason: Güncel değil /boot/syslinux/syslinux.cfg zaten syslinux paketi tarafından sağlanmaktadır ve ESP /boot'a bağlanmışsa hem BIOS hem de UEFI'de çalışır. (Discuss in Talk:Syslinux (Türkçe)#Yapılandırma dosyasının konumu)

Syslinux yapılandırma dosyası, syslinux.cfg, Syslinux'u kurduğunuz dizinde oluşturulmalıdır. Bizim durumumuzda, BIOS sistemleri için /boot/syslinux/ ve UEFI sistemleri için esp/EFI/syslinux/.

Önyükleyici ya syslinux.cfg arar (tercih edilir) veya extlinux.conf

İpucu:
  • LINUX yerine KERNEL anahtar sözcüğü de kullanılabilir. KERNEL dosyanın türünü tespit etmeye çalışırken, LINUX her zaman bir Linux Kerneli bekler.
  • TIMEOUT değeri 0.1 saniye birimindedir.

Örnekler

Not:
  • Örneklerde bulunan herhangi bir yapılandırma dosyasının uygun kernel parametrelerini ayarlamak için düzenlenmesi gerekir. Bakınız bölüm: #Kernel parametreleri.
  • Lütfen yollara çok dikkat edin. Örnekler, özellikle UEFI kullanırken kurulumunuz için uygun olmayabilir.
  • Aşağıdaki örneklerde kernel ve initrd dosyalarının syslinux.cfg konumuna göre bir dizin üst seviyede bulunduğu varsayılmaktadır. (ya da, daha doğrusu, çalışma dizininin bir seviye üstü).

Önyükleme komut istemi

Bu, boot: komut istemini gösterecek ve 5 saniye sonra otomatik olarak önyükleme yapacak basit bir yapılandırma dosyasıdır. Bir komut istemi görmeden doğrudan önyükleme yapmak istiyorsanız, PROMPT öğesini 0 olarak ayarlayın.

Konfigürasyon:

* BIOS: /boot/syslinux/syslinux.cfg
* UEFI: esp/EFI/syslinux/syslinux.cfg
PROMPT 1
TIMEOUT 50
DEFAULT arch

LABEL arch
	LINUX ../vmlinuz-linux
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
	INITRD ../initramfs-linux.img

LABEL archfallback
	LINUX ../vmlinuz-linux
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
	INITRD ../initramfs-linux-fallback.img

Metin önyükleme menüsü

Syslinux ayrıca bir önyükleme menüsü kullanmanıza da izin verir. Bunu kullanmak için menu ve libutil modüllerini Syslinux dizininize kopyalayın:

# cp /usr/lib/syslinux/bios/{menu,libutil}.c32 /boot/syslinux/

5.00 sürümünden bu yana, ek lib*.c32 kütüphane modüllerine de sıklıkla ihtiyaç duyulmaktadır. Modül bağımlılık ağacı için the Syslinux wiki adresine bakın.

Konfigürasyon:

* BIOS: /boot/syslinux/syslinux.cfg
* UEFI: esp/EFI/syslinux/syslinux.cfg
UI menu.c32
PROMPT 0

MENU TITLE Boot Menu
TIMEOUT 50
DEFAULT arch

LABEL arch
	MENU LABEL Arch Linux
	LINUX ../vmlinuz-linux
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
	INITRD ../initramfs-linux.img

LABEL archfallback
	MENU LABEL Arch Linux Fallback
	LINUX ../vmlinuz-linux
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
	INITRD ../initramfs-linux-fallback.img

Menü sistemi hakkında daha fazla ayrıntı için the Syslinux wiki adresine bakın.

Grafiksel önyükleme menüsü

Syslinux ayrıca grafiksel bir önyükleme menüsü kullanmanıza da izin verir. Bunu kullanmak için vesamenu dosyasını kopyalayın. COM32 modülünü Syslinux klasörünüze ekleyin:

# cp /usr/lib/syslinux/bios/vesamenu.c32 /boot/syslinux/

5.00 sürümünden bu yana, ek lib*.c32 kütüphane modüllerine de sıklıkla ihtiyaç duyulmaktadır. Modül bağımlılık ağacı için the Syslinux wiki adresine bakın.

Not: Eğer UEFI kullanıyorsanız, /usr/lib/syslinux/efi64/ adresinden kopyaladığınızdan emin olun. (veya IA32 (32-bit) EFI sistemleri için efi32), aksi takdirde siyah bir ekranla karşılaşacaksınız. Bu durumda, canlı bir ortamdan önyükleme yapın ve uygun değişiklikleri yapmak için chroot kullanın.

Bu konfigürasyon Arch Kurulum CD'si ile aynı menü tasarımını kullanır, konfigürasyonu gitlab.archlinux.org adresinde bulunabilir. https://gitlab.archlinux.org/archlinux/archiso/-/raw/master/configs/releng/syslinux/splash.png?inline=false Arch Linux arka plan görüntüsü] de oradan indirilebilir. Görüntüyü /boot/syslinux/splash.png adresine kopyalayın.

Konfigürasyon::

* BIOS: /boot/syslinux/syslinux.cfg
* UEFI: esp/EFI/syslinux/syslinux.cfg
UI vesamenu.c32
DEFAULT arch
PROMPT 0
MENU TITLE Boot Menu
MENU BACKGROUND splash.png
TIMEOUT 50

MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 11
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29

# Refer to https://wiki.syslinux.org/wiki/index.php/Comboot/menu.c32

MENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 std

LABEL arch
	MENU LABEL Arch Linux
	LINUX ../vmlinuz-linux
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
	INITRD ../initramfs-linux.img

LABEL archfallback
	MENU LABEL Arch Linux Fallback
	LINUX ../vmlinuz-linux
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw
	INITRD ../initramfs-linux-fallback.img

Syslinux 3.84'ten beri, vesamenu.c32 MENU RESOLUTION $WIDTH $HEIGHT yönergesini desteklemektedir. Bunu kullanmak için, 1440x900 çözünürlük için yapılandırmanıza MENU RESOLUTION 1440 900 ekleyin. Ancak, arka plan resminin tam olarak doğru çözünürlüğe sahip olması gerekir, aksi takdirde Syslinux menüyü yüklemeyi reddeder.

Menüyü ortalamak ve çözünürlüğü ayarlamak için MENU RESOLUTION, MENU HSHIFT $N ve MENU VSHIFT $N kullanın; burada $N pozitif bir sayıdır. Varsayılan değerlerin her ikisi de monitörünüzün sol üst köşesi olan 0'dır. Tersine, negatif bir sayı ekranın diğer ucundan başlar (örneğin VHSHIFT -4 ekranın altından 4 satır olacaktır).

Menüyü ortaya taşımak için bu değerleri ekleyin veya düzenleyin:

* BIOS: /boot/syslinux/syslinux.cfg
* UEFI: esp/EFI/syslinux/syslinux.cfg
MENU RESOLUTION 800 600 # or whatever your screen resolution is
MENU WIDTH 78           # width of the menu also required to bring the menu box to size
MENU VSHIFT 10          # moves menu down
MENU HSHIFT 10          # moves menu right

VESA standartları genellikle maksimum 25 satır ve 80 sütundur, bu nedenle bu değerlerin üzerine çıkmak menüyü ekrandan uzaklaştırabilir ve potansiyel olarak bir kurtarma CD'sinden düzenleme yapılmasını gerektirebilir.

Kernel parametreleri

Kernel parametreleri syslinux.cfg içindeki APPEND yönergesi kullanılarak ayarlanır: her LABEL girişi için en fazla bir APPEND satırı kabul edilir (yani birden fazla satıra yayılma geçerli değildir).

"Fallback" girişi için de aşağıdaki değişikliklerin yapılması önerilir.

En basit durumda, root parametresinin değerinin değiştirilmesi gerekir; desteklenen yöntemler için Kalıcı blok aygıtı adlandırma bölümüne bakın.

APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw

Doğru root birimi seçmek için root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX öğesini değiştirin.

Eğer dm-crypt şifreleme kullanıyorsanız şifrelenmiş biriminizi kullanmak için APPEND satırını değiştirin:

APPEND root=/dev/mapper/name cryptdevice=UUID=YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY:name rw

Bir btrfs alt birimi önyükleniyorsa, APPEND satırını rootflags=subvol=root_subvolume ile değiştirin. Örneğin, /dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX 'ROOT' adlı bir btrfs alt birimi olarak bağlanmışsa (örneğin mount -o noatime,subvol=ROOT /dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXXXX-XXXXXXXX /mnt), o zaman APPEND satırının aşağıdaki gibi değiştirilmesi gerekir:

APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=ROOT

Aksi takdirde aşağıdaki hata mesajıyla sonuçlanacaktır: ERROR: Root device mounted successfully, but /sbin/init does not exist.

Otomatik Önyükleme

Syslinux menüsünü hiç görmek istemiyorsanız, #Önyükleme komut istemi'ni kullanın ve PROMPT değişkenini 0 olarak ayarlayın ve UI menü girişlerini yorumlayın. TIMEOUT değişkenini 0 olarak ayarlamak da iyi bir fikir olabilir. syslinux.cfg dosyanızda DEFAULT ayarının olduğundan emin olun. Açılış sırasında Shift veya Alt tuşlarından birini basılı tutmak ya da Caps Lock veya Scroll Lock tuşlarından birini ayarlamak varsayılan dışındaki seçeneklerin kullanılmasını sağlayacaktır.

Ek alternatifler için upstream viki adresine bakın.

Güvenlik

Syslinux'un iki önyükleyici güvenlik seviyesi vardır: bir menü ana parolası ve bir menü-öğe parolası. syslinux.cfg içinde şunu kullanın:

MENU MASTER PASSWD passwd 

ana önyükleyici parolası ayarlamak için ve

MENU PASSWD passwd 

bir LABEL bloğu içinde tek tek önyükleme öğelerini parola ile korumak için.

passwd açık metin parolası ya da karma parola olabilir: resmi belgelere bakın.

Zincirleme önyükleme

Syslinux BIOS diğer bölümlerde bulunan dosyaları doğrudan zincirleme önyükleyemez; ancak, chain.c32 bir bölüm önyükleme sektörünü (VBR) veya başka bir diskin MBR'sini önyükleyebilir.

Bir bölümün VBR'sini zincirleme önyükleme

Windows gibi diğer işletim sistemlerini veya önyükleme yükleyicilerini zincirleme önyüklemek istiyorsanız, chain.c32 modülünü Syslinux dizinine kopyalayın (ek lib*.c32 kütüphane modülleri de gerekebilir; ayrıntılar için önceki bölümdeki talimatlara bakın). Ardından yapılandırma dosyasında bir bölüm oluşturun:

/boot/syslinux/syslinux.cfg
...
LABEL windows
	MENU LABEL Windows
	COM32 chain.c32
	APPEND hd0 3
...

hd0 3 ilk BIOS sürücüsündeki üçüncü bölümdür - sürücüler sıfırdan itibaren sayılır, ancak bölümler birden itibaren sayılır.

Not: Windows için bu, birkaç önemli güncellemenin (örneğin [9]) tamamlanması için gerekli olan sistemin kendi önyükleme yöneticisini (bootmgr) atlar. Bu gibi durumlarda MBR önyükleme bayrağını geçici olarak Windows bölümüne ayarlamak (örneğin GParted ile), güncellemenin yüklenmesini bitirmesine izin vermek ve ardından bayrağı Syslinux bölümüne sıfırlamak (örneğin Windows'un kendi DiskPart] ile) tavsiye edilebilir.

Bir diskin MBR'sini zincirleme önyükleme

BIOS'unuzun hangi sürücünün "ilk" olduğunu düşündüğünden emin değilseniz, bunun yerine MBR tanımlayıcısını veya GPT kullanıyorsanız dosya sistemi etiketlerini kullanabilirsiniz. MBR tanımlayıcısını kullanmak için şu komutu çalıştırın:

# fdisk -l /dev/sdb
Disk /dev/sdb: 128.0 GB, 128035676160 bytes 
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf00f1fd3
 
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152    7  HPFS/NTFS/exFAT
/dev/sdb2         4196352   250066943   122935296    7  HPFS/NTFS/exFAT

/dev/sdb yerine zincirleme yüklemek istediğiniz sürücüyü yazın. Disk tanımlayıcısı altındaki onaltılık sayıyı kullanarak: 0xf00f1fd3 bu durumda, syslinux.cfg içindeki sözdizimi şöyledir

/boot/syslinux/syslinux.cfg
...
LABEL windows
	MENU LABEL Windows
	COM32 chain.c32
	APPEND mbr:0xf00f1fd3
...

Zincirleme yükleme hakkında daha fazla bilgi için Syslinux'un vikisi adresine bakın.

Diğer önyükleme yükleyicilerini zincirleme önyükleme

Aynı bölümde GRUB yüklüyse, bunu kullanarak zincirleme önyükleyebilirsiniz:

/boot/syslinux/syslinux.cfg
...
LABEL grub2
	MENU LABEL Grub2
	COM32 chain.c32
	APPEND file=../grub/boot.img
...

Alternatif olarak, lnxboot.img dosyasını core.img dosyasının önüne ekleyerek GRUB'u bir Linux kerneli olarak yüklemek de mümkündür. lnxboot.img dosyası core/grub dosyasının bir parçasıdır ve /usr/lib/grub/i386-pc içinde bulunabilir.

/boot/syslinux/syslinux.cfg
...
LABEL grub2lnx
	MENU LABEL Grub2 (lnxboot)
	LINUX ../grub/i386-pc/lnxboot.img
	INITRD ../grub/i386-pc/core.img
...

Bu, ISO görüntülerinden önyükleme yapmak için gerekli olabilir.

Diğer Linux sistemlerine zincirleme önyükleme

The factual accuracy of this article or section is disputed.

Reason: Among other inaccuracies... 1_ There is no obligation to install yet another boot loader if you already have one related to the other partition/OS (e.g. GRUB2 installed in the MBR or in the VBR of the partition being chainloaded to). 2_ Syslinux (in any of its derivatives) is never "installed to the MBR", so mentioning the MBR in this section without any explanation of what it is being meant or how to do it in practical terms is just adding confusion. 3_ Typos and misspelling. 4_No need to explain (yet again) how to install some (other) bootloader to some (other) partition / OS; just how to chainload from Syslinux to that other partition / bootloader / OS. (Discuss in Talk:Syslinux (Türkçe))

Windows gibi başka bir önyükleyiciyi zincirleme yüklemek oldukça açıktır, çünkü zincirleme yapılacak belirli bir önyükleyici vardır. Ancak Syslinux ile, yalnızca yapılandırma dosyası ile aynı bölümde bulunan dosyaları yükleyebilir. Bu nedenle, ayrı bir bölümde, paylaşılan bir /boot olmadan başka bir Linux sürümünüz varsa, diğer işletim sisteminin varsayılan önyükleyicisi (örneğin GRUB2) yerine EXTLINUX'u kullanmak gerekli hale gelir. Esasen, EXTLINUX superblock/VBR bölümüne kurulabilir ve Syslinux tarafından kurulan MBR'den ayrı bir önyükleyici olarak çağrılabilir. EXTLINUX, Syslinux Projesi'nin bir parçasıdır ve syslinux paketine dahildir.

Aşağıdaki talimatlar Syslinux'un zaten kurulu olduğunu varsaymaktadır. Bu talimatlar aynı zamanda tipik Arch Linux yapılandırma yolu olan /boot/syslinux'un kullanıldığını ve zincirleme yüklenen sistemin /'in /dev/sda3 üzerinde olduğunu varsayacaktır.

Önyüklenmiş bir Linux'tan (muhtemelen Syslinux'un önyükleme için ayarlandığı bölüm), diğer sistemin root bölümünü istediğiniz bağlama noktasına bağlayın. Bu örnekte bu /mnt olacaktır. Ayrıca, ikinci işletim sisteminde ayrı bir /boot bölümü kullanılıyorsa, bunun da bağlanması gerekecektir. Örnekte bunun /dev/sda2 olduğu varsayılmaktadır.

# mount /dev/sda3 /mnt
# mount /dev/sda2 /mnt/boot (only necessary for separate /boot)

EXTLINUX'u VBR bölümüne yükleyin ve gerekli *.c32 dosyalarını kopyalayın

# extlinux -i /mnt/boot/syslinux/ (first create the directory if necessary)
# cp /usr/lib/syslinux/bios/*.c32 /mnt/boot/syslinux

/mnt/boot/syslinux/syslinux.cfg dosyasını oluşturun. Diğer Linux'un önyükleyici menü dosyasını referans olarak kullanabilirsiniz. Aşağıda bir örnek verilmiştir:

/mnt/boot/syslinux/syslinux.cfg on /dev/sda3
TIMEOUT 10

UI menu.c32

LABEL OtherLinux
	LINUX /boot/vmlinuz-linux
	INITRD /boot/initramfs-linux.img
	APPEND root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw quiet

LABEL MAIN
	COM32 chain.c32
	APPEND hd0 0

Ve sonra ana syslinux.cfg dosyanıza bir girdi ekleyin

/boot/syslinux/syslinux.cfg
LABEL OtherLinux
	COM32 chain.c32
	APPEND hd0 3

<other-OS>/boot/syslinux/syslinux.cfg içindeki diğer Linux girişinin, / içindeki en son kerneline ve initrdsine sembolik bağlantıları yoksa, bu işletim sisteminin kernelini her güncellediğinizde düzenlenmesi gerekeceğini unutmayın. Kerneli doğrudan boot ettiğimiz ve diğer işletim sisteminin varsayılan önyükleyicisini zincirleme önyüklemediğimiz için.

memtest'i kullanma

memtest86+ paketini indirin.

Bu LABEL bölümünü memtest'i başlatmak için kullanın:

/boot/syslinux/syslinux.cfg
...
LABEL memtest
	MENU LABEL Memtest86+
	LINUX ../memtest86+/memtest.bin
...
Not: Eğer PXELINUX kullanıyorsanız, memtest.bin olan ismi memtest olarak değiştirin çünkü PXELINUX .bin uzantılı dosyayı bir önyükleme sektörü olarak görür ve sadece 2KB'lık kısmını yükler.

HDT

HDT (Hardware Detection Tool (Türkçe olarak "Donanım Algılama Aracı")) donanım bilgilerini görüntüler. Daha önce olduğu gibi, .c32 dosyası /boot/syslinux/'dan kopyalanmalıdır. Ek lib*.c32 kütüphane modüllerine de ihtiyaç duyulabilir. PCI bilgisi için, /usr/share/hwdata/pci.ids dosyasını /boot/syslinux/pci.ids dosyasına kopyalayın ve yapılandırma dosyanıza aşağıdakileri ekleyin:

/boot/syslinux/syslinux.cfg
LABEL hdt
	MENU LABEL Hardware Info
	COM32 hdt.c32

Yeniden başlatma ve kapatma

Not: Syslinux 6.03'ten itibaren, poweroff.c32 yalnızca APM ile çalışır ve ACPI ile çalışmaz. Olası bir çözüm için bakınız :acpioff: ACPI kullanarak makineyi kapatmak için COM32 modülü.

Makinenizi yeniden başlatmak veya kapatmak için aşağıdaki bölümleri kullanın:

/boot/syslinux/syslinux.cfg
LABEL reboot
	MENU LABEL Reboot
	COM32 reboot.c32

LABEL poweroff
	MENU LABEL Power Off
	COM32 poweroff.c32

Menüyü temizleme

Menüden çıkarken ekranı temizlemek için aşağıdaki satırı ekleyin:

/boot/syslinux/syslinux.cfg
MENU CLEAR

Klavye düzeni

Syslinux önyükleme isteminde önyükleme komutunuzu çeşitli parametrelerle sık sık düzenlemeniz gerekiyorsa, klavye düzeninizi yeniden eşleştirmek isteyebilirsiniz. Bu, "=", "/" ve diğer karakterleri ABD dışı bir klavyede kolayca girmenizi sağlar.

Not: {Pkg

paketinde bulunan keytab-lilo, loadkeys programını çağıran bir perl betiğidir.}}

Uyumlu bir klavye düzeni oluşturmak için (örneğin Almanca bir klavye düzeni) çalıştırın:

# keytab-lilo /usr/share/kbd/keymaps/i386/qwerty/us.map.gz /usr/share/kbd/keymaps/i386/qwertz/de.map.gz > /boot/syslinux/de.ktl

Şimdi syslinux.cfg dosyasını düzenleyin ve ekleyin:

/boot/syslinux/syslinux.cfg
KBDMAP de.ktl

Daha fazla ayrıntı için Syslinux viki adresine bakın.

Menüyü gizleme

Yalnızca zaman aşımını görüntülerken menüyü gizlemek için bu seçeneği kullanın. Menüyü açmak için herhangi bir tuşa basın.

/boot/syslinux/syslinux.cfg
MENU HIDDEN

PXELINUX

Not: UEFI için, Syslinux disk önyüklemesi ve ağ önyüklemesi için aynı ikiliyi kullanır. TFTP veya diğer ağ protokollerinden dosya yüklemek için Syslinux'un ağdan önyüklenmesi gerekir.

PXELINUX syslinux paketi tarafından sağlanır.

BIOS istemcileri için, {l,}pxelinux.0 önyükleyicisini istemcinin önyükleme dizinine kopyalayın. 5.00 ve daha yeni sürümler için, aynı paketten ldlinux.c32 dosyasını da kopyalayın:

# cp /usr/lib/syslinux/bios/pxelinux.0 "TFTP_root/boot/"
# cp /usr/lib/syslinux/bios/ldlinux.c32 "TFTP_root/boot/"
# mkdir "TFTP_root/boot/pxelinux.cfg"

Ayrıca PXELINUX'un varsayılan olarak yapılandırma dosyalarını aradığı pxelinux.cfg dizinini oluşturduk. Farklı ana bilgisayar MAC'leri arasında ayrım yapmak istemediğimiz için, default yapılandırmasını oluşturduk.

TFTP_root/boot/pxelinux.cfg/default
DEFAULT linux

LABEL linux
	KERNEL vmlinuz-linux
	APPEND initrd=initramfs-linux.img quiet ip=:::::eth0:dhcp nfsroot=10.0.0.1:/arch

Veya NBD kullanıyorsanız, aşağıdaki ekleme satırını kullanın:

APPEND ro initrd=initramfs-linux.img ip=:::::eth0:dhcp nbd_host=10.0.0.1 nbd_port=10809 nbd_name=arch root=/dev/nbd0
Not: Ağ yapılandırmanızla (NFS/NBD sunucusunun adresi) eşleşmesi için sırasıyla nbd_host ve/veya nfsroot değiştirmeniz gerekecektir

PXELINUX, SYSLINUX ile aynı yapılandırma sözdizimini kullanır; daha fazla bilgi için upstream belgelerine bakın.

Çekirdek ve initramfs TFTP aracılığıyla aktarılacaktır, bu nedenle bunlara giden yollar TFTP rootuna göreli olacaktır. Aksi takdirde, root dosya sistemi NFS bağlantısının kendisi olacaktır, bu nedenle bunlar NFS sunucusunun rootuna görelidir.

PXELINUX'u gerçekten yüklemek için {ic|filename "/grub/i386-pc/core.0";}} {ic|/etc/dhcpd.conf}} içindeki filename "/pxelinux.0" (veya filename "/lpxelinux.0") ile değiştirin.

ISO9660 görüntü dosyalarını memdisk ile önyükleme

Syslinux, memdisk modülünü kullanarak ISO görüntülerinden doğrudan önyüklemeyi destekler, örnekler için Multiboot USB drive#Using Syslinux and memdisk bölümüne bakın.

Seri konsol

Bakınız: Seri konsolla çalışma#Syslinux.

Başka bir işletim sistemini bir kez önyükleme

Varsayılan Syslinux eylemini geçici olarak değiştirmek ve yalnızca bir sonraki önyükleme sırasında başka bir etiketi önyüklemek mümkündür. Aşağıdaki komut archfallback etiketinin bir kez nasıl önyükleneceğini göstermektedir:

# extlinux -o archfallback /boot/syslinux

Bir sonraki önyükleme sırasında, belirtilen etiket herhangi bir Syslinux istemi gösterilmeden önyüklenecektir. Varsayılan Syslinux önyükleme davranışı bir sonraki yeniden başlatmada geri yüklenecektir.

Sorun Giderme

Ldlinux yüklenemedi

İlk açılış sırasında "Failed to load ldlinux.c32" gibi bir hata mesajı çok çeşitli nedenlerle tetiklenebilir. Olası nedenlerden biri, kendi sürümüne bağlı olarak dosya sistemi araçlarında veya dosya sistemi yapısında bir değişiklik olabilir.

Uyarı: Syslinux 6.03'ten itibaren, desteklenen dosya sistemlerinin bazı özellikleri önyükleyici tarafından desteklenmemektedir. Daha fazla bilgi için [10] adresine bakın.
Not: Failed to load ldlinux.c32 gibi bir mesaj ile dosya sistemiyle ilgili bir sorun arasında doğrudan ve benzersiz bir ilişki yoktur:
  • Bu mesaj yerine diğer alternatif semptomlar da dosya sistemiyle ilgili bir soruna işaret edebilir.
  • Bu mesaj, sorunun mutlaka dosya sistemiyle ilgili olduğu anlamına gelmez; bu tür mesajların başka olası nedenleri de vardır.

Ayrıca bakınız: [11] (tüm sayfa sorun giderme için de uygun olabilir).

Syslinux komut istemini kullanma

Önyüklemek istediğiniz girdinin LABEL adını yazabilirsiniz (syslinux.cfg'nize göre). Örnek yapılandırmaları kullandıysanız, sadece aşağıdakileri yazın:

boot: arch

Yapılandırma dosyasının yüklenemediğine dair bir hata alırsanız, gerekli önyükleme parametrelerinizi iletebilirsiniz, örn:

boot: ../vmlinuz-linux root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=../initramfs-linux.img

Eğer ramfs içinde boot:'a erişiminiz yoksa ve bu nedenle geçici olarak kerneli tekrar önyükleyemiyorsanız,

  1. Root bölümünüzü bağlamak için geçici bir dizin oluşturun (eğer zaten mevcut değilse):
    # mkdir -p /new_root
  2. / öğesini /new_root altına bağlayın (/boot/ aynı bölümdeyse, aksi takdirde her ikisini de bağlamanız gerekecektir):
    Not: Busybox, kendi ext2 bölümü üzerindeyse /boot'u bağlayamaz.
    # mount /dev/sd[a-z][1-9] /new_root
  3. syslinux.cfg dosyasını ihtiyaçlarınıza uyacak şekilde yeniden ayarlayın ve dosyayı kaydedin.
  4. Bilgisayarınızı yeniden başlatın.

Fsck root bölümünde başarısız oluyor

Kötü şekilde bozulmuş bir root bölümü (günlüğün hasar gördüğü) durumunda, ramfs acil durum kabuğunda root dosya sistemini bağlayın:

# mount /dev/root partition /new_root

Ve root bölümünden tune2fs binary dosyasını alın (Syslinux'a dahil değildir):

# cp /new_root/sbin/tune2fs /sbin/

Root bölümü için yeni bir günlük oluşturmak için ext2fs: no external journal adresindeki talimatları izleyin.

Bazı bilgisayarlarda varsayılan seçenek veya kullanıcı arayüzü bulunamadı

Bazı anakart üreticileri USB aygıtlarından önyükleme için diğerlerine göre daha az uyumluluğa sahiptir. Ext4 formatlı bir USB sürücü daha yeni bir bilgisayarda önyükleme yapabilirken, kernel ve initrd içeren önyükleme bölümü bir FAT16 bölümünde değilse bazı bilgisayarlar takılabilir. Eski bir makinenin ldlinux yüklemesini ve syslinux.cfg dosyasını okuyamamasını önlemek için, dosfstools kullanarak bir bölüm (≤ 2 GB) oluşturun ve FAT16 olarak biçimlendirin:

# mkfs.fat -F 16 /dev/sda1

ardından Syslinux'u kurun ve yapılandırın.

Kayıp işletim sistemi

  • GPT için gptmbr.bin ve MBR bölümleme tablosu için mbr.bin yüklediğinizi kontrol edin. " Kayıp işletim sistemi (Missing operating system)" mesajı mbr.bin'den gelirken, gptmbr.bin "Kayıp İşletim Sistemi (Missing OS)" mesajı gösterecektir.
  • /boot içeren bölümün "boot" bayrağının etkin olup olmadığını kontrol edin.
  • Önyükleme aygıtındaki ilk bölümün sektör 63 veya 2048 yerine sektör 1'de başlayıp başlamadığını kontrol edin. Bunu fdisk -l ile kontrol edin. Eğer sektör 1'de başlıyorsa, bölüm(ler)i gparted ile bir kurtarma diskinden taşıyabilirsiniz. Ya da ayrı bir önyükleme bölümünüz varsa, /boot ile yedekleyebilirsiniz.
# cp -a /boot /boot.bak

ve sonra Arch kurulum diski ile önyükleme yapın. Sonra, cfdisk kullanarak /boot bölümünü silin ve yeniden oluşturun. Bu kez uygun sektör olan 63 ile başlamalıdır. Şimdi bölümlerinizi ve chroot'u indirme kılavuzu'nda açıklandığı gibi monte edilmiş sisteminize bağlayın. komutu ile /boot dosyasını geri yükleyin

# cp -a /boot.bak/ /boot/

/etc/fstab'ın doğru olup olmadığını kontrol edin, çalıştırın:

# syslinux-install_update -iam

ve yeniden başlatın.

Bir md RAID'den önyükleme yapmaya çalışıyorsanız da bu hatayı alırsınız. 1 dizisini oluşturdu ve diziyi Syslinux'un anlamadığı çok yeni bir metadata sürümü ile oluşturdu. Ağustos 2013 itibariyle mdadm varsayılan olarak 1.2 sürüm metadata ile bir dizi oluşturacaktır, ancak Syslinux 1.0'dan daha yeni metadatayı anlamamaktadır. Eğer durum buysa, mdadm'a --metadata=1.0 bayrağını kullanarak RAID dizinizi yeniden oluşturmanız gerekecektir.

Windows açılıyor, Syslinux'u yok sayıyor

Çözüm: /boot içeren bölümün önyükleme bayrağının etkin olduğundan emin olun. Ayrıca, Windows bölümünde önyükleme bayrağının etkinleştirilmediğinden emin olun. Yukarıdaki kurulum bölümüne bakın.

Syslinux ile birlikte gelen MBR, önyükleme bayrağı ayarlanmış olan ilk etkin bölümü arar. Windows bölümü muhtemelen ilk olarak bulunmuştur ve önyükleme bayrağı ayarlanmıştır. Eğer isterseniz, Windows ya da MS-DOS'un fdisk sağladığı MBR'yi kullanabilirsiniz.

Menü girişleri hiçbir şey yapmıyor

Bir menü girişi seçiyorsunuz ve hiçbir şey yapmıyor, sadece menüyü "yeniliyor". Bu genellikle syslinux.cfg dosyanızda bir hata olduğu anlamına gelir. Açılış parametrelerinizi düzenlemek için Tab tuşuna basın. Alternatif olarak, Esc tuşuna basın ve önyükleme girişinizin LABEL kodunu yazın (örneğin arch). Başka bir neden de yüklü bir kernelinizin olmaması olabilir. Dosya sisteminize erişmenin bir yolunu bulun (canlı CD, vb.) ve /mount/vmlinuz-linux dosyasının var olduğundan ve boyutunun 0 olmadığından emin olun. Eğer durum buysa, kernelinizi yeniden yükleyin.

ldlinux.sys kaldırılamıyor

ldlinux.sys dosyasının değiştirilemez özniteliği vardır, bu da silinmesini veya üzerine yazılmasını engeller. Bunun nedeni, dosyanın sektör konumunun değişmemesi, aksi takdirde Syslinux'un yeniden yüklenmesi gerektiğidir. Kaldırmak için çalıştırın:

# chattr -i /boot/syslinux/ldlinux.sys
# rm /boot/syslinux/ldlinux.sys

Vesamenu kullanırken sol üst köşede beyaz blok

Problem: linux-3.0'dan itibaren, modesetting sürücüsü çözünürlüğü değiştirdikten sonra ekranın mevcut içeriğini tutmaya çalışıyor (en azından benim Intel'imde, Syslinux metin modundayken bunu yapıyor). Görünüşe göre Syslinux'taki vesamenu modülü ile birleştirildiğinde bu yanlış gidiyor (beyaz blok aslında Syslinux menüsünü tutma girişimidir, ancak sürücü vesa grafik modundan resmi yakalayamıyor).

Özel bir çözünürlüğünüz ve erken kip ayarlı bir vesamenu'nuz varsa, beyaz bloğu kaldırmak ve grafik kipinde devam etmek için syslinux.cfg içine aşağıdakileri eklemeyi deneyin:

APPEND root=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw 5 vga=current quiet splash

Windows başka bir sürücüye yüklendiğinde zincirleme önyükleme çalışmıyor

Windows Arch'tan farklı bir sürücüye kuruluysa ve zincirleme yüklemede sorun yaşıyorsanız, aşağıdaki yapılandırmayı deneyin:

LABEL Windows
	MENU LABEL Windows
	COM32 chain.c32
	APPEND mbr:0xdfc1ba9e swap

Mbr kodunu Windows sürücünüzün sahip olduğu kodla değiştirin (ayrıntılar yukarıda) ve seçeneklere swap ekleyin.

Önyükleyici günlüğünü okuyun

Bazı durumlarda (örneğin önyükleyicinin kerneli önyükleyememesi) önyükleme işleminden daha fazla bilgi almak oldukça arzu edilir. Syslinux hata mesajlarını ekrana yazdırır ancak önyükleme menüsü hızlı bir şekilde metnin üzerine yazar. Günlük bilgilerini kaybetmemek için syslinux.cfg dosyasında UI menu seçeneğini devre dışı bırakın ve varsayılan "command-line" komut istemini kullanın. Bu şu anlama gelir:

  • UI yönergesinden kaçının
  • ONTIMEOUT'dan kaçının
  • ONERROR'dan kaçının
  • MENU CLEAR'dan kaçının
  • daha yüksek bir TIMEOUT kullanın
  • PROMPT 1 kullanın
  • DEFAULT problematic_label kullanın

Daha ayrıntılı hata ayıklama günlüğü almak için, syslinux paketini ek CFLAGS ile yeniden derleyin:

-DDEBUG_STDIO=1 -DCORE_DEBUG=1

Btrfs sıkıştırması

Sıkıştırma ile btrfs'den önyükleme desteklenmiyor.[12] Aşağıdaki hata görüntülenecektir:

btrfs: found compressed data, cannot continue!
invalid or corrupt kernel image.

Btrfs çoklu cihaz

Çoklu aygıt btrfs'den önyükleme desteklenmiyor.[13] (21-Temmuz-2016 1246 satırından itibaren main.c validate_device_btrfs() içinde) Bu kafa karıştırıcı hata gösterilecektir (sda1 üzerine kurulum yaptığınızı varsayarsak):

/boot/syslinux is device /dev/sda1
extlinux: path /boot/syslinux doesn't match device /dev/sda1

Ayrıca bakınız