Error 11: Unrecognized Device String Hatası ve Çözümü

Bu konuyu okuyanlar

yumluanarsist

Rektör
Katılım
11 Haziran 2009
Mesajlar
12,009
Reaksiyon puanı
280
Puanları
0
Arkadaşlar öncelikle şu anki mutluluğumu ve suratımdaki aptal gülümsemeyi anlatmanın hiçbir yolunun olmadığını söylemem lazım. :D Haftalardır tembelliğimden uğraşmadığım, Karmic Koala CD'm geldiğinde bile format atıp ext4'lü Ubuntu'ma geçmediğim Jaunty Jackalope kurulumum, GRUB'taki bir hata sebebiyle ulaşamadığım bir konumdaydı. Başlattığımda yazdığı hata:

Kod:
root        e2074b73-750b-4442-8533-9849422f47b2
Error 11: Unrecognized Device String
Press any key...
Sonundaki "Press any key..." gibi bir şeydi. Bir tuşa bastığımda Windows'a giriyordu.

Şu meşhur ve birazdan göreceğiniz temamı bir daha bulamam diye format atmama kararı aldığımdan beri uğraşıyorum, yani bir gündür. :) Sabah başarısız olan home klasörü yedekleme girişimlerimin ardından direk soruna odaklandım ve çözdüm. Forumlarda arama yapmıştım ama inanın pek bir bilgi yok, sadece bu hatayı alan birinin açtığı bir konu vardı (İngilizce Ubuntu forumunda), o konuda birinin bahsettiği öneri (mantıklıydı da aynı zamanda) sorunu çözmeme yardım etti. :)

Şimdi olay şu. Ben güncelleştirmeleri yaptığımda kernel güncelleştirmesini de yapmıştı ve bilgisayarı tekrar başlattığımda başlamamıştı. Yukarıdaki hatayı alıyordum. Normalde kernel sürümü 2.6.28-15'ti. Güncelleme sonrası 2.6.28-16 olmuştu. Bir kernel güncellemesi neden menu.lst dosyasını düzenlerken hata yaptı bilmiyorum ancak 4 harfçik bir hata vardı ortada. :)

Peki ben ne yaptım? Öncelikle hangi sürümü kullanıyorsanız, herhangi bir hatayı düzeltmek için veya yedekleme yapmak için Live CD ile sistemi açacağınız zaman kesinlikle kurulu olan sürümün CD'sini kullanın. Benim sistemimde Jaunty Jackalope yüklüydü, yine onun CD'si ile yaptım düzeltmeleri. Yazıyı okurken daha anlaşılır olması için bazı şeyleri açıklayayım:

Jaunty Jackalope GRUB'u kullanıyor, Karmic Koala ise GRUB2'yi. Bootloader ayarlarının bulunduğu dosya GRUB'ta /boot/grub/menu.lst olarak bulunurken, GRUB2'de /boot/grub/grub.cfg olarak bulunuyor.

Hataya sebebiyet veren kavramlar: root ve uuid kavramları. uuid (Universally Unique Identifier), depolama aygıtınıza verilen bir tanımlama kodudur. Ubuntu'nun yeni kernel güncelleştirmesinde normalde root yazan kısımlarda artık uuid yazıyor ve her nasılsa güncelleştirmeler sonucu menu.lst düzenlenirken root yerine uuid yazılmıyor ve sonuç: (Bkz: Error 11: Unrecognized Device String)

Düzeltmek için:

-Kurulu sisteminizin CD'si ile canlı oturumu (live session) açın.

-Uygulamalar (Applications) > Donatılar (Accessories) > Uçbirim (Terminal)'i açın.

-sudo su yazıp enter'a basarak root yetkileri alın.

-Ardından cd yazıp enter'a basarak ana dizine gelin.

-fdisk -l yazarak Linux bölümünüzün olduğu kısımdaki /dev/sdax değerini öğrenin:

57577227.png


Görüldüğü üzere benim Linux kurulu kısmım /dev/sda6 ile gösteriliyor. Bundan sonraki işlemlerde bunu baz alıyorum. Siz de 6 yerine kendi sisteminizdeki sayıyı yazacaksınız.

-Ardından mount /dev/sda6 /mnt yazın ve enter'a basın.

-Sonrasında gedit /mnt/boot/grub/menu.lst yazın ve enter'a basın. Bu, menu.lst'i açacak.

Benim menu.lst'im şöyleydi:

Kod:
gfxmenu /boot/grub/102998-message.vitruvian
# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default        0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout        1

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title        Windows 95/98/NT/2000
# root        (hd0,0)
# makeactive
# chainloader    +1
#
# title        Linux
# root        (hd0,1)
# kernel    /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=e2074b73-750b-4442-8533-9849422f47b2

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(single-user) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

# This is a divider, added to separate the menu items below from the Debian
# ones.
        


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title        Windows 7
rootnoverify    (hd0,0)
savedefault
makeactive
chainloader    +1


           Other operating systems:

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda4
title        Windows Vista Kurtarma (Bunu Secme)
rootnoverify    (hd0,3)
savedefault
makeactive
chainloader    +1

           Ubuntu:

