[Çözüldü] GRUB ERROR 17

Başlatan tj, 08 Temmuz 2008 - 14:53:45

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

tj

Merhaba,

Sorunumla ilgili olarak, gerek ubuntu gerkese ubuntu türkiye sitelerinde birçok post okudum, denedim ama bilgi yetersizliğinden olsa gerek henuz bir sonuç alamadım. Toshiba u200 notebook kullanıyorum. 120 gb hdd' de xp ve ubuntu hardy kurulu. Xp' yi ubuntudan sonra kurmanın grub' ı sildiğini önceden biliyor olsaydım önlemimi alırdım, ama aceleci davranmanın cezasını şimdi çekiyorum ve günlerdir grub ı tekrar yukleyerek ubuntu ya ulaşmaya çalışıyorum.
Sırasıyla şunları denedim;
live cd ile boot ederek try ubuntu without install seçeneğiyle ubuntuyu çalıştırdım.
sudo grub
find /boot/grub/stage1 = (hd0,1) sonucuyla döndü
root (hd0,1)
setup (hd0)
quit
* her şey olması gerektiği gibi oldu
sonra reboot ettiğimde grub menusu şu seçeneklerle karşıma çıktı;
3 adet linux kerneli (recovery seçenekleriyle 6)
ve windows xp
en guncel ubuntu yu seçtiğimde grub error 17 ile karşılaştım ve ubuntuya yine ulaşamadım.
error 17 nasıl çözülür diye araştırırken, super grub disk diye bi program buldum ve denedim ama otomatik olarak sorunu çözme seçenekleri bile işe yaramadı.
biraz daha araştırınca sorunu menu.lst editleyerek çözebileceğimi anladım ve live cd uzerinden gerekli kodu terminale girerek menu.lst e ulaştım. ama menu.lst boştu, yani hiç * bir şey yazmıyordu.
Bu noktada tıkandım ve yardım istemekten başka çarem kalmadı.
zaman ayırdığınız için şimdiden teşekkürler.

izzetguntalaz

#1
GRUB ERROR 17 Bildiğim kadarıyla sd(x,y) hatasıdır.
Büyük bi ihtimalle win kurarken ubuntu nun kurulu olduğu bölümün
sda(x) numarası değişti. Menu.lst yi düzenlersen olay hallolur.

Bu disk meselesinde biraz bilgi vereyim.

Bir hdd nin ilk diskinin birincil bölümü sda1 dir ikinci birincil bölümü sda2 sonraki birincil sda3 tür.

Bir hdd de en fazla 4 adet birincil bölüm olabilir. 4. birincil bölümü oluşturursanız 5. sini oluşturamazsınız.
Bu yüzden disklere 3 birincil bölümoluşturulur. Son birincil bölümse uzatılmış mantıksal disk olarak oluşturulur.

sda3 ten sonraki sda4 uzatılmış mantıksal alanı temsil eder. Üzerine * bir şey kurulamaz.
sda4 ten sonraki ilk kurulabilir mantıksal alan sda5 tir. sda5 ten sonrası mantıksal alandır.
Bu sayı alfabe sayıları kadar gider.
Sonunu ben de bilmiyorum.

Eğer bigisayarında ikinci bir hdd varsa bu da sdb(x) olarak tanımlanıyor. (X) aynı yukarıda anlattığım gibi gidiyor.

Peki linux hangi diski sda hangini sdb yapıyor dersen ide herzaman sda oluyor. Sata sdb oluyor.
Sistemde iki sata hdd varsa o zaman da anakarttaki sata portuna hangi sırayla takıldığına bakılıyor.
(Sata 0) a takılan disk sda oluyor (sata 1) portuna takılansa sdb oluyor.

Bir örnek olarak kendi disk haritamı vereyim:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        3916    31455238+   7  HPFS/NTFS
/dev/sda2            3917        4586     5381775   83  Linux
/dev/sda3            4587        5478     7164990   83  Linux
/dev/sda4            5479       19017   108752017+   f  W95 Ext'd (LBA)
/dev/sda5            5479        6148     5381743+   6  FAT16
/dev/sda6            6149       18896   102398278+   7  HPFS/NTFS
/dev/sda7           18897       19017      971901   82  Linux swap / Solaris

