Manjaro Grub Onarım Kurtarma ve Önyükleme
Genel Bakış
Birçok Linux işletim sisteminde olduğu gibi Manjaro Linux'ta GRUB (GRand Unified Bootloader) ile açılır. Herhangi bir sebepten dolayı grub başlamazsa bu yeniden kurulum yapmayı gerektirmez. Grub silinmiş, hiç kurulmamış ya da bozulmuş olsa bile onarılabilir ve yeniden yüklenebilir. Bu işlemi yapmak için CD/DVD veya USB diskten çalışan bir Manjaro Kurulum Medyası kullanmalısınız.
Manjaro Kurulum Kalıbı ile Başla
1. Manjaro Kurulum Medyasını CD/DVD veya USB diskinizden başlatın.
2. Tercih ettiğiniz dili F2 tuşuna basarak seçebilirsiniz. F3 tuşu ile de seçtiğiniz dile ait klavye alt türevlerini tercih edebilirsiniz.
İpucu: Dil ve klavye düzenini ayarlama İşlev (F) tuşlarına basarak yapılmaktadır. Fakat birçok bilgisayarda fonksiyon tuşlarına atanmış birden fazla işlev vardır. Doğru işlevi yerine getirmek için bir başka tuşa da basılı tutmanız gerekebilir. Örneğin, HP G62 dizüstü bilgisayarda, fonksiyon tuşlarını kullanmak için, önce 'fn' tuşuna basılmalı ve basılı tutulmalıdır. Birçok dizüstü bilgisayarda bu özellik vardır.
3. Bu adımda seçtiğiniz Manjaro sürümünün bir önemi yoktur. Eski bir sürüm olabilir, farklı masaüstü ortamları olabilir. Çünkü bu kurulum medyası ile kurulum yapmayacaksınız. bu sadece grub onarımı için kullanılacak.
4. Çalışan Sistem (Live System) açılırken uçbirim satırına geçiş yapın.
Ya da Masaüstü Yöneticisi: açıldıktan sonra menüden uçbirim (terminal-konsol) açın ve sudo su komutunu verin.
veya
NET-Edition sürümü ile açmış iseniz Doğrudan komut satırında olacaksınız Yetkili olarak devam etmek için kullanıcı adını root şifresini ise manjaro olarak girmelisiniz.
Diskleri İnceleme ve Hazırlık Aşaması
Not: chroot prosedürünü incelemek için bakınız. (ing).
1. Öncelikle uçbirimde yetki aldığınızdan emin olun. Yetki almamış iseniz komut satırında dolar işareti ('$') görürsünüz. bu normal kullanıcı anlamına gelir. Yetki almış iseniz komut satırında diyez işareti ('#') görürsünüz. Bu şekilde tüm sistemde değişiklik yapmaya erişim sağlarsınız. Yetki aldıktan sonra şu komutu veriniz:
sudo su
2. Disk bölümlerini listeleyin. Bu işlemi yaparak Manjaro'nun hangi bölümde yüklü olduğunu göreceksiniz. Listelemek için uçbirimden şu komutları giriniz:
lsblk -f
veya
sudo blkid -o list -c /dev/nul
Diskler listelendikten sonra Manjaro için sadece bir kök bölüm veya birden fazla bölüm oluşturulmuş olduğunu görürsünüz. Birden fazla bölüm varsa bunun anlamı aşağıdaki gibidir:
/dev/sda1: Boot - Önyükleme disk bölümü
/dev/sda2: Swap - Takas Alanı disk bölümü
/dev/sda3: Manjaro Kök Sistem kurulu alan
/dev/sda4: Space - Boş alan yani dosyalarınızı barındırdığınız, depoladığınız boş bir disk bölümü.
Bu listedeki sürücü etiketleri bilgisayarınızda takılı harddisk yapısına ve takılı harddisk sayısına göre değişiklik gösterebilir. Disk bölümlerinizi bu örneğe göre anlamaya çalışın.
Eğer hala disk bölümlerinden emin değilseniz, o zaman Menü> Sistem> altında GParted uygulamasını bulacaksınız. Görsel olarak size disk bölümleriniz hakkında bilgi verecektir. Orada 100 MB civarında bir disk bölümü görürsünüz . Bu bölüm boot yani önyükleme bölümüdür. Genellikle "bootable" /boot olarak da işaretlidir. Kök bölüm / olarak, takas alanı ise swap olarak işaretlidir.
3. Çalışan Manjaro Linux altına, kurulu olan Manjaro Linux diskini şöyle bir yol izleyerek bağlarsınız:
mount /dev/[manjaro sistem kurulu disk bölümü] /mnt
Örneğin, Manjaro Linux kurulu olan diskin /dev/sda3 olduğunu varsayar isek disk bağlama komutunun şöyle olması gerekir:
mount /dev/sda3 /mnt
EĞER grub ayrı bir disk bölümüne kurulmuş ise bu disk bölümünü de bağlamamız gerekir. Bunu da çalışan sistem altına ayrı bir dizine şöyle bir yol izleyerek bağlarız:
mount /dev/[GRUB kurulu disk bölümü] /mnt/boot
Bu durumda --/dev/sda1-- disk bölümünü (yukarıda verdiğimiz listeyi örnek alarak) şöyle bir komut ile bağlayacağız:
mount /dev/sda1 /mnt/boot
Not: Eğer GRUB, Manjaro (kök bölüm - / ) ile aynı bölümde kurulu ise, boot-önyükleme için ayrıca bir disk bölümü kullanılmamışsa, bu adımı uygulamanız gerekmez!
3. Değişiklikleri yaptıktan ve disk bölümlerini bağladıktan sonra, çalışan sistem altında bağladığımız dizine şu komut ile geçelim:
cd /mnt
Bağlı disklerin altına, yapacağımız işlemle ilgili dizinleri de bağlayacağız:
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t devpts pts /mnt/dev/pts/
chroot /mnt
4. mtools ve os-prober paketlerini yükleyiniz. Bu paketler GNU/Linux, Unix ve MSDOS disklerine erişim sağlamak için gereksinimleri karşılar. Yüklü işletim sistemi var ise onları algılar. İkisini birden şu komut ile yükleyebilirsiniz:
pacman -S mtools os-prober
GRUB Onarımı
BIOS Sistemler İçin
1. Aşağıdaki komutla yeni bir GRUB önyükleyici yükleyin:
grub-install /dev/sda
Not: sda grubu yükleyeceğiniz diskin tamamının ismidir. Eğer siz başka bir disk bölümüne grub yüklemek istiyorsanız lsblk -f komutu veya GParted ile disk bölümlerini kontrol edip işlemlerinize devam edin.
2. Yukarıdaki komut ile Grub kurulumunun herhangi bir hata olmadan tamamlanıp tamamlanmadığını şu komut ile kontrol edin:
grub-install --recheck /dev/sda
3. Son olarak, yeni yüklediğiniz GRUB önyükleyiciyi yapılandırın:
update-grub
İşlemleri tamamladınız! Şimdi uçbirimi kapatın ve yeniden yüklenen GRUB'u kullanmak için sisteminizi yeniden başlatın.
UEFI Systemler İçin
Uyarı: Chroot işlemlerini ve buradaki işlemleri göz önünde bulundurmayı unutmayınız.
1.) Öncelikle ESP (EFI System Partition) için tüm disk bölümlerini kontrol et. Bir ESP, booting-başlama işleri için FAT32 disk bölümü ve .efi dosyaları içerir.
Bu durumu GParted kullanarak veya uçbirimden fdisk -l komutu ile kontrol edebilirsiniz.
Not: Eğer bir EFI bölümü yoksa, bunu oluşturmanız gerekecektir. Bunun için GParted kullanın...
Type- fat32
Size- 512 mb to 1 gb
2.) Aşağıdaki komut ile /boot/efi dizini oluştur
sudo mkdir /boot/efi
3.) EFI disk bölümünü /boot/efi olarak bağlayın.
sudo mount /dev/sdXY /boot/efi
X = sürücünün harf etiketi = a,b,c ... Y = EFI diskin bölüm numarası = 1,2,3,4...
Örnek - /dev/sda4
4.) Grubu yeniden yükle.
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
5.) Grub yapılandırma dosyalarını güncelle
sudo update-grub
Not
Eğer böyle bir çıktı alırsanız
EFI variables are not supported on this system. (EFI değişkenleri bu sistemde desteklenmiyor.)
efibootmgr, dosfstools ve grub paketlerini yükleyin, 4. ve 5. adımları tekrar uygulayın.
Bu da işe yaramamış ise chroot'tan exit komutu ile çıkın ve ardından efivars modülünü yükleyin:
sudo mopdprobe efivars
ve adımları yeniden deneyin.
yine de aşağıdaki gibi ya da başka bir hata alırsan
grub-install: error: failed to get canonical path of `union'.
Chroot işlemlerini unuttun ya da birşeyleri eksik yaptın demektir.
Ayrıca bakınız
Alternatif Yöntem
ext4 Manjaro kök disk bölümünü şuna bağla: /install
vfat Manjaro efi disk bölümünü şuna bağla: /install/boot/efi
ve Grubu şöyle yükle:
grub-install --target=x86_64-efi --efi-directory=/install/boot/efi --bootloader-id=manjaro --boot-directory=/install/boot --recheck --debug
Sonra yukarıdaki chroot ve önceki işlemlerdeki gibi update-grub komutunu yeniden başlatmadan önce verebilirsin.
Destek
Destek almak için forumumuza başlık açabilirsiniz ya da açılmış başlıklardan size uygun olana yazabilirsiniz.
Ayrıca bakınız
Sorun Giderme
Arch Linux Grubu Oluşturulamadıysa
Bu işlemler ile Arch Linux grubunu kurtarmaya veya kurmaya çalışmışsanız update-grub komutu ile grub güncellemesi başarısız olabilir. Muhtemelen Arch Linux üzerinde lsb-release paketi kurulu değildir.
Ayrıca bakınız
kaynak: manjaro wiki
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!
╔═[23:21]═[ata@ata]
╚═══===═══[]>> su
Parola:
[root@ata ata]# grub-install /dev/sda
Installing for i386-pc platform.
Kurulum tamamlandı. Hata bildirilmedi.
[root@ata ata]# grub-install --recheck /dev/sda
Installing for i386-pc platform.
Kurulum tamamlandı. Hata bildirilmedi.
[root@ata ata]# update-grub
bash: update-grub: komut yok
[root@ata ata]# update-grub
bash: update-grub: komut yok
[root@ata ata]#
sorun nedir ?????
grub-mkconfig -o /boot/grub/grub.cfg
arch komutu ile güncelleyeyim dedim ondada
[root@ata ata]# grub-mkconfig -o /boot/grub/grub.cfg
Grub yapılandırma dosyası oluşturuluyor ...
Bulunan arka plan: /usr/share/grub/indir.jpg
Found Intel Microcode image
Bulunan linux kalıbı: /boot/vmlinuz-4.1-i686
Bulunan initrd kalıbı: /boot/initramfs-4.1-i686.img
Found fallback initramfs image: /boot/initramfs-4.1-i686-fallback.img
Bulunan Arch, /dev/sda2 üzerinde
/etc/grub.d/proxifiedScripts/os-prober: satır 27: /grub-mkconfig_lib: Böyle bir dosya ya da dizin yok
Found memtest86+ image: /boot/memtest86+/memtest.bin
/etc/grub.d/proxifiedScripts/os-prober: satır 27: /grub-mkconfig_lib: Böyle bir dosya ya da dizin yok
Suskunluğum asaletimdendir,her lafa verilecek cevabım var. Ama bir lafa bakarım laf mı ? diye bir de söyleyene bakarım adam mı ? diye
maalesef paket kurmuyor depoya ulaşamıyor galiba
[root@slarikan-pc /]# pacman -S mtools os-prober
uyarı: database file for 'core' does not exist
uyarı: database file for 'extra' does not exist
uyarı: database file for 'community' does not exist
uyarı: database file for 'multilib' does not exist
hata: hedef bulunamadı: mtools
hata: hedef bulunamadı: os-prober
[root@slarikan-pc /]# pacman -Syy
:: Paket veritabanları senkronize ediliyor...
hata: Could not resolve host: mirror.is.co.za hatası nedeniyle 'core.db' dosyası mirror.is.co.za adresinden alınamadı
hata: Could not resolve host: mirror.ventraip.net.au hatası nedeniyle 'core.db' dosyası mirror.ventraip.net.au adresinden alınamadı
Bahse konu paketler Arch Linux kurarken yükleniyor zaten. Eskiden dahil edilmediği oluyordu ama şimdi değil. Arch tabanlı dağıtımlarda ise zaten öntanımlı paketler bunlar. Bu arada yansı listeniz eski. Güncelleyin öncelikle.
sudo pacman-mirrors -g
sudo pacman -Syyu
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!
Manjaro olmadıda archman da oldu depo güncellemesi ama hala kurulumda yarım kalan acer aspire için hazırladığım harici bellekte grubu oluşturamadım
[root@suleyman-pc slarikan]# mount /dev/sdb2 /mnt
[root@suleyman-pc slarikan]# mount /dev/sdb1 /mnt/boot
[root@suleyman-pc slarikan]# cd /mnt
[root@suleyman-pc mnt]# mount -t proc proc /mnt/proc
[root@suleyman-pc mnt]# mount -t sysfs sys /mnt/sys
[root@suleyman-pc mnt]# mount -o bind /dev /mnt/dev
[root@suleyman-pc mnt]# mount -t devpts pts /mnt/dev/pts/
[root@suleyman-pc mnt]# chroot /mnt
[root@suleyman-pc /]# mkdir /boot/efi
mkdir: `/boot/efi' dizini oluşturulamıyor: Dosya var
[root@suleyman-pc /]# umount /dev/sdb1
[root@suleyman-pc /]# sudo mount /dev/sdXY /boot/efi
mount: special device /dev/sdXY does not exist
[root@suleyman-pc /]# sudo mount /dev/sdb1 /boot/efi
[root@suleyman-pc /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
Kurulum tamamlandı. Hata bildirilmedi.
[root@suleyman-pc /]# update-grub
bash: update-grub: komut yok
birde bu bağladığklarımızın ayırma konutlarını belirtirseniz dahi güzel olur.
sözü edilen paketler kurulu imiş yeniden kurdum ama işe yaramadı.
bash: update-grub: komut yok
[root@suleyman-pc /]# pacman -S efibootmgr dosfstools grub
uyarı: efibootmgr-15-1 güncel -- yeniden kuruluyor
uyarı: dosfstools-4.1-1 güncel -- yeniden kuruluyor
uyarı: grub-1:2.02.rc2-1 güncel -- yeniden kuruluyor
paket bağımlılıkları çözümleniyor...
varsa paketler arası çakışmalara bakılıyor...
Paketler (3) dosfstools-4.1-1 efibootmgr-15-1 grub-1:2.02.rc2-1
Toplam Kurulum Boyutu: 29,06 MiB
Güncelleme Boyutu: 0,00 MiB
:: Kuruluma onay veriyor musunuz? [E/h] e
(3/3) anahtarlıktaki anahtarlar kontrol ediliyor [----------------------] 100%
(3/3) paket bütünlüğü kontrol ediliyor [----------------------] 100%
(3/3) paket dosyaları yükleniyor [----------------------] 100%
(3/3) dosya çakışmaları kontrol ediliyor [----------------------] 100%
:: Paket değişiklikleri işleniyor...
(1/3) tekrar kuruluyor efibootmgr [----------------------] 100%
(2/3) tekrar kuruluyor dosfstools [----------------------] 100%
(3/3) tekrar kuruluyor grub [----------------------] 100%
:: Bağlantılı işlemler listesi çalışıyor...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the info directory file...
[root@suleyman-pc /]# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
Kurulum tamamlandı. Hata bildirilmedi.
Şu bağlantıya bir gözatın ==> https://bbs.archlinux.org/viewtopic.php?id=209301
archman.org - Bizi bilen iyi bilir, bilmeyen de kendi gibi bilir.!