Syslinux (Türkçe)

Ç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. Çevrilmiş tüm makelelere
buradan erişebilirsiniz
.
İlgili makaleler
Arch boot process
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ış
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
).
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.
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.
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.
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.
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
gptfdisk
paketi
#Otomatik kurulum
bölümünü izliyorsanız
GPT
desteği için gereklidir.
Önyükleme bölümünüz
FAT
ise,
mtools
paketine de ihtiyacınız olacaktır.
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
Şimdi
#Konfigürasyon
ve
#Kernel parametreleri
adımlarını takip ederek
/boot/syslinux/syslinux.cfg
dosyasını düzenleme zamanı.
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:
Bir
MBR bölümleme tablosu
için
mbr.bin
yüklenecektir, veya
Bir
GUID bölümleme tablosu
için
gptmbr.bin
yüklenecektir
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,
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
/
öğ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
syslinux.cfg
dosyasını ihtiyaçlarınıza uyacak şekilde yeniden
ayarlayın
ve dosyayı kaydedin.
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
Resmi web sitesi