Bu bölüm tablosunda 3 birincil bölüm, 3 te mantıksal bölüm var.
Bu tabloda ubuntu sda2 de kurulu.

Bu da benim menu.lst içeriğim.

title      Ubuntu 8.04.1, kernel 2.6.24-19-generic
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.24-19-generic root=UUID=6b2a70e5-88ae-4015-a37a-4f7b572f62aa ro quiet splash
initrd      /boot/initrd.img-2.6.24-19-generic
quiet

Umarım verdiğim bu bilgiler ışığında sorununu çözersin.

tj

aynı sorun bi arkadaşımın başına gelmişti. ama onda xp yerine vista kurulmuştu ve onun sorununu easy bcd diye bi programla rahatça çözmüştüm. ozaman menu.lst içeriğini görebilmiş hatta editleyebilmiştim.
fakat kendi sistemimde menu.lst boş, yani bomboş bir şey yazmıyor ki editleyeyim.

izzetguntalaz

#3
sudo blkid
çıktısı nedir ?

tj

Alıntı yapılan: izzetguntalaz - 08 Temmuz 2008 - 16:05:09
sudo blkid
çıktısı nedir ?

ubuntu@ubuntu:~$ sudo blkid
/dev/sda1: UUID="183C52003C51D978" TYPE="ntfs"
/dev/sda2: UUID="0f47932a-c81a-4fad-8c1b-efb7f2a5ca48" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda4: UUID="469C3F0D9C3EF6D1" TYPE="ntfs"
/dev/sda5: TYPE="swap" UUID="66e67a23-cc35-442f-9815-e524d2b8d2ed"
/dev/sda6: UUID="a83d53fa-c7c8-41c2-af7d-c1298adaea20" SEC_TYPE="ext2" TYPE="ext3"
/dev/loop0: TYPE="squashfs"


izzetguntalaz

#5
Kısaca menu.lst yi anlatayım.

title      (Ubuntu 8.04.1, kernel 2.6.24-19-generic) = Burası hiç önemli değil.
root      (hd0,1) = hd(0,1) sda2 demektir. Ubuntu nun kurulu olduğu bölüm.
kernel      /boot/vmlinuz-2.6.24-19-generic root=UUID=6b2a70e5-88ae-4015-a37a-4f7b572f62aa ro quiet splash
UUID numarasını "sudo blkid" komutu ile buluyoruz kurduğun sda(xy) nin karşısında yazar.
initrd      /boot/initrd.img-2.6.24-19-generic
quiet

Son olarak
/boot/vmlinuz-2.6.24-19-generic
/boot/initrd.img-2.6.24-19-generic


/boot/ klasörünün içindeki iki dosyarın isimleridir.

kalın harfle yazdıklarım açıklamadır.

izzetguntalaz

Ubuntu nerede kuruluysa yukarıdaki mesaja göre doldur.

tj

bu da fdisk -l çıktısı


ubuntu@ubuntu:~$ sudo fdisk -l
omitting empty partition (5)

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa7d0a7d0

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2550    20482843+   7  HPFS/NTFS
/dev/sda2            2551        4249    13647217+  83  Linux
/dev/sda3            4250       14592    83080147+   f  W95 Ext'd (LBA)
/dev/sda4            5101       14592    76244458+   7  HPFS/NTFS
/dev/sda5            4250        4736     3911764+  82  Linux swap / Solaris
/dev/sda6            4737        5100     2923798+  83  Linux
ubuntu@ubuntu:~$

izzetguntalaz

/boot un içinde

/boot/vmlinuz-2.6xxxx
/boot/initrd.img-2.6xxxx

dosyaları varsa
Yukarı anlattığım yöntemi uygulamaya başla bakalım ne olacak.
menu.lst nin tamamı böyle bişey olacak.




default      0

timeout      5