title        Debian GNU/Linux, kernel 2.6.28-16-generic
[COLOR=Red][B]root[/B][/COLOR]        e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/vmlinuz-2.6.28-16-generic root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro quiet splash
initrd        /boot/initrd.img-2.6.28-16-generic

title        Debian GNU/Linux, kernel 2.6.28-16-generic (recovery mode)
[COLOR=Red][B]root[/B][/COLOR]       e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/vmlinuz-2.6.28-16-generic root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro single
initrd        /boot/initrd.img-2.6.28-16-generic

title        Debian GNU/Linux, kernel 2.6.28-15-generic
[COLOR=Red][B]root[/B][/COLOR]        e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/vmlinuz-2.6.28-15-generic root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro quiet splash
initrd        /boot/initrd.img-2.6.28-15-generic

title        Debian GNU/Linux, kernel 2.6.28-15-generic (recovery mode)
[COLOR=Red][B]root[/B][/COLOR]       e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/vmlinuz-2.6.28-15-generic root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro single
initrd        /boot/initrd.img-2.6.28-15-generic

title        Debian GNU/Linux, kernel 2.6.28-11-generic
[COLOR=Red][B]root[/B][/COLOR]        e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/vmlinuz-2.6.28-11-generic root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro quiet splash
initrd        /boot/initrd.img-2.6.28-11-generic

title        Debian GNU/Linux, kernel 2.6.28-11-generic (recovery mode)
[COLOR=Red][B]root[/B][/COLOR]        e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/vmlinuz-2.6.28-11-generic root=UUID=e2074b73-750b-4442-8533-9849422f47b2 ro single
initrd        /boot/initrd.img-2.6.28-11-generic

title        Debian GNU/Linux, kernel memtest86+
[COLOR=Red][B]root[/B][/COLOR]        e2074b73-750b-4442-8533-9849422f47b2
kernel        /boot/memtest86+.bin

### END DEBIAN AUTOMAGIC KERNELS LIST
Yukarıda root yazan yerler aslında güncelleştirmeden sonra uuid olarak değişmeliydi. Ama bu değişmediği için hata alıyordum. Yapacağınız tek şey, root'ları silip yerine uuid yazmak. Çünkü root kavramı (hdx,y) olarak tanımlanıyor. Fakat uuid ise e2074b73-750b-4442-8533-9849422f47b2 olarak tanımlanıyor. İşte asıl sorun buradan çıkıyor. Buna örnek vermek gerekirse; patronunuza Ali dediğinizi varsayalım. Yeni bir düzenleme ile karar alınıyor ve artık patronunuza Veli demeniz isteniyor. Fakat siz hala ısrarla Ali demeye devam ettiğinizde kimseye ulaşamıyorsunuz. İşte bu da anlatamasam da böyle bir şey. :D Neyse, düzenlemeleri yaptıktan sonra kaydedip bilgisayarı tekrar başlattığınızda kurulu sisteminize ulaşabileceksiniz. :)

Bu arada hatayı çözmemde büyük katkısı olan menu.lst.yedek dosyamdan da bahsetmeden edemeyeceğim. GRUB ekranının görünümünü değiştirirken yedek almıştım
/boot/grub/menu.lst.yedek olarak. Kernel güncellemesinden sonra root'un uuid olmadığını görmemi sağlayan yedek dosyasına ve emeği geçen tüm CD'lerime, bir de kendime çok çok teşekkürler. :rolleyes:

Bu sebeple çalışan menu.lst dosyanızı yedeklemeniz şiddetle tavsiye edilir. Dosyayı yine /boot/grub altında yedekleyebilirsiniz.

Son olarak, meşhur temam:

ekrangrntsw.png





Ama ben ne kadar tembel bir insanım ki, sırf tekrar ayar yapmak zorunda kalmayayım diye Karmic Koala kurmaktan şu an şu saniye vazgeçmiş durumdayım. :D Aslında ext4'e geçmek istiyorum ama belki seneye, ben gelişmeleri geriden takip edeyim de arkada kalan olmasın ama, değil mi? :rolleyes:


Ve gitmeden önce, yine o müthiş sözle bu güzel şarkıyı bitirmek istiyorum. :)

Linux for Human Beings... (Especially, right now it's absolutely for my beings... :rolleyes:)
 

Exploit Coder

Profesör
Katılım
15 Nisan 2009
Mesajlar
1,534
Reaksiyon puanı
26
Puanları
0
Bu hata Bölüm yolunun yanlış olduğunun hatası ve senin anlattığın çözüm yolu ise grub2 de ki adresi düzeltmek değil mi?

Konuyu okumadım ondan soruyorum. Teşekkürler.
 

yumluanarsist

Rektör
Katılım
11 Haziran 2009
Mesajlar
12,009
Reaksiyon puanı
280
Puanları
0
Bu hata Bölüm yolunun yanlış olduğunun hatası ve senin anlattığın çözüm yolu ise grub2 de ki adresi düzeltmek değil mi?

Konuyu okumadım ondan soruyorum. Teşekkürler.

Hayır değil. Aygıt kimliğini tanımlayan kavramın güncellenmemesi gibi bir hata ve GRUB için geçerli. GRUB2'de de gerçekleşebilir tabii ki bu hata.
 
Üst