title      Ubuntu 8.04.1, kernel 2.6.24-19-generic
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.24-19-generic root=UUID=6b2a70e5-88ae-4015-a37a-4f7b572f62aa ro quiet splash
initrd      /boot/initrd.img-2.6.24-19-generic
quiet







Kırmızı bölümleri sen dolduracaksın. Yukarıda anlattım nasıl doldurulacağını.

izzetguntalaz

default      0

timeout      5

title      Ubuntu 8.04-generic
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.24-19-generic root=UUID=0f47932a-c81a-4fad-8c1b-efb7f2a5ca48 ro quiet splash
initrd      /boot/initrd.img-2.6.24-19-generic
quiet






Anladığım kadarıyla senin ubuntu sda2 de yani hd(0,1) de UUID yide girdim.
Sana sadece "/boot" un içindeki "vmlinuz-2.6.xx-xx-generic" ve "initrd.img-2.6.xx-xx-generic" leri bulup
uygun yere girmek kalıyor.

Bunları uygun yerlere girip /boot/grub/menu.lst nin içine kaydet.
Sonra o bahsettğin yeniden grub kurulumu yöntemini yap. Garanti vermiyorum ama olabilir.

Hiç olmadı sda2 ye yeni bir ubuntu kur. Zaten kendisi listeyi yapacak.

tj

zaman ayırdığın için tekrar teşekkürler.
anladığım kadarıyla sorun tamamen menu.lst le ilgili. galiba bu dosya tamamen silinmiş. menu.lst i açtım, yine bomboştu ve dediğin değişiklikleri yaptım. save dedim ve şu hatayı verdi.
Could not save the file /boot/grub/menu.lst..
Unexpected error: File not found

izzetguntalaz

Dosyayı şöyle aç
sudo gedit

Açılan gedit ten menu.lst yi aç değişiklikleri yap sonra kaydet.

izzetguntalaz

#12
Pardon hd02 olan ları (hd0,1) yap.

bu arada konsoldan açmak için:
sudo gedit /boot/grub/menu.lst
yazmalısın.

izzetguntalaz

Yeniden başlat ubuntu yu açacaksın.  :)

tj

hızlı cevaplarınız için teşekkürler
şimdi menu.lst içeriğinni değiştirmeye çalışıyorum.
şu anda live cd ile try ubuntu without any change to your computer seçeneğiyle yani live session user olarak login olmuş durumdayım.
menu.lst i görüyorum, açabiliyorum ama herhangi bir değişiklik yapmama izin vermiyo.
konsoldan kodla açmak istersem boş bir lst açıyo, bende boot/grub/menu.lst in içeriğini buraya kopyalayıp, gerekli değişiklşkleri yapıp save etmek istiyorum ama yine save etmeme izin vermiyo, file not found hatası veriyo.

izzetguntalaz

Alt+F2 çıkan boşluğa
gksu gedit
yazıp file > open ve /boot/grub/menu.lst yi açın değişikliği yapıp kaydedin.

tj

#16
gksudo nautilus komutuyla boot/grub/menu.lst direk açarak içinden hd0,2 leri hd0,1 le değiştirebildim. terminalden nedense açmadı. ama olsun sonuçta sorun giderildi. birde bu sorun sayesinde biraz daha şey öğrenmiş oldum. ubuntu sevgim azalmamış aksine sistemin güzelliğini ve basitliğini gördükçe arttırmıştır. sayenizde sonunda kavuştum, o kadar uğraşmıştım kurana ve herşeyini istediğim gibi ayarlayana kadar.
sabır ve vakit için teşekkür ederim.
kolay gelsin

izzetguntalaz

Çözüldü diyorsun yani. Sevindim  :)

Ya kodla açamaman benim ahmaklığım. Bağlanmamış sürücüyü sana açtırmaya çalışıyorum.
Pardon. Hata benimdi.

Gerçekten uzun bir mesajlaşma trafiği oldu.

tj

estağfurullah, o ahmaklıktan değil yoğunluktan olsa gerek. :) tekrar teşekkürler

heartsmagic

Sorun güzel bir şekilde çözülmüş. Etiketleyip kapatıyorum.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.